Skip to content

feat(mobile): add thread long-press actions - #4

Open
anirudhsama wants to merge 8 commits into
mainfrom
t3code/add-mobile-thread-menu-options
Open

feat(mobile): add thread long-press actions#4
anirudhsama wants to merge 8 commits into
mainfrom
t3code/add-mobile-thread-menu-options

Conversation

@anirudhsama

@anirudhsama anirudhsama commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Mobile thread rows expose only a subset of the desktop context menu.

This brings both mobile thread-list variants to desktop action parity:

  • start a new thread on the same branch/worktree
  • pin, settle, snooze, wake, or archive where supported
  • rename and capability-gated title regeneration
  • mark unread with device-local persisted read state and a Done indicator
  • copy the effective workspace path or branch
  • delete

The actions are separated into lifecycle, title, utility, and destructive sections. iOS uses inline native UIMenu groups; Android flattens those same groups with separators while preserving Snooze as a real submenu.

Native iOS menu images now receive explicit appearance-resolved colors, fixing the transparent symbol column under React Native's New Architecture. The menu library's Fabric schema requires integer colors, so semantic PlatformColor objects are deliberately avoided. Mark unread uses envelope.badge, Copy branch uses the valid arrow.triangle.branch SF Symbol, and destructive images use iOS light/dark system-red values. Android maps the same symbol names to its local icon set.

The branch is rebased onto upstream main, which includes pingdotgg#5901 for long-press navigation suppression. This PR no longer carries a separate implementation of that fix.

Verification:

  • bunx --bun vp test run apps/mobile/src/components/menu-image-colors.test.ts apps/mobile/src/components/android-menu-sections.test.ts apps/mobile/src/features/threads/thread-list-menu.test.ts apps/mobile/src/features/threads/thread-read-state.test.ts apps/mobile/src/features/threads/new-thread-from-thread.test.ts apps/mobile/src/state/preferences.test.ts (16 tests)
  • bunx --bun vp run --filter @t3tools/mobile typecheck
  • targeted vp lint and vp fmt on changed files

Physical-device verification is being performed by the PR author.

Implemented by GPT-5.6 Sol via the Codex harness in T3 Code.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L size:XL and removed size:L labels Aug 8, 2026
@anirudhsama
anirudhsama force-pushed the t3code/add-mobile-thread-menu-options branch from 84814ab to 4188417 Compare August 10, 2026 05:26
@anirudhsama
anirudhsama force-pushed the t3code/add-mobile-thread-menu-options branch from 1f56cc4 to ec5119c Compare August 10, 2026 07:02
@github-actions github-actions Bot added size:XXL and removed size:XL labels Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 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