Repository navigation
fix(android): foldable sidebar and layout fixes - #21071
Conversation
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — This PR changes the default Android workspace navigation model and native switch interaction, while also altering foldable pane sizing, route animations, and reading widths across multiple production paths. The breadth of these user-visible Android behavior changes warrants human review. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
#21071 removed the split-view rail and added threads/PRs toggle buttons to the sidebar headers. This branch keeps the wide rail, so the merge keeps the rail in the layout, native module, colors, and hinge alignment, and drops the sidebar header toggles the rail replaces. Everything else from #21071 is kept: the root-state reset, the fitted brand title, the reading width, and the split-view destination animation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
## What's Changed * perf(mobile): Metro runs the React Compiler, with a coverage ratchet by @juliusmarminge in pingdotgg/t3code#20967 * perf(mobile): usage screens compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20969 * perf(mobile): Connect onboarding compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20970 * perf(mobile): device preview compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20971 * fix(android): foldable sidebar and layout fixes by @t3dotgg in pingdotgg/t3code#21071 * test(mobile): measure renders on a device by @juliusmarminge in pingdotgg/t3code#21001 * fix(web): Working threads can be dragged into chat as references again by @t3dotgg in pingdotgg/t3code#19697 * refactor(web): the command palette caches its derived lookups without "use memo" by @juliusmarminge in pingdotgg/t3code#21116 * feat(mobile): link, unlink and watch a thread's pull requests from its sheet by @flamboh in pingdotgg/t3code#20394 * test(web): the right panel Escape test advances fake frames until focus returns by @juliusmarminge in pingdotgg/t3code#21118 * test(web): ChatMarkdown thread find waits for highlights to settle by @juliusmarminge in pingdotgg/t3code#21121 **Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261018.3285...v0.1.1-nightly.20261018.3302 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261018.3302
## What's Changed * perf(mobile): Metro runs the React Compiler, with a coverage ratchet by @juliusmarminge in pingdotgg/t3code#20967 * perf(mobile): usage screens compile with the React Compiler by @juliusmarminge in pingdotgg/t3code#20969 * perf(mobile): Connect onboarding compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20970 * perf(mobile): device preview compiles with the React Compiler by @juliusmarminge in pingdotgg/t3code#20971 * fix(android): foldable sidebar and layout fixes by @t3dotgg in pingdotgg/t3code#21071 * test(mobile): measure renders on a device by @juliusmarminge in pingdotgg/t3code#21001 * fix(web): Working threads can be dragged into chat as references again by @t3dotgg in pingdotgg/t3code#19697 * refactor(web): the command palette caches its derived lookups without "use memo" by @juliusmarminge in pingdotgg/t3code#21116 * feat(mobile): link, unlink and watch a thread's pull requests from its sheet by @flamboh in pingdotgg/t3code#20394 * test(web): the right panel Escape test advances fake frames until focus returns by @juliusmarminge in pingdotgg/t3code#21118 * test(web): ChatMarkdown thread find waits for highlights to settle by @juliusmarminge in pingdotgg/t3code#21121 **Full Changelog**: pingdotgg/t3code@v0.1.1-nightly.20261018.3285...v0.1.1-nightly.20261018.3302 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.1-nightly.20261018.3302
The Android foldable fixes were spread over four small PRs. A test build with all four found three more problems:
This PR combines the four PRs and fixes the three problems.
From the original PRs
New in this PR
useNavigation()returns the navigation container. The container's owngetState()stays empty until the first navigation action, because React Navigation does not report the root navigator's first state up to the container. So the reset from fix(android): sidebar threads open while Settings or New task is open #21043 found no state and stopped early. It now readsgetRootState(), the same as React Navigation'sresetRoot. A new test fails without this change.CompactBrandTitle fitmeasures the available space and hides the stage badge when the badge does not fit. The badge shows again when there is space. Only the two Android list headers usefit.Thread open in split view, before (left) and after (right):
The images come from the original PRs. The three new fixes do not have screenshots yet. The three problems were found on a device with an earlier build. This build includes the fixes: arm64 release APK (preview variant, OTA updates off).
Checks: mobile typecheck passes.
android-workspace-navigation,layout, andandroid-workspace-navigation-colorstests pass (72). Lint on the changed files has no errors. The arm64 release build succeeds.Created with Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code