Fix large QR export layout - #868
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
3cf6afb to
ab96aa4
Compare
Greptile SummaryThe PR keeps animated QR exports within the available width on both mobile platforms and adds platform-specific regression coverage.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Important Files Changed
Reviews (2): Last reviewed commit: fffd318 | Re-trigger Greptile |
| @Composable | ||
| private fun QrExportProgressIndicator( | ||
| qrCount: Int, | ||
| currentIndex: Int, | ||
| modifier: Modifier = Modifier, | ||
| ) { |
There was a problem hiding this comment.
Cover Android Canvas measurement
The new indicator relies on Compose-specific Canvas measurement, density conversion, and pixel rendering for hundreds of frames, but the regression test covers only the SwiftUI implementation. Add an Android layout test using the large frame count so later changes cannot reintroduce overflow, clipping, or collapsed segments on Android.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
fffd318 to
e12e649
Compare
Keep animated QR frame indicators within the available width when large transactions create many frames. Apply the same bounded layout on iOS and Android.
Adds an Android Compose instrumentation test that verifies the QR export progress indicator scales to available width for many frames (250), keeps expected dimensions, and renders visible/different colors at both ends. Updates `QrExportProgressIndicator` visibility from `private` to `internal` so the test can access it.
e12e649 to
68fa794
Compare
Summary
Root cause
Large transactions create many animated QR frames. The old indicator added a fixed gap for every frame. With enough frames, the gaps made the indicator wider than the screen and expanded the QR layout with it.
User impact
Transaction export QR codes stay fully visible and scannable when the user selects many UTXOs.
Validation
just fmtjust clippyjust lint-swiftjust lint-androidjust compile-androidjust build-iosxcodebuild -scheme Cove -sdk iphonesimulator -arch arm64 build-for-testingThe iOS test bundle compiled successfully. No simulator device was installed, so the focused iOS test did not run locally.