Fix Programmiermodus default-seed bug wiping other profiles

_on_toggle_editing() seeded self.combined from default_combined() on first
activation, which reads the stale per-profile JSONs for all 3 profiles
instead of the current versapad_config_all.json. Writing to board while
only editing one profile silently reverted the other two. Now prefers
loading the current combined file, falling back to defaults only if it
doesn't exist.

Also documents the READ_STATUS polling change and the jappel PR workflow
constraint in AGENTS.md.
This commit is contained in:
cjjohn 2026-08-07 20:50:52 +02:00
parent 4215323f3f
commit 8a2a73c68d
2 changed files with 37 additions and 2 deletions

View file

@ -391,7 +391,13 @@ class VersaPadViewer(tk.Tk):
self._on_toggle_sync()
self.sync_check.configure(state="disabled")
if self.combined is None:
self.combined = vcomb.default_combined()
if os.path.exists(vcomb.DEFAULT_PATH):
try:
self.combined = vcomb.load_file(vcomb.DEFAULT_PATH)
except (OSError, ValueError, KeyError):
self.combined = vcomb.default_combined()
else:
self.combined = vcomb.default_combined()
self.prog_row.pack(fill="x", padx=20, pady=(0, 14), after=self.tabs)
self.header_sub.configure(text="Programmiermodus · Zelle anklicken zum Bearbeiten")
else: