Repository navigation
v0.95.0
v0.95.0 — Log-management audit: 6 fixes (2 data-loss) in the never-swept rotation/move/settings subsystem
A multi-agent discovery audit aimed squarely at the newest, least-exercised code — the v0.43/v0.44 log-management and Settings-lifecycle subsystem, which had shipped without a defect sweep. Seven skeptical hunters, every finding adversarially verified for reachability (one candidate was correctly thrown out). Six genuine defects fixed:
- Heavy log days no longer delete your newest archives. The rotation counter wasn't zero-padded, so once a day produced 10+ archives they sorted
_1, _10, _11, _2, _3…— and retention pruning then deleted_10/_11/_12(your most recent sessions) while keeping older ones. Archives now sort by their true (date, counter) order regardless of padding, so pruning always removes the genuinely oldest. (data-loss) - Moving the log to another drive no longer strands it. A cross-volume move copied the active log to the new drive but then failed relocating the archive folder (Windows can't
Movea directory across volumes), leaving the log orphaned at the destination while the app insisted "nothing was applied." Moves are now cross-volume-safe and roll back cleanly on any failure, so the log is never stranded and the message is always truthful. (data-loss) - Moving the log into a folder that already has a
logs\subfolder no longer loses your history. That case used to silently skip relocating the archives (stranding them, un-prunable) while still re-pointing the app at the new location. The archives now merge into the destination, preserving any same-named files already there. - Re-acquired items reappear correctly in OCR-only mode. After clearing the live-gear cache with TTS capture off, an internal one-shot "replay" flag could get stuck on, which permanently disabled the mechanism that un-hides a deleted item when you pick it up and hover it again. The flag now retires correctly when there's no TTS channel.
- Switching characters while viewing a past session now works. Picking a different character from the switcher during a read-only session preview silently did nothing on screen (and the "Switched to…" toast lied). It now exits the preview and shows the chosen character.
- The session picker no longer shows "loading sessions…" forever when there are no past sessions — it now says "no past sessions yet."
Under the hood
- +11 Core test assertions (993 → 1004), including a ≥10-same-day-rotation ordering test and a
MoveArchivesmerge/collision/no-op test. Build is warning-free. - New cross-volume-safe, merge-not-strand
LogStore.MoveArchives(headlessly tested). - All findings adversarially verified; 1 candidate correctly refuted (a "Battle.net launcher" hard-block that would have been a regression). One deeper data-loss issue in the rotated-archive replay path was confirmed and is deliberately deferred to its own release so it can ship with dedicated multi-session replay tests.