The editor watched page:getSnapshot, which Convex re-runs in full after any write to the page: every edit re-read the whole page (58.5 KB on an 87-element page). Watch it as page:getFrame plus page:getElementSlice for hexadecimal id ranges covering every id instead (about ten elements a slice, 1 to 16 slices, sized from the page as last read), and put the parts together into the same complete page answer the editor, the offline copy and conflict handling read today. An edit then re-runs one slice: 10.7 KB with 8 slices. The page shows only once every part has answered. Parts answering together, as when one write touches two slices, are put together once. Ties in sortIndex are ordered by id, as the offline copy orders them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dara Adedeji committed on 10/19/2026, 8:26:59 PMparent8685859
9 files changedLine totals unavailable