Plugin-Config: ENV seedet nur fehlende Settings (fill-if-missing) + ensureWavelog #6

Merged
oe6dxd-automation merged 1 commits from feat/plugin-config-fill-if-missing into main 2026-10-25 22:18:47 +01:00

1 Commits

Author SHA1 Message Date
ARCG Admin (Claude)
81359e229e fix(plugin-config): ENV seedet nur fehlende Settings (fill-if-missing)
Problem: In prod überschrieben ensureMicrohamSettings und
ensureOpenWebRxBandmapSettings ihre Plugin-Settings bei JEDEM Start aus
ENV → UI-Änderungen gingen bei Deploy/Neustart verloren. rms.wavelog.cat
hatte gar kein ensure* → seine (nicht-geheime) ENV-Config wirkte zwar via
getSetting-Fallback, war aber nie in plugin-state und damit in der Admin-UI
unsichtbar ("funktioniert, wird aber nicht angezeigt").

Fix (Modell: State gewinnt, ENV seedet):
- ensureMicrohamSettings + ensureOpenWebRxBandmapSettings auf fill-if-missing
  umgestellt: ENV seedet ein Feld nur, wenn es in plugin-state fehlt; danach
  bleibt der gespeicherte/UI-Wert erhalten und überlebt Deploys.
- Neues ensureWavelogSettings (fill-if-missing) seedet baseUrl/radioName/
  timeoutMs aus ENV → in der UI sichtbar, UI-Edits persistent.
- vswr-/oauth-ensure* waren bereits fill-if-missing (unverändert).
- Secret-Plugins (SMTP/oauth-Secrets/debug-Token) bewusst NICHT geseedet
  (dürfen nicht in plugin-state.json/UI landen).

Hinweis: Dazu gehört eine Deploy-Repo-Änderung (entfernt die per-Deploy-
Löschung der Bandmap-Keys in deploy.yml), sonst würde Bandmap weiter
re-geseedet.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-25 22:13:04 +01:00