mirror of
https://github.com/PerpetualSoftware/pad.git
synced 2026-10-26 14:30:13 +00:00
bda30156b3
The server marks a body that is behind its live collaborative document with `content_state: applied_pending_flush` (BUG-3000). No browser render read it: share pages dropped it in field copies, and every other surface showed the stale body unmarked. - One helper (lib/items/staleBody.ts) and two components carry the ruled treatments: a one-line notice "This may not include the latest edits." above a body that is the view's subject (share page incl. the password-unlocked copy, the public collection's inline expansion, the item pane's read-only viewer, the timeline diff's current side), and a muted dot with that text as tooltip and label on MARKED rows only (conventions list, playbooks list, backlinks, command palette). Unmarked rows are unchanged. - A body kept locally over a fresh server row keeps its OWN marker (adoptServerItem and four save/refresh paths), and an Item built with a blank body from an index row drops the row's marker, matching the server's rule that the marker is emitted only where a real body is. - Guard tables re-read and re-stamped for the ItemDetail edits; a new guard pins the kept/blanked-body population. Claude-Session: https://claude.ai/code/session_01NidgPePY7UvHcEJCMkD2Qz