fix(mobile): prevent overlapping Android thread rows - #10901
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe thread feed now disables ChangesThread feed layout animation
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to Android thread rows now use standard layout positioning to prevent overlap after thread switches or app resumes, while iOS behavior remains unchanged. No merge-blocking risk is identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
What Changed
Use LegendList's ordinary row positioning and sizing on Android. Work-detail expansion reflows immediately there; iOS keeps its existing disclosure transitions.
Why
Fixes #5340. Long Android conversations can retain overlapping rows after switching threads or returning from another app. Even the existing zero-duration layout transition selects animated list containers. Keeping
itemLayoutAnimationundefined on Android avoids that path consistently, without remounting the feed on resume.Reproduced on a physical Redmi Note 8 Pro (Android 11) with the current native build and three seeded long conversations. With the change installed, eight thread switches and five returns from Android Settings kept messages separated. Mobile typecheck and targeted formatting/lint passed (lint has existing warnings outside this diff).
This only changes the shared Android thread feed. It applies across providers and connection modes; no server or contract changes are needed. Web, desktop, and iOS behavior is unchanged.
UI Changes
Video
Before
before-small.mp4
After
after-small.mp4
Checklist
Model: GPT-6. Harness: Codex.