fix: narrow YieldExplainers action prop type to remove unused claim variant - #12073
Conversation
📝 WalkthroughWalkthroughThe Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🧪 QA ReportChanges Reviewed
Code Review ✅
Testing Required
VerdictApproved. CI passes ✅ No runtime impact. |
🤖 QABot Report (2026-03-03)Testing completed. See dashboard for full results. 📊 Dashboard: |
NeOMakinG
left a comment
There was a problem hiding this comment.
QABot Code Review ✅
Summary: Type narrowing is correct and verified.
Analysis:
YieldExplainerscomponent is only rendered when!isManageActionisManageAction = isClaimAction || isWithdrawAction- Therefore,
YieldExplainersis never called with'claim'or'withdraw' - Removing unused
'claim'variant is correct
Risk: None - type-only change with no runtime impact.
Already has QABot test: https://qabot-kappa.vercel.app/runs/8db66f0a-18b6-4eb9-89cd-f65375c53fa7
gomesalexandre
left a comment
There was a problem hiding this comment.
Previously tested and confirmed gucci
gomesalexandre
left a comment
There was a problem hiding this comment.
Code looks good — narrowing the action prop type to remove the unused claim variant is a clean cleanup. Already tested previously. ✅
* fix: copy patches dir in public-api Dockerfile for pnpm install pnpm requires the patches directory during install (not just scripts) because patched dependencies are referenced in the lockfile. The --ignore-scripts flag alone doesn't prevent pnpm from reading patch files during dependency resolution. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add .railwayignore to reduce snapshot size for public-api deploys Railway's "Failed to snapshot repository" error is caused by the repo being too large (~74MB tracked files). This excludes frontend source, images, tests, and other files not needed for the public-api Dockerfile build from Railway's pre-build snapshot. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Revert "fix: add .railwayignore to reduce snapshot size for public-api deploys" This reverts commit 473f2d3. * Revert "fix: copy patches dir in public-api Dockerfile for pnpm install" This reverts commit a0618c1. * fix: unrug Railway CI - copy patches dir and add .railwayignore (#12099) * fix: unrug public-api Railway CI - copy patches dir and add .railwayignore Two fixes for Railway deployment failures: 1. Copy patches/ directory in Dockerfile before pnpm install - pnpm requires patch files during install even with --ignore-scripts because patched dependencies are referenced in the lockfile. 2. Add .railwayignore to reduce repo snapshot size - Railway's "Failed to snapshot repository" error was caused by the repo being ~74MB of tracked files. Excludes frontend source, images, tests, and other files not needed for the public-api Docker build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add patches dir to swap-widget Dockerfile and update .railwayignore The swap-widget Dockerfile had the same missing patches/ dir bug as public-api — pnpm install fails with ENOENT for patched dependencies. Also add swap-widget *.md exception to .railwayignore. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * fix: use copy package-import-method in Docker to avoid pnpm ENOENT (#12100) * fix: use copy package-import-method in Docker to avoid pnpm ENOENT pnpm's default hard-link strategy fails intermittently on Docker's overlay filesystem with "ENOENT: rename _tmp -> secp256k1". Setting package-import-method=copy via env var (Docker-only, doesn't affect local dev .npmrc) fixes the atomic rename race condition. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add retry loop for pnpm install in Docker builds The ENOENT rename failure persists even with package-import-method=copy because pnpm's hoisting/linking phase still does atomic renames that race on Docker's overlay filesystem. Since it's intermittent and all packages are cached in the store after the first attempt, a retry with clean node_modules is fast and reliable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: restrict swap-widget tsconfig types to prevent auto-discovery Without an explicit `types` field, TypeScript auto-discovers all @types/* packages hoisted to root node_modules. The deprecated stub @types/ethereumjs-util (from hdwallet-ledger devDeps) has no .d.ts files, causing TS2688 during Docker builds. Restricting to ["vite/client"] matches the pattern used by the root tsconfig. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * feat: speed up stuck btc transactions via rbf (#11885) * fix: railway build with pnpm (#12107) * feat: thorchain solana lp integration (#12037) * fix: narrow YieldExplainers action prop type to remove unused claim variant (#12073) * fix: always refresh account balances after swap completion (#12106) * chore: unify claude and codex instruction entrypoints (#12119) * feat: idempotent release script state machine (#12110) * feat: bebop solana swapper take 2 (#12111) * chore: remove unused @chainflip/rpc and @chainflip/extrinsics deps (#12109) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: gomes-bot <contact@0xgom.es> Co-authored-by: kevin <35275952+kaladinlight@users.noreply.github.com> Co-authored-by: gomes <17035424+gomesalexandre@users.noreply.github.com> Co-authored-by: NeOMakinG <14963751+NeOMakinG@users.noreply.github.com>
* chore: prerelease v1.1016.0 (#12127) * fix: copy patches dir in public-api Dockerfile for pnpm install pnpm requires the patches directory during install (not just scripts) because patched dependencies are referenced in the lockfile. The --ignore-scripts flag alone doesn't prevent pnpm from reading patch files during dependency resolution. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add .railwayignore to reduce snapshot size for public-api deploys Railway's "Failed to snapshot repository" error is caused by the repo being too large (~74MB tracked files). This excludes frontend source, images, tests, and other files not needed for the public-api Dockerfile build from Railway's pre-build snapshot. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Revert "fix: add .railwayignore to reduce snapshot size for public-api deploys" This reverts commit 473f2d3. * Revert "fix: copy patches dir in public-api Dockerfile for pnpm install" This reverts commit a0618c1. * fix: unrug Railway CI - copy patches dir and add .railwayignore (#12099) * fix: unrug public-api Railway CI - copy patches dir and add .railwayignore Two fixes for Railway deployment failures: 1. Copy patches/ directory in Dockerfile before pnpm install - pnpm requires patch files during install even with --ignore-scripts because patched dependencies are referenced in the lockfile. 2. Add .railwayignore to reduce repo snapshot size - Railway's "Failed to snapshot repository" error was caused by the repo being ~74MB of tracked files. Excludes frontend source, images, tests, and other files not needed for the public-api Docker build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add patches dir to swap-widget Dockerfile and update .railwayignore The swap-widget Dockerfile had the same missing patches/ dir bug as public-api — pnpm install fails with ENOENT for patched dependencies. Also add swap-widget *.md exception to .railwayignore. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * fix: use copy package-import-method in Docker to avoid pnpm ENOENT (#12100) * fix: use copy package-import-method in Docker to avoid pnpm ENOENT pnpm's default hard-link strategy fails intermittently on Docker's overlay filesystem with "ENOENT: rename _tmp -> secp256k1". Setting package-import-method=copy via env var (Docker-only, doesn't affect local dev .npmrc) fixes the atomic rename race condition. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add retry loop for pnpm install in Docker builds The ENOENT rename failure persists even with package-import-method=copy because pnpm's hoisting/linking phase still does atomic renames that race on Docker's overlay filesystem. Since it's intermittent and all packages are cached in the store after the first attempt, a retry with clean node_modules is fast and reliable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: restrict swap-widget tsconfig types to prevent auto-discovery Without an explicit `types` field, TypeScript auto-discovers all @types/* packages hoisted to root node_modules. The deprecated stub @types/ethereumjs-util (from hdwallet-ledger devDeps) has no .d.ts files, causing TS2688 during Docker builds. Restricting to ["vite/client"] matches the pattern used by the root tsconfig. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * feat: speed up stuck btc transactions via rbf (#11885) * fix: railway build with pnpm (#12107) * feat: thorchain solana lp integration (#12037) * fix: narrow YieldExplainers action prop type to remove unused claim variant (#12073) * fix: always refresh account balances after swap completion (#12106) * chore: unify claude and codex instruction entrypoints (#12119) * feat: idempotent release script state machine (#12110) * feat: bebop solana swapper take 2 (#12111) * chore: remove unused @chainflip/rpc and @chainflip/extrinsics deps (#12109) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: gomes-bot <contact@0xgom.es> Co-authored-by: kevin <35275952+kaladinlight@users.noreply.github.com> Co-authored-by: gomes <17035424+gomesalexandre@users.noreply.github.com> Co-authored-by: NeOMakinG <14963751+NeOMakinG@users.noreply.github.com> * fix: bebop solana signing + thorchain solana lp compute budget (#12132) * fix: bebop solana signing + reject amm-routed quotes (#12147) * fix: cherry-pick #12148 - bebop solana ghost tx + malformed amm routes (#12151) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: gomes-bot <contact@0xgom.es> Co-authored-by: kevin <35275952+kaladinlight@users.noreply.github.com> Co-authored-by: gomes <17035424+gomesalexandre@users.noreply.github.com> Co-authored-by: NeOMakinG <14963751+NeOMakinG@users.noreply.github.com>
chore: release v1.1016.0 (#12128) * chore: prerelease v1.1016.0 (#12127) * fix: copy patches dir in public-api Dockerfile for pnpm install pnpm requires the patches directory during install (not just scripts) because patched dependencies are referenced in the lockfile. The --ignore-scripts flag alone doesn't prevent pnpm from reading patch files during dependency resolution. * fix: add .railwayignore to reduce snapshot size for public-api deploys Railway's "Failed to snapshot repository" error is caused by the repo being too large (~74MB tracked files). This excludes frontend source, images, tests, and other files not needed for the public-api Dockerfile build from Railway's pre-build snapshot. * Revert "fix: add .railwayignore to reduce snapshot size for public-api deploys" This reverts commit 473f2d3. * Revert "fix: copy patches dir in public-api Dockerfile for pnpm install" This reverts commit a0618c1. * fix: unrug Railway CI - copy patches dir and add .railwayignore (#12099) * fix: unrug public-api Railway CI - copy patches dir and add .railwayignore Two fixes for Railway deployment failures: 1. Copy patches/ directory in Dockerfile before pnpm install - pnpm requires patch files during install even with --ignore-scripts because patched dependencies are referenced in the lockfile. 2. Add .railwayignore to reduce repo snapshot size - Railway's "Failed to snapshot repository" error was caused by the repo being ~74MB of tracked files. Excludes frontend source, images, tests, and other files not needed for the public-api Docker build. * fix: add patches dir to swap-widget Dockerfile and update .railwayignore The swap-widget Dockerfile had the same missing patches/ dir bug as public-api — pnpm install fails with ENOENT for patched dependencies. Also add swap-widget *.md exception to .railwayignore. --------- * fix: use copy package-import-method in Docker to avoid pnpm ENOENT (#12100) * fix: use copy package-import-method in Docker to avoid pnpm ENOENT pnpm's default hard-link strategy fails intermittently on Docker's overlay filesystem with "ENOENT: rename _tmp -> secp256k1". Setting package-import-method=copy via env var (Docker-only, doesn't affect local dev .npmrc) fixes the atomic rename race condition. * fix: add retry loop for pnpm install in Docker builds The ENOENT rename failure persists even with package-import-method=copy because pnpm's hoisting/linking phase still does atomic renames that race on Docker's overlay filesystem. Since it's intermittent and all packages are cached in the store after the first attempt, a retry with clean node_modules is fast and reliable. * fix: restrict swap-widget tsconfig types to prevent auto-discovery Without an explicit `types` field, TypeScript auto-discovers all @types/* packages hoisted to root node_modules. The deprecated stub @types/ethereumjs-util (from hdwallet-ledger devDeps) has no .d.ts files, causing TS2688 during Docker builds. Restricting to ["vite/client"] matches the pattern used by the root tsconfig. --------- * feat: speed up stuck btc transactions via rbf (#11885) * fix: railway build with pnpm (#12107) * feat: thorchain solana lp integration (#12037) * fix: narrow YieldExplainers action prop type to remove unused claim variant (#12073) * fix: always refresh account balances after swap completion (#12106) * chore: unify claude and codex instruction entrypoints (#12119) * feat: idempotent release script state machine (#12110) * feat: bebop solana swapper take 2 (#12111) * chore: remove unused @chainflip/rpc and @chainflip/extrinsics deps (#12109) --------- * fix: bebop solana signing + thorchain solana lp compute budget (#12132) * fix: bebop solana signing + reject amm-routed quotes (#12147) * fix: cherry-pick #12148 - bebop solana ghost tx + malformed amm routes (#12151) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: gomes-bot <contact@0xgom.es> Co-authored-by: kevin <35275952+kaladinlight@users.noreply.github.com> Co-authored-by: gomes <17035424+gomesalexandre@users.noreply.github.com> Co-authored-by: NeOMakinG <14963751+NeOMakinG@users.noreply.github.com>
Description
Narrows the YieldExplainers action prop type to remove unused
claimvariant.Changes
'enter' | 'exit' | 'claim'to'enter' | 'exit'Testing
Type-only change - no runtime behavior change. CI build verification.
QA Report ✅
Tested: 2026-03-03
Tester: QABot (CI Verification)
Branch: fix/11824-yield-explainers-type
Test Results
claimvariantVerification
Verified code change removes unused
claimfrom action union type. CI static checks (TypeScript + lint) passed.QABot Report: https://qabot-kappa.vercel.app/runs/8db66f0a-18b6-4eb9-89cd-f65375c53fa7