Optimize composer and chat list Compose hot paths#1506
Conversation
|
Ready to review this PR? Stage has broken it down into 4 individual chapters for you: Chapters generated by Stage for commit 0f47520 on Jul 17, 2026 11:57am UTC. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughChangesThe PR memoizes reply preview computations and chat search data, moves emoji filtering off the composition thread, and replaces chat scroll-derived state with Compose hot-path optimizations
Estimated code review effort: 3 (Moderate) | ~20 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Preview APK for PR #1506Home-screen label: 1506 White Noise with the blueprint launcher icon — installs side-by-side with the production and staging apps. Install directly — one tap, no GitHub sign-in (public, content-addressed Every push to this PR rebuilds and updates this comment. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@app/src/test/java/dev/ipf/whitenoise/android/ui/ComposeHotPathCoverageTest.kt`:
- Around line 12-15: Update reply-branch extraction in
ComposeHotPathCoverageTest to locate both the “replyingTo != null” and live
`@-mention` picker markers explicitly, requiring each marker to exist before
slicing. Use the validated marker positions to extract only the intended branch,
preserving the existing assertions and failing closed when either marker is
missing.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: f2a0ce81-a28d-4b71-a4da-f717372fc842
📒 Files selected for processing (3)
app/src/main/java/dev/ipf/whitenoise/android/ui/conversation/composer/ComposerBar.ktapp/src/main/java/dev/ipf/whitenoise/android/ui/conversation/composer/EmojiPicker.ktapp/src/test/java/dev/ipf/whitenoise/android/ui/ComposeHotPathCoverageTest.kt
🚧 Files skipped from review as they are similar to previous changes (2)
- app/src/main/java/dev/ipf/whitenoise/android/ui/conversation/composer/ComposerBar.kt
- app/src/main/java/dev/ipf/whitenoise/android/ui/conversation/composer/EmojiPicker.kt
Summary
Verification
git diff --checkCloses #1498
Closes #1503
Closes #1504
Summary by CodeRabbit
Performance
Tests