Settings panel: retention editor + auto-purge controls are missing from the UI #82
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two related gaps in the Settings dialog, both of which need the same edit site so they should be done in one pass.
1. Auto-purge has no UI control — this is a defect in what v0.3.19 claimed. The #77 backend is real and tested (opt-in flag, retention floor, hold veto,
auto-purgeaudit event), butgrep trashAutoPurge web/static/index.htmlreturns nothing. An earlier patch step aborted before applying the Settings half and I verified only the Go side, then described the switch and the retention dropdown in the changelog as if they shipped. They didn't. Net effect today: auto-purge cannot be turned on except by writing the settings JSON directly, so the default-off behaviour is the only reachable behaviour. The changelog entry for v0.3.19 needs a correction too.2. Retention periods are still JSON-only.
settings.retentionPeriods(longest-prefix match, #63) has no editor. Intended shape: apath = durationtextarea, one per line, parsed on the first=so paths containing=survive.Known-good anchors (from the #79 splice run, so these do not need guessing again):
web/static/index.html:381—<dialog id="settingsdlg">web/static/index.html:426—<button ... id="set-save" ...>, i.e. the end of the settings form; new fields go before thisweb/static/index.html:1742— the dialog-open handler, where current settings are populatedweb/static/index.html:1745—$("set-save").onclick, where the payload is assembledThe i18n keys are already on main from #79 —
retentionPeriodsandretentionHintexist in all four locales and are currently unused. Auto-purge needs new keys.Lesson worth writing down: a Go-side-green patch run is not evidence the UI half applied. Any patch touching both needs an explicit post-condition assert per file, which is what caught this.