Repository navigation
Conversation
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This standardizes Android tab headers and filter menus while preserving existing search and filter actions. The changes are confined to mobile presentation, with no material operational or customer-data exposure. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Workspace list toolbar and callers apps/mobile/src/features/workspace/WorkspaceListToolbarRow.tsx, apps/mobile/src/features/home/ThreadListToolbar.tsx, apps/mobile/src/features/pull-requests/PullRequestToolbar.android.tsx |
The list toolbar accepts a title and optional grouped search controls. Home and pull request toolbars pass the title and search configuration through those props. |
Workspace tab toolbar and settings integration apps/mobile/src/features/workspace/WorkspaceTabToolbar.tsx, apps/mobile/src/features/settings/components/SettingsScreen.tsx |
The new toolbar handles search closing, keyboard dismissal, and hardware back. Android workspace-root settings renders it with title, search, and trailing content. |
Android environment filters
| Layer / File(s) | Summary |
|---|---|
Anchored environment filter menus apps/mobile/src/features/settings/components/SettingsEnvironmentFilterHeader.tsx, apps/mobile/src/features/usage/UsageRouteScreen.tsx |
Both Android filters use AndroidAnchoredMenu and AndroidHeaderIconButton. Their environment actions and selection behavior remain in place. |
Estimated code review effort: 3 (Moderate) | ~20 minutes
Change: Bug fix
Sequence Diagram(s)
sequenceDiagram
actor User
participant WorkspaceTabToolbar
participant Keyboard
User->>WorkspaceTabToolbar: Press hardware back while search is active
WorkspaceTabToolbar->>WorkspaceTabToolbar: Clear search value and close search
WorkspaceTabToolbar->>Keyboard: Dismiss keyboard
Suggested reviewers: juliusmarminge, pixpmusic
Merge Risk: 
Minimal · up to e2aad
-
The changed headers and environment menus have no established behavior regression. The PR is mergeable after normal checks.
Pre-merge checks: 
4
-
Full details: Title check
-
Explanation
The title names the main change: Android tab headers keep the title and buttons in place. The changeset gives the Usage and Settings tab roots the same toolbar row as Chats and Pulls, which matches the title's intent. The title uses the conventional commit form with a clear scope.
Full details: Description check
-
Explanation
The description follows the template sections (Problem, Change, Scope and approval, Verification). The Problem and Change sections are clear and specific. The Scope and approval section explains that the change qualifies as a small, focused fix of an obvious inconsistency, but it gives no linked issue or maintainer approval. The template requires either a triaged issue or an explicit justification, and the author supplied the justification. The Verification section lists an emulator run and screenshots, but the template requires before/after screenshots, and the table embeds them. The author also relies on a prior session for the check run and says no code changed, which weakens verifiability. The description is mostly complete, so it passes, though the scope justification is thin and the verification relies on an earlier session's results.
-
Finishing Touches
-
Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
|
Note Written by Verified on Android emulator (API 35) against a real dev serverVerified head Reproduced the horizontal header shift on the PR's parent Not verified
|



Problem
Switching between Chats/Pulls and Usage/Settings on Android moves the title and header controls because the tab roots use different toolbar layouts. Filter buttons also have inconsistent geometry.
Change
Render the Usage and Settings tab roots with the same toolbar row as Chats and Pulls. Reuse the Android header icon button and anchored filter menu. Settings subpages also receive the consistent filter button.
Scope and approval
Submitted as a small, focused fix of an obvious alignment inconsistency, with no prior issue. The shared row changes support that single correction; navigation and filtering behavior remain the same.
Verification
Android API 36 emulator, dark mode, showcase environments only. Header strips are stacked in Chats, Pulls, Usage, Settings order. Checked the served bundle for WorkspaceTabToolbar before capture. Opened the Settings and Usage filter menus. iOS was not run; its tab headers keep their existing path.
node_modules/.bin/vp run check:changedpassed at this branch head in the previous session; Sol review approved the diff. No fix code changed during evidence collection.Code written by Claude Opus 5.5; evidence and PR filing by GPT-6.1 Sol, both in T3 Code.