Repository navigation
fix(mobile): keep iOS thread menus short enough for drag selection - #30944
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The change shortens iOS thread menus by nesting secondary actions while retaining existing handlers and Android ordering. Exact-revision device verification supports the interaction improvement, with risk limited to menu navigation. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Added the missing upward-opening branch-menu recording at The PR description now includes this recording and its selected-state screenshot. Accessibility Large remains the documented limitation. |
**v0.1.8-nightly.20261105.4205** · 28 changes from 3 contributors - **Claude MCP Apps.** Use interactive MCP Apps in Claude Code threads. - **Organized repository clones.** Clone repositories into host, owner, and repository folders, including repositories with the same name. - **Agent browser tabs.** Open new agent browser tabs when idle tabs have filled the shared limit. - **Pending questions.** Answer or dismiss older questions and approval prompts even after their messages leave the loaded conversation. ### Plus 22 more bug fixes. <details> <summary>Full changelog</summary> ## What's Changed * docs: scope managed-policy LAN note to old background services by @b2bvic in pingdotgg/t3code#30900 * feat(server): render MCP Apps from Claude tool calls by @juliusmarminge in pingdotgg/t3code#29803 * build: run Effect rules on mobile and lock in clean suggestion rules by @juliusmarminge in pingdotgg/t3code#31111 * fix(mobile): keep iOS composer empty after sending an autocorrected word by @shivamhwp in pingdotgg/t3code#30308 * fix(server): idle agent tabs free a slot when the server's 32-tab browser limit is full by @shivamhwp in pingdotgg/t3code#24186 * fix(web): keep message navigation visible on touch when there is room by @shivamhwp in pingdotgg/t3code#26806 * fix(mobile): pinch wide images from anywhere in the Android viewer by @shivamhwp in pingdotgg/t3code#30929 * fix(mobile): preserve autocorrect in custom question answers by @shivamhwp in pingdotgg/t3code#30744 * fix(web): show Setting up during worktree setup by @shivamhwp in pingdotgg/t3code#28832 * fix(mobile): keep iOS thread menus short enough for drag selection by @shivamhwp in pingdotgg/t3code#30944 * fix(web): show the comparison base beside Changes totals by @shivamhwp in pingdotgg/t3code#30085 * fix(mobile): use H.264 for iOS previews and keep Close reachable by @shivamhwp in pingdotgg/t3code#28622 * fix(mobile): iOS image previews open without waiting for the gallery by @shivamhwp in pingdotgg/t3code#29044 * feat: optionally clone repos into ghq-style <host>/<owner>/<repo> folders by @shivamhwp in pingdotgg/t3code#24904 * fix(devices): explain Windows SSH host failures by @shivamhwp in pingdotgg/t3code#30941 * fix(web): make styled composer Markdown markers editable by @shivamhwp in pingdotgg/t3code#30421 * fix(mobile): configure another Claude account from Providers by @shivamhwp in pingdotgg/t3code#28928 * fix(web,mobile): save pull request description checkbox changes by @shivamhwp in pingdotgg/t3code#30704 * fix(client): a big server config on a slow link no longer drops the connection in a loop by @shivamhwp in pingdotgg/t3code#23758 * fix(server): restart T3 Connect's tunnel client when Cloudflare drops it by @shivamhwp in pingdotgg/t3code#24946 * fix(mobile): compact stale Claude threads before sending by @shivamhwp in pingdotgg/t3code#27935 * fix(web): show saved service access with Local environment off by @shivamhwp in pingdotgg/t3code#26464 * fix: keep older pending questions answerable by @shivamhwp in pingdotgg/t3code#26435 * fix(web): deleted forks no longer remain in Lineage by @shivamhwp in pingdotgg/t3code#29000 * fix(server): preserve sibling wakeups when interrupting a completion wake by @shivamhwp in pingdotgg/t3code#28204 * fix(server): attribute usage-limit auto-resume to T3 Code by @shivamhwp in pingdotgg/t3code#29838 * fix(acp): time out silent Antigravity prompts by @shivamhwp in pingdotgg/t3code#30377 * fix(codex): sharing usage limits offer the existing recovery options by @shivamhwp in pingdotgg/t3code#25341 ## New Contributors * @b2bvic made their first contribution in pingdotgg/t3code#30900 **Full Changelog**: pingdotgg/t3code@v0.1.8-nightly.20261104.4192...v0.1.8-nightly.20261105.4205 </details> Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.8-nightly.20261105.4205
On iOS, long thread menus start scrolling during the initial press-drag-release gesture, leaving the menu open without selecting an action. Branch and pinned rows can cross that height limit.
Keep common actions in the iOS thread menu and move secondary actions into More, with reordering under More → Arrange. The top level now has at most seven items. Android keeps its existing flat order. Action IDs, handlers, disabled states, and selected states are unchanged.
Closes #30748
Verified at
cb2bc9ca05c73da35bcbb8584e0cf18ca35eaec1, against9e85538535c8553901351112ab02dd1dd62db5ee:994fd7249d9b61e4302f1767d4e23664fbde5277. The same continuous gesture, holding 1200 ms, dragging 800 ms, then holding 500 ms, failed before and passed after on branch rows. Unpinned branch, pinned branch, and pinned scratch rows selected Copy thread and dismissed the menu; clipboard checks confirmed the fixture links.aba84043a4edb30381916d38ad6a4e7aad2cc74f, same commit and isolated backend. Long press opens the unchanged 14-item flat menu; selecting Copy thread ID dismisses it.vp run check:changedpassed formatting, lint, both knip passes, affected-package typechecks, 64 tests, and 7 React compiler checks. The focusedthreadListV2.test.tsrun also passed all 64 tests. Fresh Codex review found no issues.Known limit: Accessibility Large still makes the iOS menu scroll. This changes the thread menu layout, rather than fixing UIKit's handling of every scrollable menu. Web, desktop, server, and provider behavior are outside this mobile-only diff.
Before: the branch menu stays open after release.
before-branch.mp4
After: the compact menu selects and dismisses for unpinned and pinned branch rows.
after-branch.mp4
Check output
Upward-opening branch menu, verified on the same head
cb2bc9ca05c73da35bcbb8584e0cf18ca35eaec1in a fresh Simlock iPhone 17 / iOS 27.0 session, using native fingerprint994fd7249d9b61e4302f1767d4e23664fbde5277and the isolated test backend. The branch row is at y=721; its menu opens upward. One continuous 1200 ms hold, 800 ms drag upward onto Copy thread ID, and 500 ms hold before release selects the action and dismisses the menu. The clipboard changed fromupward-beforetoupward-branch.upward-gesture.mp4
Implemented by Opus 5.5 through Claude Code. Investigated, device-tested, and reviewed by GPT-6.1 Sol through Codex in T3 Code.