Live sync passes recovered work it keeps through the same desired-op map as new edits. If that work landed while the page write waited its turn, the queue found no record, wrote it again as the canvas's, and its replayed ack moved the held item's base: a drop then replaced the recovered edit. A desired op the queue already held when asked is now only a request to keep it: never marked as the canvas's, and not written again once it has landed or been replaced. An ack is now judged when it is published rather than before its records are stored, so a canvas drawn fresh in between gets it as restored instead of moving its new base back. The discard paths and attention retries prune remembered canvas op IDs too. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Dara Adedeji committed on 10/1/2026, 3:05:15 PMparent7083fe9
2 files changedLine totals unavailable