Repository navigation
fix(mobile): Android Thread settings rows no longer vanish with animations removed - #21757
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Thread settings rows skip entering and exiting fades when reduced motion is enabled, avoiding the reported invisible-row behavior. The change is presentation-only and leaves settings, selections, and ordinary-motion behavior unchanged. You can add or adjust custom eligibility rules. Learn more. |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
| Layer / File(s) | Summary |
|---|---|
Reduced-motion animation readiness apps/mobile/src/features/threads/ThreadSettingsSheet.tsx |
The component derives animation readiness from list loading and useReducedMotion(). The list-load callback now updates the list-loaded state. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Suggested labels: 📱 Native Change
Suggested reviewers: juliusmarminge
Merge Risk: 
Minimal · previous review 58256
-
No actionable merge-blocking risk was identified; the change is ready for normal validation.
Pre-merge checks: 
4
-
Full details: Linked Issues check
-
Explanation
The only linked issue supplied is
#16080. It is closed and completed, so it is historical context only. No active directly linked target remains, so no linked-issue coding requirements apply. The PR description cites#21744, but that issue is not in the supplied linked issues, so it is not assessed as a requirement. The toolbar fix from#16080is on main per the PR objectives. A diff from the merge base to the reviewed head shows no change to apps/mobile/src/features/voice-input/ComposerDictationControl.tsx, so this PR does not need to implement it.
Full details: Out of Scope Changes check
-
Explanation
The whole-PR diff from the merge base to the reviewed head changes one file: apps/mobile/src/features/threads/ThreadSettingsSheet.tsx (+11/-3). The change adds useReducedMotion from react-native-reanimated. It sets animationsReady to listLoaded && !reducedMotion, and onLoad now sets listLoaded. This matches the current PR description, which states that Thread settings rows vanish under Android Remove animations and that the fix skips their fades when reduced motion is enabled. The earlier toolbar guard changes are no longer in the whole-PR diff. No unrelated file or behavior change is shown. No active linked issue provides a separate objective to compare against, so this judgment rests on the current PR description and the code diff.
Full details: Description check
-
Explanation
The description explains the Android reduced-motion problem, the fix, linked issue context, and before-and-after evidence. It does not use the template headings and does not include a recording or release-build verification, but it is mostly complete and relevant.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
d970278 to
5825695
Compare
Dismissing prior approval to re-evaluate 5825695
|
@juliusmarminge Done. It's rebased on main and only changes
|
…gs rows with animations removed With Android's Remove animations on, Reanimated can drop the one frame a reduced-motion entering animation gets, so the view stays at its starting pose (opacity 0). The new-thread toolbar flip and the Thread settings row fades both hit this. Skip those entering and exiting animations when reduced motion is on so the views mount in their resting style. Closes pingdotgg#21744 Co-authored-by: Pipyakas <pipyakas@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5825695 to
4fe69af
Compare
**v0.1.6-nightly.20261030.3940** · 31 changes from 6 contributors ## Highlights Navigate back and forward in the desktop app with buttons or trackpad swipes. Review local commits in the Diff pane. Import terminal Pi sessions during setup. ## Fixes - T3 Connect shows the correct tunnel limit (#27442) - Service protection can request your sudo password (#27465) - Ctrl+Arrow moves by word in Windows terminals (#23480) - PowerShell paths with spaces stay clickable (#23527) - Pi explains missing credentials for its default model (#27513) - TypeScript attachments no longer appear as videos (#27372) - Stopping Pi clears queued messages (#27514) - Pi explains when untrusted folders skip project resources (#27539) - Codex-generated images appear in chat (#19066) - New threads show their first reply without reloading (#27522) <details> <summary>Full changelog</summary> ## What's Changed * feat(desktop): back/forward buttons and trackpad swipe navigation by @juliusmarminge in pingdotgg/t3code#27430 * feat(web): review local commits in the Diff pane by @Bil0000 in pingdotgg/t3code#19941 * fix(relay): show the account's real tunnel cap in T3 Connect settings by @juliusmarminge in pingdotgg/t3code#27442 * fix(web): streaming replies no longer re-render every visible timeline row by @juliusmarminge in pingdotgg/t3code#27420 * perf(web): streaming replies re-render only their last Markdown block by @juliusmarminge in pingdotgg/t3code#27417 * perf(web): the git actions panel no longer re-renders on every streamed update by @juliusmarminge in pingdotgg/t3code#27418 * perf(web): streamed assistant text re-renders only its own row by @juliusmarminge in pingdotgg/t3code#27419 * fix(server): `t3 service protect` can ask for your sudo password by @juliusmarminge in pingdotgg/t3code#27465 * fix(web): preserve Ctrl+Arrow terminal key sequences by @UtkarshUsername in pingdotgg/t3code#23480 * fix(web): keep PowerShell prompt paths with spaces in one link by @UtkarshUsername in pingdotgg/t3code#23527 * perf(client): find unread terminal chunks from the tail by @UtkarshUsername in pingdotgg/t3code#23779 * fix(pi): explain when Pi's default model has no credentials by @StiensWout in pingdotgg/t3code#27513 * fix(shared): TypeScript files no longer show as videos by @maria-rcks in pingdotgg/t3code#27372 * feat(mobile): message media, file cards and grouped steers match web by @maria-rcks in pingdotgg/t3code#27373 * fix(web): back-to-back messages from you stack as one burst with a single steer label by @maria-rcks in pingdotgg/t3code#27305 * fix(pi): clear Pi's native queue before Stop aborts by @StiensWout in pingdotgg/t3code#27514 * feat(pi): import terminal Pi sessions during setup by @StiensWout in pingdotgg/t3code#27515 * fix(pi): nest tools called through another tool under their caller by @StiensWout in pingdotgg/t3code#27521 * fix(pi): explain when an untrusted folder makes Pi skip project resources by @StiensWout in pingdotgg/t3code#27539 * fix(mobile): Android Thread settings rows no longer vanish with animations removed by @shivamhwp in pingdotgg/t3code#21757 * fix(server): phone taps, typing and scrolling reach desktop browser tabs again by @shivamhwp in pingdotgg/t3code#19456 * feat(web): images and videos sent with text sit above the bubble as their own shape by @maria-rcks in pingdotgg/t3code#27306 * feat(web): files sent without text show as file cards by @maria-rcks in pingdotgg/t3code#27324 * feat(web): pasted text, voice notes, snapshots and sending files get their own shapes by @maria-rcks in pingdotgg/t3code#27377 * perf(web): revisiting a thread reuses its rendered Markdown instead of parsing again by @juliusmarminge in pingdotgg/t3code#27480 * perf(web): chat Markdown parses about twice as fast with the same output by @juliusmarminge in pingdotgg/t3code#27685 * fix(server): Pull Requests says which GitHub credential cannot see a repository by @shivamhwp in pingdotgg/t3code#24350 * fix(server): Codex generated images show in chat, including on Android with a Windows host by @shivamhwp in pingdotgg/t3code#19066 * fix(web): a new thread's first reply shows without reloading by @juliusmarminge in pingdotgg/t3code#27522 * fix: image-only messages no longer leak the attachment placeholder by @maria-rcks in pingdotgg/t3code#27383 **Full Changelog**: pingdotgg/t3code@v0.1.6-nightly.20261030.3917...v0.1.6-nightly.20261030.3940 </details> Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.6-nightly.20261030.3940
Refs #21744 (the composer toolbar half shipped in #19239)
What's fixed
With Android's Remove animations setting on, Thread settings rows can stay invisible because the first frame of their fade is dropped. The rows now skip their enter and exit fades when reduced motion is on.
Evidence
Not shown: a release build of this PR. The blank rows showed on the release nightly but not in a dev client with the fix reverted.