Skip to content

fix(mobile): Android Thread settings rows no longer vanish with animations removed - #21757

Merged
shivamhwp merged 1 commit into
pingdotgg:mainfrom
shivamhwp:t3android/issue-21744
Oct 30, 2026
Merged

shivamhwp merged 1 commit into
pingdotgg:mainfrom
shivamhwp:t3android/issue-21744

Conversation

@shivamhwp

@shivamhwp shivamhwp commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

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

Android 14 before, nightly: Thread settings rows are blank with Remove animations on

Android 14 after, PR dev client: all Thread settings rows show with Remove animations on

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.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Oct 19, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 19, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 5825695

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.

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 5825695 and 4fe69af.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between d970278 and 5825695.

Files selected for processing: 1
  • apps/mobile/src/features/threads/ThreadSettingsSheet.tsx

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review.

Walkthrough

Thread settings now enable catalog and option animations only after the list loads and when reduced motion is disabled.

Changes: Thread settings animation behavior

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: Normal

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: Passed 4
Check name Status Explanation
Linked Issues check Passed 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 d…
Out of Scope Changes check Passed 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-reani…
Title check Passed The title clearly identifies the Android Thread settings row animation fix and matches the primary change.
Description check Passed 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 rel…
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 #16080 is 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.

@juliusmarminge

Copy link
Copy Markdown
Member

Note

Grok responding on behalf of Julius.

Heads up: the composer toolbar half of this (ComposerDictationControl) just landed on main in #19239, which also closed #16080. Could you rebase and narrow this PR to the ThreadSettingsSheet change only, and update the title and description to match?

@shivamhwp
shivamhwp force-pushed the t3android/issue-21744 branch from d970278 to 5825695 Compare October 30, 2026 09:56
@macroscopeapp
macroscopeapp Bot dismissed their stale review October 30, 2026 09:56

Dismissing prior approval to re-evaluate 5825695

@shivamhwp shivamhwp changed the title fix(mobile): Android composer buttons and Thread settings rows no longer vanish with animations removed fix(mobile): Android Thread settings rows no longer vanish with animations removed Oct 30, 2026
@shivamhwp

Copy link
Copy Markdown
Collaborator Author

@juliusmarminge Done. It's rebased on main and only changes ThreadSettingsSheet now. I updated the title and description to match and dropped the composer screenshots.

[Opus 5.5][Claude Code] on behalf of shivam.

…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>
@shivamhwp
shivamhwp force-pushed the t3android/issue-21744 branch from 5825695 to 4fe69af Compare October 30, 2026 16:11
@shivamhwp
shivamhwp enabled auto-merge (squash) October 30, 2026 16:11
@shivamhwp
shivamhwp merged commit a077fdd into pingdotgg:main Oct 30, 2026
29 checks passed
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Oct 30, 2026
**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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants