Skip to content

fix(compose): resolve critical recomposition performance issues#834

Merged
bmc08gt merged 1 commit into
code/cashfrom
fix/critical-compose-performance
Jun 3, 2026
Merged

fix(compose): resolve critical recomposition performance issues#834
bmc08gt merged 1 commit into
code/cashfrom
fix/critical-compose-performance

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator
  • Fix backwards write in AmountTextAnimated: replace mutable state write in composition body with remember-derived value, eliminating double recompose on every keystroke across amount entry screens
  • Defer shimmer alpha read to draw phase using drawWithCache, preventing ~48 recompositions per frame during skeleton loading
  • Wrap bitmap decode in remember in CashBill.loadBillAsset to avoid re-decoding on every recomposition

@bmc08gt bmc08gt self-assigned this Jun 3, 2026
@github-actions github-actions Bot added area: payments Payments, transfers, intents, billing area: ui Compose UI, theme, components, resources type: fix Bug fix labels Jun 3, 2026
- Fix backwards write in AmountTextAnimated: replace mutable state write
  in composition body with remember-derived value, eliminating double
  recompose on every keystroke across amount entry screens
- Defer shimmer alpha read to draw phase using drawWithCache, preventing
  ~48 recompositions per frame during skeleton loading
- Wrap bitmap decode in remember in CashBill.loadBillAsset to avoid
  re-decoding on every recomposition
@bmc08gt bmc08gt force-pushed the fix/critical-compose-performance branch from bd3f4a8 to beb3d0a Compare June 3, 2026 16:26
@bmc08gt bmc08gt merged commit b6a1f61 into code/cash Jun 3, 2026
3 checks passed
@bmc08gt bmc08gt deleted the fix/critical-compose-performance branch June 3, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: payments Payments, transfers, intents, billing area: ui Compose UI, theme, components, resources type: fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant