You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
First message: stop waiting for an exited launch, no retry without a requester (#1512 follow-ups) #1518
Follow-ups from the merge pass's reviews of #1512 (start an agent from Chat; omo round 2 unless noted).
A first message whose launched agent exits before delivery waits instead of being held (CodeRabbit 4334853910, omo L3; server/core/pending.ts around 99 and 442): launchBound is never cleared, so bindLaunched answers "wait" forever; Send now replies input_not_ready and a queued copy waits silently (Discard still works). The author has a test-first fix.
A first message whose page leaves during its own automatic send can be re-queued with no requester (omo L1; around 103, 131, 338-342): holdRequested cannot hold an in-flight item, and an agent_blocked / pending_wait result retries it into queued, where it heads the queue and stalls other devices' messages with no note. Exclude a first message with no present requester from that retry.
Leaving the pane holds the first message in ordinary flows (omo L2, by design): switching tabs while the agent boots, or a phone putting the page away, holds it and asks for Send now. Consider letting the page's pane release wait on the bridge-owned first message.
The learned process is foreground_processes[0] at the first event naming the kind, with no shell check (omo L5, depends on herdr's ordering).
The demo's detach does not hold the first message as the bridge now does (omo L7).
The Start in-flight guard test exercises startNewSession, not the dialog (omo round 1 M3).
Extra currentIdentity reads per drain while a pane holds a first message (omo L4).
Activity
fix(chat): check a bound first message against its own process, not t…
fix(chat): hold a first message once its launched agent ends or is re…
devswha commentedon Oct 27, 2026
Closing: the follow-ups are done or settled.
detachholding the first message as the bridge does (server/core/pending.ts,site/demo/transport.ts).agentProcessInFrontinserver/agent-process.ts, used bycurrentIdentity).tab/create.