mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
6e82723125
After a reconnect lost the chat.send ack, the outbox reconcile only accepted the transcript idempotency marker as delivery proof, so a send whose run was actively streaming parked as a red 'Delivery uncertain' composer chip for the whole run. The reconcile now also retires a queued send when the session row reports its run id in activeRunIds or as lastRunId — the same fact live terminal-event retirement already trusts. Attempted unconfirmed messages now stay in the conversation as ordinary bubbles with an amber 'Delivery unconfirmed · Retry' footer (failed keeps the red 'Not sent'); the duplicate pane banner is suppressed for them since the bubble owns the outcome. Command chips, never-attempted failures, and storage errors keep their existing surfaces. Calmer copy for the remaining honest uncertainty case.