R-729 + R-545: the household can remove its own off-site target („Távoli mentési cél törlése")

POST /backup/offbox/clear (reveal-then-confirm) forgets the target and deletes ssh_key + known_hosts;
nothing on the target is touched. repo_password is kept whenever anything could depend on it (hub
sealed package — the R-241 rule; escrowed; a successful run; snapshots) and deleted only otherwise.
Refused for the Felhom tier (rclone-pinned), while the single-flight is held, and while an
abandonment countdown runs. i18n parity fixtures of backups_remote gain the additive block only.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-05 21:24:28 +02:00
parent 6f1ba1fe43
commit 27b373b93c
23 changed files with 612 additions and 0 deletions
@@ -270,6 +270,20 @@
<button type="submit" class="btn btn-sm btn-primary" style="margin-top:.5rem">{{T "backups_remote.mentes"}}</button>
</form>
</details>
{{/* R-729 / R-545: the household's own target can be removed. Never the repository on it; the
Felhom-provided tier (Pinned) is not offered. Reveal-then-confirm, like the orphan reset. */}}
{{if .Offbox}}{{if not .Offbox.Pinned}}
<div style="margin-top:.75rem" id="offbox-clear">
<button type="button" class="btn btn-xs btn-outline" id="offbox-clear-reveal" onclick="var c=document.getElementById('offbox-clear-confirm');c.style.display='block';this.style.display='none'">{{T "backups_remote.tavoli_mentesi_cel_torlese"}}</button>
<div id="offbox-clear-confirm" style="display:none;margin-top:.6rem">
<p class="form-hint" style="margin:0 0 .5rem">{{T "backups_remote.cel_torlese_magyarazat"}}</p>
<form method="POST" action="/backup/offbox/clear" style="display:inline">{{.CSRFField}}
<input type="hidden" name="confirm" value="1">
<button type="submit" class="btn btn-sm btn-primary">{{T "backups_remote.cel_torlese_megerosites"}}</button>
</form>
</div>
</div>
{{end}}{{end}}
</div>
{{end}}