Switchbordswitchbord
v0.18.109

v0.18.109 — Inbox composer lifecycle

Clear stale responder drafts automatically and manually from the Inbox composer.

Fixed


  • Sent responder drafts no longer remain in the composer. When the matching GB Agent response lands in the conversation, its untouched browser-local draft clears. A generated reply also clears when the customer sends a later message than the one the reply answered.
  • Human edits remain protected. Draft provenance is stored per conversation across reloads, but the first operator change detaches it. Automatic cleanup never erases edited human text.
  • Accurate stale-context tracking. The pending-draft API now includes the inbound message that triggered the draft, so Inbox can tell the original question from a later customer follow-up.

Added


  • A light-red Eraser action immediately beside Draft with me in the composer footer. It clears the local composer, reply target, generated-draft provenance, and visual draft state without modifying the conversation or pending server-side draft.

Verification


  • pnpm --filter app exec vitest run components/inbox-workspace-selection.test.ts components/inbox-compact-pane-source.test.ts
  • pnpm --filter app typecheck
  • pnpm lint
  • pnpm release:hygiene