docs: v0.126.0 UI uniformity bundle — CHANGELOG (parts A-E + gate housekeeping), REUSE (app_list_row canonical row + gate list), README (shared-row pattern, infra identity, Part E display pick), CONTEXT
This commit is contained in:
+39
-1
@@ -2,10 +2,48 @@
|
||||
|
||||
### v0.126.0 — UI uniformity bundle: shared app-list rows, infra-app metadata, restore-form polish, mojibake gate (2026-07-13)
|
||||
|
||||
Operator review (2026-07-13 screenshots): app lists looked designed three different ways across
|
||||
four+ surfaces; infra stacks rendered as bare names; the .fab password input clipped its
|
||||
placeholder; the zero-toggle run-warning went stale. Controller-only, presentation-layer — NO
|
||||
backup/engine/toggle behavior change (render tests assert the action markup is untouched).
|
||||
|
||||
- **Part A — ONE row grammar, four surfaces:** `templates/app_row.html` defines
|
||||
`app_list_row`/`app_list_row_end` (the layout_start/_end idiom): icon + name (+ optional
|
||||
one-line secondary) left, caller action block right; compact 44px row. Applied to the Távoli
|
||||
mentés toggle list, the Visszaállítás restore-to-verify + .fab lists and the dashboard
|
||||
Telepített alkalmazások (state edge + data-href preserved); the Alkalmazások collapsed
|
||||
headers ALIGNED to the grammar (icon+name left, status dot moved right before the chevron;
|
||||
expander untouched — the one allowlisted aligned copy). funcmap: `dict` + `appHref`;
|
||||
`OffboxAppRow`/`AppBackupRow` gain `Slug`. Old `.stack-card`/`.storage-path-item` row CSS+markup
|
||||
retired. **NEW gate `scripts/app_row_dedup_gate.py`** — row markup single-sourced (red-proven:
|
||||
pasted an old row block back → exit 1).
|
||||
- **Part B — infra stacks carry identity:** `inframeta.go` static display-only map —
|
||||
cloudflared → „Cloudflare Tunnel", traefik → „Traefik", filebrowser → „FileBrowser", each with
|
||||
curated Hungarian description; dashboard rows + app cards show icon + description + the
|
||||
existing Védett chip. Generic embedded `/static/infra-logo.svg` as icon fallback. filebrowser
|
||||
is the ONLY Linked stack (files.<domain> Megnyitás); guarded WRONG outcome — no customer link
|
||||
for cloudflared/traefik (render test counts exactly one https:// link; red-proven by flipping
|
||||
Linked on cloudflared → FAIL).
|
||||
- **Part C — restore-form polish:** the .fab encryption input is a standard form field —
|
||||
placeholder „Opcionális jelszó" + helper under the field („Üresen hagyva a csomag titkosítás
|
||||
nélkül készül."); the import-page bundle-password input picks up `.form-input` (was a bare
|
||||
browser default).
|
||||
- **Part D — mojibake fixed-by-construction:** byte-level sweep found ZERO double-encoded
|
||||
literals in the committed source — the live „Tárhely"-class text on the import page is the
|
||||
felhom-usb DRIVE-LABEL DATA (settings.json), repaired via the label-edit UI during live
|
||||
validation. **NEW gate `scripts/mojibake_gate.py`** (Python per the multibyte rule): all
|
||||
templates + Go sources must strict-UTF-8-decode and contain none of Ã Â Ă ă ˘ ˇ; allowlist
|
||||
ZERO. Red-proven (reintroduced „Tárhely" → exit 1 naming file:line).
|
||||
- **Part E — the stale zero-toggle line tells the truth:** `offboxWarningDisplay` display pick
|
||||
(no state mutation): a persisted „nincs mentésre jelölt alkalmazás" run-warning is replaced by
|
||||
„A kijelölés módosult az utolsó futás óta — a következő távoli mentés már tartalmazza." once
|
||||
≥1 app is toggled (rendered neutral — reassurance, not deviation); 0 toggled keeps the
|
||||
v0.123.0 line verbatim; quota/partial warnings pass through. Red-proven at unit + render level.
|
||||
- **Gate housekeeping (first commit):** `scripts/backups_split_move_check.py` retired — the
|
||||
one-shot v0.124.0 migration gate served its purpose (it pinned the split to verbatim moves vs
|
||||
df7ad37); this release legitimately rewrites those blocks onto the shared row partial. All
|
||||
other template gates stay mandatory.
|
||||
other template gates stay mandatory (template_id, emoji, native_confirm, offbox_rename,
|
||||
docker_run_volume_path + the two new ones).
|
||||
|
||||
### v0.125.0 — .fab volume export/import: containerized path-strand data loss FIXED (IA finding 1, HIGH) (2026-07-13) — MinAgent: 0.81.0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user