mirror of
https://github.com/stablyai/orca.git
synced 2026-11-15 10:27:33 +00:00
* feat(native-chat): mark forks with a Fork prefix and a Forked from pill Derive the fork mark from the chat's forked-from link instead of the saved name: new forks keep their source's name, tabs and chat lists show a muted "Fork ·" prefix (a fork icon in narrow tabs), and the transcript divider becomes a pill that opens the original. Older " fork" names are trimmed only when they exactly match what the old build generated. * fix(native-chat): open fork sources in local workspaces; fork mark polish - Open the source from the Forked from pill whenever its host is reachable: a local workspace or a connected SSH target, and a connected remote runtime. - Draw the Fork mark in the muted text color (not opacity), normal weight, and name a forked source with its mark in the tab hover card. - Name a fork tab's close button after its marked title. - Shorter ru/pt mark words; bdi around names; RTL-aware pill chevron. - Re-read a watched source's parent when its marker refreshes. - Mock server: MOCK_FORKED_CHATS scenario for the phone. * fix(native-chat): name forked phone rows for screen readers; read source agent only - Mobile worktree rows give a forked chat's label the "Fork: <name>" accessible name. - An older fork's unnamed source reads the agent from the source's own summary, which its subscription already wakes for. * fix(mobile): carry the fork mark on history rows, not a separate set Session-history recordings capture the screen state as plain data; a fork is now an optional field on its own row, so rows without forks are unchanged. * test: drop copy-pinning fork tooltip cases * fix(native-chat): show the fork icon on narrow tabs in the app A later stylesheet repeats Tailwind's hidden utility, which beat the icon's container-query display rule, so narrow fork tabs showed no mark. The icon now renders only in tabs and uses its own display rules. * chore(mobile): mock server answers a v2 hello like an older host Current phones open with the v2 handshake; closing with 4001 lets them fall back to the legacy handshake this mock implements. * fix(mobile): mark a forked chat in its tab's action sheet title * test(mobile): assert the fork sheet title's behavior, not its copy * test(mobile): type the fork sheet test's stand-in props * test: follow main's moved test rig and async fork-marker delivery