mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
50182418667d99313fab4ff18efde230b08b79f3
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f776923c04 |
fix(mobile): use desktop's rules for chat tool rows, pending echoes and session option picks (#33977)
* fix(mobile): resolve terminal chat agents in desktop's order Mobile now uses the shared detected-then-launch precedence and transcript-readability check; the phone's remembered agent only fills in after them. * fix(mobile): hide Codex foreground commands from the background-task strip * refactor(native-chat): share diff-card gutter, basename and task count * fix(mobile): show clipped tool output sizes in KB/MB like desktop * refactor(native-chat): share the tool-run header rules with mobile * fix(native-chat): share tool-line detail rules; skip unsafe-only search hits * fix(mobile): copy message text with desktop's rule Copy now leaves out roster and background-task fallback twins and wordless provider frames. * refactor(native-chat): memoize shared tool-line view and output sizes; share result preview * fix(native-chat): read a lone result's preview from its narrowed body * chore(i18n): ship chat tool and stop copy in the runtime English catalog * refactor(native-chat): move the pending-send echo rule to shared Mobile reuses it instead of its own matcher. * fix(mobile): match chat echoes after their send boundary, sink unmatched ones Uses desktop's rule: rows before the send no longer retire an echo, a send that never lands no longer lets later glued sends retire, and an unmatched echo sits below later turns. * fix(mobile): keep glued photo captions and folded boundaries in echo matching * fix(mobile): give image preview echoes the send time the occurrence rule reads * fix(mobile): match echoes on image-normalized rows and cap open sends at eight Same input and bound as desktop; each open send rescans the transcript. * test(mobile): drop a pending-order case the tail test already covers * refactor(mobile): read the send boundary once and skip echo normalization when idle * test(native-chat): type the occurrence case's pending send * test(mobile): drop the pending-echo wall-clock entry from the flaky-test baseline * refactor(native-chat): share session option labels with mobile Mobile's options pill now shortens effort levels (Med, XHigh, Min) and names choices and options the way desktop does, from one English table that desktop translates. * refactor(native-chat): run mobile terminal chat options on the desktop surface The terminal-chat option surface, its appliers, the option cache and the dispatch types move to src/shared, and the phone builds its pickers from them. Grok and every other agent with a catalog now get model and effort pickers on the phone, picks are saved as the host's launch defaults, the OMP live switch gate and discovery mapping come from one copy, and authoritative discovery retires persisted models it no longer lists. The option stamp moves to shared. * refactor(mobile): merge the session option type imports * fix(mobile): keep terminal chat option picks on their own chat The phone keeps one option surface per chat, so a pick that lands after leaving and returning shows there, and a picker command only switches the chat it came from. Discovered models merge with the seed catalog as on desktop, so Grok keeps its effort picker. A Claude model switch the phone cannot confirm is never saved as a launch default. * fix(mobile): start terminal chat options over when a tab changes agent A tab that runs another agent drops its kept option surfaces, report markers and cached record, so a fresh session shows its own model. A pick that lands after the phone moved to another chat is not saved as a launch default. * fix(mobile): fence retired terminal chat option surfaces A write that lands after its tab started another agent no longer publishes the old agent's record, and a changed OMP switch capability rebuilds the chat's surface from the cache instead of reviving an older one. * refactor(native-chat): simplify the shared session option wiring Desktop translation pieces use literal English defaults so the localization gate can read them, the selected-choice lookup is shared once, and the phone keeps one option surface per tab with the agent change detected from the cached record. * refactor(mobile): return no option surface for an agent without a catalog * test(native-chat): expect the shared Effort label in the startup picker test * test(native-chat): keep only the label cases main still checks after the rebase * refactor(native-chat): import the session option snapshot rules once in the PTY option surface * refactor(native-chat): share structured option pick bookkeeping with mobile Desktop and the phone now track picks per option through one shared book: a repeat of an option on its way waits, other options go together, a lost reply is not a pick done, and a stale reply only commits its own option. The phone also re-reads options each turn and after the provider starts, and shows picks at once while the host is still starting the provider. * refactor(native-chat): share the option pick blocking rule * fix(native-chat): read in-flight option picks from the shared book for launch send options * fix(native-chat): keep the structured options hook within its line budget and pass the phone turn in the e2e harness |