Skip to content

Add mobile Steer and Queue follow-up modes - #1868

Open
GeeeekExplorer wants to merge 4 commits into
slopus:mainfrom
GeeeekExplorer:feat/mobile-steer-queue
Open

GeeeekExplorer wants to merge 4 commits into
slopus:mainfrom
GeeeekExplorer:feat/mobile-steer-queue

Conversation

@GeeeekExplorer

@GeeeekExplorer GeeeekExplorer commented Oct 6, 2026 •

Copy link
Copy Markdown

Adds a persisted Queue / Steer choice to the compact mobile composer for capable Claude and Codex sessions. Queue is the default; unknown future values fall back to Queue without discarding other settings.

Delivery

  • One optional encrypted message field and a session capability flag.
  • Queue keeps waiting input local until completion, preserving /clear; Steer stays within compatible settings and command boundaries.
  • Claude uses an async input generator and SDK next priority. Existing thinking state gates done notifications; unacknowledged delivery ends the query with a warning.
  • Codex uses turn/steer. Definite rejection restores input; uncertain delivery is reported without replay.
  • Both adapters use the queue's restore callback, preserving original items, order and attachments. Normal Claude permission hot updates remain available.

Validation

  • 100 focused CLI tests and 56 app tests passed; CLI build and app typecheck passed.
  • Real Claude 2.1.280 against a local mock API: Steer folded into the running turn, Queue ran afterward, EOF drained input. Session persistence was disabled; no Happy sessions or transcripts were created.
  • Physical mobile controls have not been tested on a device.

Diff: production code +271/-58, tests +178/-12, translations +30/-1; total +479/-71. Local model defaults, model catalogs and network proxy patches are separate from this PR.

Refs #1867.

Xingkai Yu added 4 commits October 6, 2026 12:36
Route follow-ups into active Claude and Codex turns when selected, keep queue as the default, and allow a local Codex fallback for older mobile clients.
Preserve user messages from newer clients and avoid canceling a newly opened Claude input wait when a prior turn settles.
Reuse the wire schema and queue item types, keep local installation preferences out of the feature PR, and preserve existing settings when a future send mode is received.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant