mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-30 05:16:56 -06:00
- without_refused_images judges each image entry against the document it applies to and the batch's earlier entries (image_for, shared with apply): a logged put of other bytes under a key the replay state holds is left out, so a restart no longer stops there and drops the rest of the log. - Server::restore keeps its saved log only when the log puts no images: a resuming client may already hold other bytes under a logged key, which the restored state can't check, so clients catch up with the checked snapshot instead. - Tests: a_restart_replays_past_a_logged_image_replacement, a_client_resuming_past_a_refused_image_in_the_saved_log_catches_up, a_client_resuming_past_a_replaced_image_in_the_saved_log_catches_up. - Docs: collab-protocol.md, collaboration-parity.md.