Repository navigation
Mobile: Settings sheet behind the Human's avatar replaces the Me tab - #1857
Conversation
The Me tab is gone. Its rows (current Host and status, Computers, Notifications, Open full client, Unpair) move to a Settings form sheet that opens from the Human's avatar at the top right of the Chats header. The avatar shows the Human's initial from the Host's humanIdentity on the raised layer fill. Home is labelled Chats on native and web tabs. Closes #1850 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P4McGrxLaXPVxUuUd2e7xZ
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 11 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Brings in the Host drawer (#1859), Chats search and sections, and Customize header (#1866). Computers in Settings now closes the sheet and opens the Host drawer; Customize header moves from Me into a Settings Interface group. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P4McGrxLaXPVxUuUd2e7xZ
Batch QA — #1857 as merged on mainiOS Simulator "PR1800 glass" (iOS 26.0, iPhone 17 Pro), dev client rebuilt from the batch, QA Host on DeepSeek. Screenshots are redacted (computer name, tailnet host and local paths blacked out). Chinese text renders as □ because the iOS 26.0 Simulator runtime ships without PingFang; that is an environment limit, not the app. Android: untested. Chats header (Host chip left, round avatar right, search field, Chats + Activity tabs): ✅ pass. Human QA on the phone also passed (Vain, 08:27Z). Settings sheet on main had three bugs: title and Done overlap the Connections section, Done does not close the sheet (swipe-down does), and light-mode rows had no card background. All fixed in #1885 (verified there). |


Requested by Vain · project thread
Why the change
Me took a third of the tab bar for a rarely used settings page. On the phone the Human mostly opens Chats and clears Activity.
Closes #1850 (part of #1848, user stories 1, 8–13, 35–38).
Special things to note
humanIdentitybridge method once the Host is connected. Until then, or if the call fails, it shows a person glyph. No new Host capability, so no CLI parity change.router.dismissTo('/'), so the sheet closes and Chats redirects to pairing.switch-computer-from-me.yamlis renamedswitch-computer-from-settings.yaml, andscripts/e2e-mobile-sim.mjsfollows.pnpm --filter @botharness/mobile typecheckpasses.pnpm vitest run apps/mobile: 28 files, 236 tests pass, including the newsettings-sheet.test.tsx(every former Me row, unpair failure notice, avatar initial) plusstyle-guardanddesign-tokens.pnpm lintandoxfmt --checkpass. CI is green on b87a25c.Change outline
Before: three tabs, Home, Activity and Me. Me held the current computer, Open full client, Computers, Customize header, Notifications and Unpair.
After: two tabs, Chats and Activity (badge unchanged). The Chats header keeps the Host chip on the left and gains an action cluster on the right. Its first item is the Human's avatar: their initial on the
raisedlayer fill, a 44pt / 48dp target, labelled "Settings". Tapping it opens Settings as a form sheet with a large detent and a grabber, closed by swipe or Done.Files:
app/settings.tsxandsrc/ui/settings-view.tsx: the sheet, replacingapp/(tabs)/(me)/me.tsx(deleted).src/ui/shell/human-avatar.tsxandsrc/host/human.ts: the avatar button and the name lookup.src/ui/shell/home-header.tsx: anactionsslot on the right.app/(tabs)/_layout.tsxand_layout.web.tsx: Me removed, Home labelled Chats with a chat-bubble icon.DESIGN.md, the README and the phone-notifications feature map are updated. Change fragment:changes/1850-mobile-settings-sheet.md.Screenshots: pending from the Simulator batch (light and dark, Chats header and Settings sheet).
🤖 Generated with Claude Code
https://claude.ai/code/session_01P4McGrxLaXPVxUuUd2e7xZ