Repository navigation
Fix stale submitted captions and isolate conversation drafts - #732
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Native assignment:
#V#task_agent_975d9f25f4ff9e6ced2a515c2f42d7b8.Evidence
b2c53d86467e98d8929b75c2dad6ae98f084e11f.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.