fix: render IRM kink chart without smoothing#651
Conversation
Use straight Chart.js line segments for IRM APY datasets so kinked rate models keep the visible slope change at the sampled kink point.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: euler-xyz/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughChanges IRM Chart Line Style
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
🚅 Deployed to the euler-lite-pr-651 environment in euler-lite
|
LeonardEulerXYZ
left a comment
There was a problem hiding this comment.
Leonard review — PR #651
Verdict: Comment — no blocking findings found for the current head 091016c69ae25f556959c59b8938e9820a3b997f.
Scope reviewed:
components/entities/vault/overview/VaultOverviewBlockIRM.vue- Change: both IRM Chart.js datasets now use
tension: 0, so Borrow APY and Supply APY render as straight segments instead of smoothed curves.
Risk assessment:
- Behavior changed is presentation-only: the sampled IRM data, kink sample injection, annotation placement, APY readouts, RPC reads, and visibility gate are unchanged.
- The change is applied symmetrically to Borrow APY and Supply APY, so the chart no longer visually invents curvature around the kink for either series.
- I did not find sibling IRM chart surfaces using the same Chart.js smoothing behavior.
VaultOverviewBlockCyclicalIRM.vueis a separate visualization and out of scope for this specific kink-chart smoothing fix.
Validation performed:
npx eslint components/entities/vault/overview/VaultOverviewBlockIRM.vue— passnpm run typecheck— passnpm run build— pass; only existing Nuxt/Vite/Rollup-style build warnings observed- Browser visual smoke on the PR preview route
/lend/0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2?network=1- Desktop viewport: IRM section renders with a visible kink chart and expected labels/readouts.
- Mobile viewport: opened
Vault information, scrolled to the IRM section, and verified the chart/readouts render there too. - Smoke coverage: browser visual smoke + mobile smoke. Wallet/signing coverage not applicable and not run.
Visual evidence:
Desktop — IRM chart renders with straight kink behavior and visible current/kink labels.
Mobile — Vault information modal scrolled to the IRM section; chart and parameter readouts are visible.
Scalability / maintainability hygiene:
- This is the narrowest reasonable fix for the stated visual defect: the smoothing setting lives at the dataset level and there are exactly two affected datasets in this component.
- No reusable business/display logic was introduced, so there is no new one-off helper to extract.
- A focused component-level regression test for “IRM datasets use zero tension” would make the visual invariant explicit, but for this two-line chart option fix I do not consider the absence of such a test blocking.
Bot/reviewer feedback:
- CodeRabbit reported no actionable comments for this head. I verified the changed surface directly rather than treating that as authority.


Summary
Changes
Test plan
npx eslint components/entities/vault/overview/VaultOverviewBlockIRM.vue.npm run typecheck./lend/0xD8b27CF359b7D15710a5BE299AF6e7Bf904984C2?network=1locally and verified the IRM chart renders with one canvas and no chart error.Summary by CodeRabbit