Skip to content

[Bug]: Android tablet view differs from phone and lacks new-task sidebar controls #5338

Description

@MajesteitBart

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/mobile

Steps to reproduce

  1. Install the Android app on a tablet (window ≥ 720dp wide and ≥ 600dp tall, so the split layout activates).
  2. Open the app — the split view renders the Threads sidebar plus a detail pane.
  3. Open any thread.
  4. Look for a way to start a new task, or to collapse the sidebar.
  5. Compare with the same build on an Android phone (compose FAB present) or on an iPad (header has "New task" and sidebar-toggle buttons).

Expected behavior

The Android tablet layout matches the phone and iPad split view, with controls to start a task anywhere, toggle the sidebar, and use phone-style filters/settings.

Actual behavior

In my opinion it's very weird that the tablet version is this different and missing so much components compared to the mobile version. Below is an AI-generated code-level summary of the issue, which I reviewed before filing. Line numbers refer to main @ cec1bb9de.


The app picks a layout purely from window size (apps/mobile/src/lib/layout.ts:57 — ≥720dp wide and ≥600dp tall → split view), and the two modes are entirely separate component trees that fork at HomeRouteScreen.tsx:100:

  • Phone: HomeHeader ("T3 Code" lockup, filter button, settings gear, search field) plus the compose FAB (AndroidHomeFab.tsx), and the thread list.
  • Tablet: ThreadNavigationSidebar with its own separately-implemented header ("Threads" title, sidebar-filter-button.tsx, sidebar-header-actions.tsx), plus a detail pane.

On top of that split, several tablet controls are additionally gated to iOS, which is why the Android tablet is missing buttons rather than just rearranging them:

  1. No way to start a new task once a thread is open. The compose FAB only exists in phone mode, and the split-view header's "New task" and sidebar-toggle buttons are iOS-native-header items only (ThreadRouteScreen.tsx:622-662); the Android header action list (ThreadRouteScreen.tsx:663-710) has files/terminal/git/inspector but neither of those two. On an Android tablet, new-task entry exists only on the empty "Select a thread" pane (WorkspaceEmptyDetail.tsx:18) and per-project rows.
  2. No sidebar collapse on Android tablets at all — WorkspaceSidebarToolbar returns null on Android (workspace-sidebar-toolbar.tsx:15).
  3. Filter/settings buttons are parallel implementations in HomeHeader.tsx versus the sidebar components, so their icons, grouping, and behavior have drifted apart.

Possible direction (suggestion, not a demand): three targeted changes rather than one big refactor — (a) add "New task" (and a sidebar toggle) to the Android split-mode header actions, and/or mount the compose FAB in the split branch too; (b) drop the Android early-return in WorkspaceSidebarToolbar or add an Android equivalent; (c) extract the filter-menu and settings buttons into shared components consumed by both the phone home header and the tablet sidebar so they can't diverge again. One caveat: because the layout is window-size-driven, a tablet in split-screen multitasking (or a phone in landscape, via the 600dp height floor) will intentionally fall back to the phone UI — that's by design, but it means any parity fix should be tested across both trees.


Happy to submit a focused PR, just raising the issue first.

Impact

Cosmetic issue

Version or commit

main @ cec1bb9

Environment

Android 16, Samsung Galaxy Fold 7

Logs or stack traces

Screenshots, recordings, or supporting files

Screenshot_20260804_135619_T3 Code.jpg
Screenshot_20260804_135921_T3 Code Preview.jpg

Workaround

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.needs-triageIssue needs maintainer review and initial categorization.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions