Skip to content

DITools Beta v2.6.8

Choose a tag to compare

@steveharnell steveharnell released this 27 Sep 18:34
· 13 commits to main since this release
48b5a60

DITools Beta 2.6.8 — Auto-save and scoped “default” snapshots

•	Auto-save toggle + persistence. settings.py adds an auto_save_enabled flag and surfaces a Working Configuration → Auto-save checkbox. The flag is stored in the master config, while paths remain independently configurable.

•	Single watchdog loop. A centralized _auto_save_watchdog runs every few seconds, diffs the current working snapshot, and writes JSON only when changes are detected. Status log noise is reduced, with saves throttled to one log entry per 10 seconds. Turning auto-save off drops the baseline; turning it back on captures a fresh snapshot.

•	Manual save behavior unchanged. Save Current as Working Config still forces an immediate write by calling the same writer used by auto-save, even if auto-save is disabled.

•	Clean “default” snapshots per module. New get_default_settings_dict functions in project.py, sync.py, and file_comparator.py strip volatile fields (calendar picks, job/client names, filesystem paths) while keeping all technical toggles. These are ready for future “export default settings” flows.

•	Startup baseline sync. auto_load_startup_settings now syncs the auto-save baseline after applying defaults or a working config so the watchdog does not immediately re-save what was just loaded.

Impact: You now have precise control over when and what gets written. Auto-save is predictable, quiet, and recoverable, and “default” presets are safely shareable without project-specific data.