Skip to content

Fix stale submitted captions and isolate conversation drafts - #732

Merged
witbrock merged 1 commit into
mainfrom
codex/von-cfd66d6040448cfb
Sep 16, 2026
Merged

witbrock merged 1 commit into
mainfrom
codex/von-cfd66d6040448cfb

Conversation

@witbrock

Copy link
Copy Markdown
Member

Merge decision: ready — image captions clear after successful sends even when completion arrives after navigating away, and unsent drafts stay with their own conversation.

User outcome

Repair stale submitted text in the AI conversation composer reached through Messages. The image path cleared only a visible request's captured textarea; session switching reused that textarea without draft scoping. A background completion could therefore leave a submitted caption behind, and navigation could show it in another conversation.

Material changes

  • Retain unsent text per conversation in tab memory; restore it on selection and clear it on organisation changes.
  • Clear only the unchanged submitted text, using the current editor or the originating conversation's draft. Preserve newer edits, queued-execution drafts, and image failure/retry behaviour.
  • Add regression coverage and a Chromium fixture using the production templates, CSS, draft controls, send code and conversation-switch code.

Native assignment: #V#task_agent_975d9f25f4ff9e6ced2a515c2f42d7b8.

Evidence

  • 55 targeted Jest tests pass: attachment workflow/composer lifecycle, prompt recall, concept Q&A, steering controls and shared draft editing.
  • Five new regressions fail on baseline b2c53d86467e98d8929b75c2dad6ae98f084e11f.
  • Chromium at 1440px and 390px: background send clearing, isolated unsent drafts, rejection/retry and empty composer after reload all pass, including a run with the task's supplied multiline reproduction text. Local HTTP fixtures only; no model calls or live writes.
  • Changed-file frontend lint, browser-script syntax and diff whitespace checks pass.
  • Broader neighbouring tests: 99 pass/3 fail. The same three failures reproduce on baseline (two queue-tab activity assertions and one workflow-status refresh assertion).

Ship boundary

Minimum criteria are isolated drafts, no resurfaced successful caption, preserved newer edits and recoverable failure/retry; the targeted and browser evidence meets them. A candidate-caused failure on these paths would block merge.

Merge decision does not change for the three independently reproduced baseline failures. Authenticated live acceptance was not performed: retained DGX browser profiles are bound to other task checkouts. This is frontend fixture acceptance, not public-service or OAuth acceptance. Drafts are not added to durable storage; existing explicit outage recovery remains unchanged. No deployment, backend/schema change or knowledge representation of the source text is requested.

@witbrock
witbrock merged commit 38a873b into main Sep 16, 2026
2 checks passed
@witbrock
witbrock deleted the codex/von-cfd66d6040448cfb branch September 16, 2026 19:28
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