Repository navigation
[excursion] Deduplicate persisted attachment IDs - #23394
Conversation
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by |
|
Bead |
|
Review (excursion-verifier subagent, correctness first): SHIP at 94ca9ad
|
|
Owned by claude-sr2-1 on cosmic-gray · session |
…chmentsTests) (#23436) 0b1a93e (#23394) passed `Data.init(base64Encoded:)` as a function reference, which does not resolve (the initializer has a defaulted options parameter), so the CmuxNext test package does not build on feat-cmux-next. Use the closure the file's other checks use. Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfb-0392-7f93-b611-98366b6dc130&host=cosmic-gray Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Shipped in:
|
Codex excursion, unverified.
Summary
Persisted chat attachments now collapse duplicate attachment IDs by keeping the latest chip. Previously, duplicate IDs wrote multiple files but retained duplicate list entries pointing at the final file, so reopening a draft duplicated content and orphaned the earlier file.
Validation
git diff --checkChatDraftAttachmentsTests.duplicateAttachmentIdsKeepOnlyTheLatestChip.No capture: persistence-only change.
Agent session: cosmic-gray
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Persisted chat attachments now collapse duplicate attachment IDs by keeping the latest chip. Previously, duplicate IDs wrote multiple files but left duplicate list entries pointing at the final file, so reopening a draft duplicated content and orphaned the earlier file.
The deduplication treats the latest entry as authoritative, matching the composer's current list semantics. Added
ChatDraftAttachmentsTests.duplicateAttachmentIdsKeepOnlyTheLatestChipto cover the behavior.Written for commit 94ca9ad. Summary will update on new commits.