You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gather context (diff, surrounding code, no root CLAUDE.md found)
Review changes for correctness bugs, security issues, regressions
Post inline review comments — not possible: the workflow token denies gh api .../pulls/reviews, so findings are posted here with file/line references instead (see FAQ)
Post summary
The core fix is sound: bottomInset in BBPullableBody correctly adds scroll extent equal to the pinned bar (52 + 16×2 matches BBButton.big's default height of 52 and the bar's vertical padding, plus safe-area bottom), short content stays unscrollable because SliverFillRemaining absorbs the inset, and the new widget test covers the regression well. No security issues. But the PR also changes two things beyond the described fix, and one of them looks like a real regression.
Likely regression
1. The price chart loses ~78dp of drawing height — lib/features/wallet/ui/widgets/wallet_home_top_section.dart:24
The dark area shrank from 264 + 78 = 342 to 264. When the chart is toggled on (from the wallet home app bar), PriceChartWidget fills that area, and its fixed parts — Gap(72) + price display (~110dp) + Gap(16) + EdgeInsets.only(bottom: 40) — consume ~235dp. The Expanded chart canvas absorbs the entire 78dp loss, dropping from roughly ~105dp to ~30dp tall; with a modest system text-scale bump it can reach 0 and the chart line disappears. The demo video only shows the balance view — please check the chart toggle on this branch. If the shorter area is intended, PriceChartWidget's internal spacing (72dp top gap / 40dp bottom padding in lib/features/bitcoin_price/ui/price_chart_widget.dart:123-128) needs to shrink with it. Fix this →
Worth confirming
2. The top section is now permanently pinned — lib/features/wallet/ui/screens/wallet_home_screen.dart:130
Switching SliverToBoxAdapter → PinnedHeaderSliver means the 340dp header never scrolls away. On small devices (568dp-tall iPhone SE class) that leaves only ~150dp of visible scroll window between the pinned header and the bottom bar for announcements + warnings + banners + all wallet cards. Everything stays reachable thanks to bottomInset, so this isn't a bug — but it's a substantial UX change not mentioned in the PR description; worth confirming it's intended and acceptable on small screens.
3. Balance layout has less slack under large text scale — lib/features/wallet/ui/widgets/wallet_home_top_section.dart:121
Replacing MainAxisAlignment.center with a fixed Gap(123) in a container that also shrank by 78dp: with an unconfirmed incoming balance visible (~+50dp of extra rows) the column sits at ~255dp of the 264dp available, so a small text-scale increase overflows the SizedBox (striped overflow in debug, clipped in release). The old centered layout redistributed this automatically.
Nits
lib/features/wallet/ui/screens/wallet_home_screen.dart:24 — _bottomBarHeight = 52.0 + 16.0 * 2 silently duplicates BBButton.big's default height and the padding around WalletBottomButtons. If either changes, the inset under-reserves and the hidden-last-card bug quietly returns; a shared constant would prevent drift.
The bottom 76dp of the pinned section is transparent in the 13px strips beside the ActionCard, so scrolled content can show through there and taps in those strips pass through to content hidden under the header. Wallet cards share the 13px padding so this is likely invisible in practice — just flagging it.
The WalletCards gap change (trailing → between-items) also removes the 8dp trailing gap on the pay/sell wallet-selection screens — cosmetic and probably fine, but it does touch those screens.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The last wallet card was hidden behind the
Receive/Sendbuttons and couldn't be scrolled into view. The list now reserves space for them.Screen.Recording.2026-08-17.at.12.35.51.PM.mov