mirror of
https://github.com/storytold/gridcraft.git
synced 2026-10-30 05:37:00 -06:00
Every nested command a dry run executed was journaled. Past the journal's limits that evicted the person's own oldest entries, and the restore could only cut back what was left, so one `macro.check` of a long macro could empty the journal and move a Record Actions recording's start. While `Saved` holds the session's state, commands are not journaled (`Session::journal_paused`), and the restore puts the journal and the recording start back exactly; the count of dropped entries it relied on is gone. The fallible calls of a dry run come before the pause, and a panic at the top level turns journaling back on. - Test: `a_dry_run_leaves_the_journal_and_the_recording_start_as_they_were` (a full journal, a Record Actions start, and a check of 12,000 nested steps; replaces the test that accepted the loss).