R-1199 reopened: a box with no list of its own reads the household's from the hub and adopts it, pushes its default once only when no household saved one; every push names its source; an empty saved list stays empty; R-1216 (D28 = A): the install page's swap sentence only when host swap is really short (shared case table); unreleased
gates / gates (push) Successful in 1m55s

This commit is contained in:
2026-10-22 12:13:26 +02:00
parent 08fa440d04
commit add310c80a
13 changed files with 512 additions and 61 deletions
+12
View File
@@ -123,6 +123,10 @@ backups, monitoring and notifications. All Proxmox/disk operations are delegated
`agentapi.ResizeMemory` → the code→Hungarian map. A JS confirm fires only on a shrink; an outdated agent
hides the control; an unreachable agent falls back to the guest's own `/proc/meminfo`. Memory only
(cores stay observation). The lxcfs ripple means the deploy-page memory math follows a resize for free.
**Host swap sentence (v0.338.0, rule v0.339.0, R-1192/R-1216):** when the install page warns that memory is
tight it adds „A gépen nincs elég cserehely (swap)…" if the agent (≥ 0.162.0) reports the host's swap short for
this guest — none, or below 90 % of min(the guest's swap allowance, 8192 MB), the most Proxmox's installer gives.
The hub's operator alarm `host_swap_short` uses the same rule (shared case table, felhom.eu `host_swap_rule_gate.py`).
- **„Hálózat" card (v0.159.0, R-66)** — Beállítások → Rendszer, between „Verzió és frissítés" and
„Szerver memória": **Helyi cím (LAN)**, **Hálózati név** (`\\<SMBServerName>` — rendered ONLY while
Megosztás is enabled; the NetBIOS name exists only while samba runs), **Átjáró**, plus a muted
@@ -3091,6 +3095,14 @@ Notification preferences (email, enabled events, cooldown hours) are:
- Synced to Hub on save and on controller startup via `POST /api/v1/preferences`
- Hub sync failure doesn't block local save
**Who chose the list (v0.339.0, R-1199 reopened):** every push names its `source` — `household` (the settings page,
or the start-up re-push of a list saved on this box) or `default` (the box's own default). At start a box with NO list
of its own first READS the hub's (`GET /api/v1/preferences`, hub ≥ 0.165.0): a list the household saved on any box is
adopted as this box's list and nothing is pushed; otherwise the default is pushed once, saved here, and the next start
sends nothing. A hub that cannot be read gets nothing. The hub never lets a default overwrite a household's list (it
answers `{"status":"kept"}`). A list with every mail unticked is saved as `[]` and reads back as empty (it read as the
defaults before). `cmd/controller/prefs_sync_wiring.go`, `TestR1199Reopened_*`.
**Empty-email save guard (v0.137.0):** the save handler REFUSES a submit with a blank e-mail box
while any event is still enabled (it would store an empty address AND push it to the hub, wiping the
provisioning-seeded alert delivery). The form re-renders with a Hungarian error and the customer's