Files
ElyOffice/tasks/reviews/C14.15-r2.md
T

1.9 KiB

FAIL

  1. apps/ely-mark/src/restore.rs:341 — Error deduplication compares complete error strings here and at line 370. Those strings contain changing recovery timestamps and random temporary filenames, so an unchanged permission failure produces a new notification on every retry. On WSL, make a tab's existing points/ directory unwritable and call keep twice: two recovery-error toasts appear. Making the session data directory unwritable likewise produces two session-error toasts. Both probes expected one and failed with left: 2, right: 1; restoring permissions lets both writes succeed. Deduplicate by a stable operation/error identity, excluding generated filenames, and test actual permission failures rather than only a file/directory collision. Evidence: .work/C14.15-r2/probe-test.log.

  2. apps/ely-mark/src/restore.rs:345 — A recovered tab's pointed_at remains None; restore_shown reads its existing recovery timestamp but never initializes this field. Recover an unsaved tab from a valid point, then make its points/ directory unwritable before the first new recovery write. The window first reports the recovered point's time, then incorrectly says Last kept: none yet, despite that point still existing. This violates PRD §6.2's last-successful-recovery-time requirement. Initialize the restored tab's recovery time from the point it loaded and add this failure-after-relaunch regression. The WSL window probe reproduces the contradictory messages in .work/C14.15-r2/probe-test.log. Both round-1 notification regressions now pass, and retries succeed. All eight restoration tests and five localization tests pass on Windows and WSL; the full Mark suites' only failures are the VCS outside-folder test caused by keeping temporary folders beneath the ignored .work/ directory. Probe source copies, binaries and both platforms' incremental caches were removed before this verdict.