diff --git a/STATUS.md b/STATUS.md index aa5618a6..9d2ca81b 100644 --- a/STATUS.md +++ b/STATUS.md @@ -1,5 +1,39 @@ # STATUS — what works, what's broken, what's next +**Updated 2026-09-17 (night) — English, step 3 of 3 done: every dashboard page speaks English, and the language switch is there for everyone.** + +> **Ready for a volunteer: yes, unchanged.** A Hungarian household will see one new thing: a small +> „Magyar / English" switch at the bottom of the menu. Nothing else on the Hungarian pages changed. + +**Decisions I took.** None. (The old choice to hide the switch was mine; the plan said to undo it now, +and I did.) + +**What I exercised, on the demo HP box.** The last eleven pages speak English: storage, network +storage, the two drive helpers, sharing, sign-in, the set-password page, the guest launcher, its +password page, the "no such app" page, and the debug page. I saved the Hungarian pages before and after +the update. The only change is the new switch, plus live numbers. The sign-in pages did not change at +all. I switched the box to English and back with the real switch. The hub saw Hungarian, English, +Hungarian. + +**What broke, and whether it is fixed.** +- Six small Hungarian words were still on the English pages („mp", „db", „FIGYELEM"…). No test saw + them; I found them by reading. Fixed, and filed that the test cannot see such words. +- My test cases used made-up page titles. I fixed them to the real ones and re-took those snapshots + from the old code. +- Found, not fixed, filed: three browser-tab titles with an app name stay Hungarian; the drive helper + pages do not light up the Storage menu; the two disks on the dashboard swap places between visits. + +**Rows.** One closed (localisation step 1), four opened. The register went from **260** to **263** open rows. + +**Needs you.** +- **The switch reaches Hungarian households only when you raise the fleet floor to 0.250.0** (your + weekly cadence). If you do nothing: boxes stay on the version they have, with no switch and no + English, and nothing breaks. + +--- + +## Previous note + **Updated 2026-09-17 (evening) — English, step 2 of 3 done: the backup pages too.** > **Ready for a volunteer: yes, unchanged.** A Hungarian household still sees nothing new. diff --git a/documentation/architecture/00-capability-map.md b/documentation/architecture/00-capability-map.md index 29fccc6f..17afc067 100644 --- a/documentation/architecture/00-capability-map.md +++ b/documentation/architecture/00-capability-map.md @@ -181,7 +181,7 @@ likewise silent. Evidence: `audits/DRILL-r361-2026-08-22/evidence/06-part3-decis | **Indítópult (app launcher) — one-tap grid of the household's openable apps** | controller v0.163.0 | **IMPLEMENTED** | New FIRST sidebar page `/launcher`: colored tiles (deterministic slug color or `.felhom.yml` `brand_color`) + white glyph/monogram, one per openable app (tile ⟺ „Megnyitás" — subdomain presence is the single criterion; controller excluded). Operational → `` to the public URL; stopped → greyed + state badge, no link. `/` stays the Vezérlőpult. Endpoint-level + render-test verified; `felhom-controller/REPORT.md` (2026-07-24) | Live operator click-through of a real tile → app pending (browser automation not available on DooPlex). Follow-up: curate `brand_color` for top catalog apps (R-72). Sharing the launcher outside the household is now the capability-URL guest link — see the row below | | **Indítópult megosztás (vendég link)** — capability URL `/s/` serves a standalone read-only guest launcher (no account, no admin session); optional per-share password; QR | controller v0.165.0 | **IMPLEMENTED** | 160-bit `crypto/rand` token, constant-time match (empty stored = disabled = byte-identical to the mux default 404); guest headers `noindex`/`no-referrer`/`no-store`; optional SEPARATE bcrypt share password + its own per-IP attempt map; signed cookie `HMAC(token`\|`passwordHash)` keyed with `session_secret` (rotate-token OR change-password invalidates all cookies); token redacted in logs (`/s/`). Groups A–G (14 tests) + 3 red-proofs; **§13 endpoint-level live validation on 9201 all-pass** (`felhom-controller/REPORT.md` 2026-07-24). **Design ruling: member accounts SUPERSEDED by this capability-URL model; per-member tile visibility parked under the SSO arc (R-15).** | Full operator browser click-through + a validation doc pending → then PROVEN-LIVE. Accepted residuals: link-preview crawlers fetch once (noindex prevents indexing); reverse-proxy/CF access logs hold the path (ops-tier); the modal link carries the request Host (LAN-IP admin ⇒ LAN-IP link) | | Forgot dashboard password → instant reset code | controller v0.123, hub | **PROVEN-LIVE** | `DRILL-day0-take2-2026-07-12` F-15 (live re-run of the exact failure path: hash applied 1s after request, code accepted first try) | | -| **The dashboard in English** — the household picks its language; Hungarian unchanged | controller v0.247.0 (spike) | **PARTIAL — PROVEN-LIVE for three pages** (launcher, backups overview, app page + the shared layout) | `audits/i18n-2026-09-17/live/` — on demo-hp the Hungarian pages were identical to 0.246.0 apart from version and CSRF token; `POST /settings/language` switched them to English and back; the hub stored the reported `language` (`en`, then `hu`). Unit: `TestI18nParity` (14 states vs fixtures from unconverted templates, red-proofed). Design `architecture/10-localisation.md` | 31 other templates (R-556), Go-side messages (R-557, after R-553), hub e-mails (R-558), console/download page (R-559, scope unconfirmed), catalog copy (R-560), guide + English stranger drill (R-561). The switch is hidden from Hungarian pages until R-556 | +| **The dashboard in English** — the household picks its language; Hungarian unchanged | controller v0.247.0 (spike) → v0.250.0 (slice 1, R-556 CLOSED) | **PARTIAL — PROVEN-LIVE for every dashboard template** (all 36 templates carry their copy in the bundles; the switch is on every dashboard page) | `audits/i18n-slice1-2026-09-17/C/live/` (and `A/`, `B/`, `audits/i18n-2026-09-17/live/`) — on demo-hp 0.250.0 each Hungarian page equals its 0.249.0 fetch once the new switch form is removed (live numbers aside; login, claim, catch-all byte-identical); `POST /settings/language` made every page English and back; the hub stored `hu`, `en`, `hu` (16:45:10Z, 16:46:06Z, 16:46:43Z). Unit: `TestI18nParity` (106 states vs fixtures from unconverted templates), `TestI18nParityCoversEveryMarker`, `TestI18nEnglishPages`, `TestDirectRenderHandlersFollowLanguage`, all red-proofed. Design `architecture/10-localisation.md` | Go-side messages and three app-name page titles (R-557 after R-553, R-566), hub e-mails (R-558), console/download page (R-559), catalog copy (R-560), guide + English stranger drill (R-561); ASCII-only Hungarian invisible to the English page test (R-565). **Hungarian households see the switch only once the fleet floor reaches 0.250.0** | | Multiple household users / per-person accounts | — | **MISSING** | — | Single dashboard password; acceptable for alpha → R-15 | | WireGuard base infra always-on; OOB operator access (felhom-sshd, /32 peer) | agent v0.72, hub v0.35 | **IMPLEMENTED** | `SPIKE-oob-wg-operator-peer-2026-07-05`, `SPIKE-felhom-sshd-2026-07-05` | Mutual-repair desired-state arc not built → R-13. **CHECKED 2026-08-08 (R-260) and this row was NOT claiming something untrue** — it claims the capability is implemented, never that it is monitored, so no correction was owed. What WAS untrue is narrower and sat one layer down: **the hub's own OOB health check could not see whether the operator's key was installed.** `HostOOBRow` mirrored five of the agent's eight OOB fields, so `operator_key_configured` — emitted every heartbeat since agent v0.72.0, i.e. from this row's own vintage — was discarded by `encoding/json` on arrival, and `oobDegraded` returned `ok` for a box with felhom-sshd active, reachable, a valid config, a configured peer and **no operator key at all**. `operator_peer_configured`, which it did read, only says the peer IP is in desired-state — that OOB is MEANT to work, not that entry is possible. Fixed hub v0.99.0; the missing key now degrades and the alert NAMES it; a stanza too old to carry the field is reported distinctly and is never a silent ok. Pinned end-to-end from raw report JSON by `TestHostOOB_MissingOperatorKey_EndToEnd` and `TestHostOOB_NoKeyField_IsNotSilentlyOK_EndToEnd` | | The operator can see WHERE a managed host is — its LAN address and its WireGuard address, on the host page | agent **v0.119.0**, hub **v0.85.0** | **PROVEN-LIVE** (2026-07-31) | `audits/host-addresses-visible-2026-07-31.md` | Before this the LAN IP was **not reportable at all** — `HostMetrics` carried no address of any kind — and the WG IP existed only in `/offsite`'s peer table keyed by pubkey (peer→host, never host→peer). New wire field `addresses[]`, one row per (interface, address); `IsGlobalUnicast()` is the whole filter, chosen by MEASURING both demo boxes, and it needs no veth/fwbr denylist because that plumbing carries no IP. Rendered live on both 0.119.0 hosts matching their `ip addr` ground truth exactly. **Two honesty properties carry the risk and are both red-proofed:** WireGuard shows the hub ALLOCATION and whether the box CONFIRMS holding it (allocation alone cannot tell a live tunnel from a peer never applied), and an agent below 0.119.0 renders **UNKNOWN, never "no addresses"** — proven live on `drill-r50-0a4f9a` (0.113.0). **Not covered:** a two-LAN-bridge box and a real WG drift, neither of which exists to observe | diff --git a/documentation/architecture/10-localisation.md b/documentation/architecture/10-localisation.md index e7ce48b0..b660b9ee 100644 --- a/documentation/architecture/10-localisation.md +++ b/documentation/architecture/10-localisation.md @@ -64,11 +64,17 @@ parses it.** Decided by CC in the spike (the starter delegated the choice, §4 1 unchanged. - **[FACT]** An **undefined** key is left in place, so the set fails to load („function T not defined") — loud at startup and in every render test (`TestExpandLeavesUndefinedMarker`). -- **[FACT]** Only `executeTemplate` is language-aware (`server.go`). Login, claim, recovery and the - guest share pages render through `s.tmpl` directly and stay Hungarian until their slice. -- **[FACT]** Go-side copy on a converted page: the handler names its title key (`data["TitleKey"]`); - the non-Hungarian sets override the copy-producing funcs `stateLabel`, `timeAgo`, `timeAgoStr`, - `nextRunLabel`, `statusText` from the bundle (`web/i18n_web.go` `localeFuncs`). The Hungarian funcs +- **[FACT]** `executeTemplate` renders dashboard pages in the request's language. Since slice 1 + (v0.249.0 recovery, v0.250.0 the rest) the pages outside the dashboard chrome — login, claim, + recovery, both guest share pages, the catch-all — render through `executeTemplateLang`: the language + set and `Lang`, and deliberately NOT the session CSRF fields or the escrow reminder (R-543) that + `executeTemplate` adds. Pinned by `TestDirectRenderHandlersFollowLanguage` (the real routes) and + `TestI18nDirectRenderPagesHaveNoAdminChrome` (reminder genuinely due, absent from the page data of all + six and from the guest page in both languages). No renderer uses `s.tmpl` directly any more. +- **[FACT]** Go-side copy on a converted page: the handler names its title key (`data["TitleKey"]`; + `TestHandlerTitleKeysMatchHungarianTitle` pins each handler's Hungarian literal equal to its hu.json + value); the non-Hungarian sets override the copy-producing funcs `stateLabel`, `timeAgo`, `timeAgoStr`, + `nextRunLabel`, `statusText`, `infraMeta` from the bundle (`web/i18n_web.go` `localeFuncs`). The Hungarian funcs are not touched; `TestLocaleFuncsHungarianBundleMatchesFuncMap` pins that `hu.json` carries the same words they return. @@ -84,14 +90,18 @@ parses it.** Decided by CC in the spike (the starter delegated the choice, §4 1 - **Render blank or raw.** No raw key, no marker, no element empty in English that is not empty in Hungarian (`TestI18nEnglishPages`). -**[FACT] What stays Hungarian on the English pages, live:** only Go view-model text (the backup-target -banner and offer, the whole-guest tier labels, the update badge „Naprakész") and catalog copy (the -app's tagline, use cases, first steps) — slices 2 and 5. No template copy. +**[FACT] What stays Hungarian on the English pages, live (v0.250.0, all 31 slice-1 templates converted):** +Go view-model text (flash lines, errors, the backup-target banner and offer, the whole-guest tier +labels, the update badge „Naprakész", the catch-all's status sentence), three page titles built in Go +around an app name (logs, deploy, tier-2 settings — R-566), and catalog copy (tagline, use cases, first +steps) — slices 2 and 5. Deliberately left in a template: „Fut…" on `backups_remote`, which the page's +own JS reads (R-563). Evidence: `audits/i18n-slice1-2026-09-17/{A,B,C}/live/`. -**[FACT] Measured limit of the English page test:** it subtracts every string the fixture DATA carries -(catalog copy, handler messages) before looking for Hungarian — so a template word identical to a data -string is masked (the launcher cases pass the nav's „Indítópult" as the page title). The backups and -app cases cover the nav; the limitation is recorded, not fixed. +**[FACT] Measured limits of the English page test.** (1) It subtracts fixture DATA strings before +looking for Hungarian; since slice 1 release A only data strings of ≥ 2 words or ≥ 12 characters are +subtracted, so a one-word template title is no longer masked. (2) **It sees accented Hungarian only.** +An ASCII-only Hungarian word left in a template („mp", „ db", „jelenlegi:", „FIGYELEM:", „, majd a(z)") +passes it on the English page; release C found six such fragments by eye, none by a test (R-565). --- @@ -126,6 +136,15 @@ yet, which no household has asked for. **Chosen (2)**: it follows rule §1 (noth and is reversed by deleting one condition in `addLanguageData`. The way back from English is always on screen. +**[FACT] SUPERSEDED 2026-09-17 by slice 1 release C (controller v0.250.0):** every template is converted, +so the condition is deleted and the switch is on every dashboard page, in both languages. The 89 +layout parity fixtures were re-captured and each equals its predecessor plus exactly one switch form +(`audits/i18n-slice1-2026-09-17/C/switch-fixture-diff.txt`); `TestLanguageSwitch_EndToEnd` pins that a +Hungarian household with no `?lang=` sees it. Live on demo-hp: every Hungarian dashboard page equals +its 0.249.0 fetch once the switch form is removed (live numbers aside); login, claim and the catch-all +are unchanged. **A Hungarian household sees it only when the fleet floor reaches 0.250.0** — the +operator's cadence (R-242/R-468); no floor was raised. + --- ## 4. Fallback @@ -153,13 +172,17 @@ bundles. They now judge the page **as rendered in each language** (`controller/s `controller/scripts/test_gate_decoys.py`. **[DESIGN] Voice, per language:** -- **hu** — the product speaks in „te". The converted copy carries **6 formal („ön") forms** (R-516). - They are not fixed by a localisation release (§1), so the gate counts them against - `HU_FORMAL_CEILING` = 6 as a ratchet: a new one convicts, fixing one lowers the ceiling. +- **hu** — the product speaks in „te". The converted copy carries formal („ön") forms (R-516). They are + not fixed by a localisation release (§1), so the gate counts them against `HU_FORMAL_CEILING` as a + ratchet: a new one convicts, fixing one lowers the ceiling. The ceiling followed the conversion: + 6 (spike) → 10 (release A) → 12 (release B) → **16** (release C). **[FACT] Measured limit:** the stem + list is short — on the release C pages it counts 4 formal forms, while a wider list („írja be", + „adja meg", „válassza", „biztosan eltávolítja", „engedélyezze", …) finds at least 22 keys (R-516). - **en** — second person, plain: no „please", no „kindly". -**[FACT] Not yet per-language:** the retrieval-promise gate's stems are Hungarian only — an English -retrieval promise is unscanned (in R-556). The hub copy gate and the catalog have no language concept +**[FACT] The retrieval-promise gate scans English too** since slice 1 release A (`EN_PATTERNS`, +`ALLOWLIST_EN`, decoys). Translating exposed that its Hungarian stems miss split verbs („állíthatók +vissza") — R-564. The hub copy gate and the catalog have no language concept (`scripts/hub_copy_gate.py` stems end in a Hungarian character class; `catalog_gates.py` checks no copy). --- @@ -231,7 +254,7 @@ session). Each slice ends with the parity gate green for every page it touched. | slice | row | what | proves | cost | |---|---|---|---|---| | 0 (done) | — | mechanism, 3 pages + layout, setting, report field, gates | Hungarian unchanged by measurement; English reachable | spent | -| 1 | R-556 | the other 31 dashboard templates (~1 500 strings, 600 of them JS), parity fixtures per page; switch shown to everyone; English retrieval stems; the extractor's ASCII word list reviewed per page | the whole dashboard in English with Hungarian byte-identical | 12–16 h, three releases | +| 1 (done, v0.248.0–v0.250.0) | R-556 | the other 31 dashboard templates (~1 500 strings, 600 of them JS), parity fixtures per page; switch shown to everyone; English retrieval stems; the extractor's ASCII word list reviewed per page | the whole dashboard in English with Hungarian byte-identical | 12–16 h, three releases | | 2 | R-557 (after R-553) | Go-side customer strings: 947 shown + 184 errors; flash-in-URL → keys; country names; alert texts | a page's server messages follow the language | 16–20 h | | 3 | R-558 | hub: per-customer language at creation; `configgen` renders it; `customerMessages` (39), the 5 lifecycle mails and the self-bind page in English; dispatcher reads the reported language | a household's e-mails arrive in its language | 6–8 h, one hub + one controller release | | 4 | R-559 | console banner (34 lines, console-font limits) and the download page | an English household meets English from the first boot screen (in scope — ruling 1b) | 4–6 h + an ISO train | @@ -256,7 +279,8 @@ These are rulings, not proposals. Anything specced against a different assumptio ### Decided by CC in the spike — operator may reverse 5. **Mechanism (b2)** — §2.1. -6. **Switch hidden while only three pages are English** — §3. +6. ~~**Switch hidden while only three pages are English** — §3.~~ **Superseded 2026-09-17** by slice 1 + release C (v0.250.0): every template converted, switch shown to every household (§3). ### 2026-09-17 (evening) — the two open questions, ruled diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/README.md b/documentation/audits/i18n-slice1-2026-09-17/C/README.md new file mode 100644 index 00000000..685b493e --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/README.md @@ -0,0 +1,32 @@ +# Slice 1 release C — controller v0.250.0 (storage, sharing, sign-in, guest, catch-all, debug; the switch for everyone), 2026-09-17 + +Method: **endpoint-level** on demo-hp guest 9201 (no browser on DooPlex), as in `../A/README.md`. +Signed-in pages: curl at `https://127.0.0.1:443` with `Host: felhom.enkisfelhom.hu` and a session. +Signed-out pages: the same without a cookie. The catch-all from the controller container address +(`http://172.17.0.2:8080`, `Host: nope-i18n.enkisfelhom.hu`) — traefik answers an unrouted host itself +(19-byte 404), so the controller's page is only reachable that way here. +CSRF tokens in the saved HTML are replaced by ``. + +Pages: `/launcher`, `/dashboard`, `/storage`, `/storage/network`, `/storage/init`, `/storage/attach`, +`/sharing`, `/debug`; signed out: `/login`, `/claim`, catch-all. + +| step | result | +|---|---| +| before (0.249.0, hu) → after (0.250.0, hu) | `live/hu-before-vs-after.txt`: every dashboard page carries exactly one switch form, right after the version span; with it removed, 7 of 8 pages IDENTICAL after version/token normalisation. `/dashboard` differs in live numbers (disk, CPU) and the ORDER of two drive-health rows (R-568). `/login`, `/claim`, catch-all: IDENTICAL, no switch | +| saved `en` → back to `hu` | `POST /settings/language lang=en` → 302 `/launcher`, `settings.json` `"language": "en"`, INFO `language switch: household language set to en`; back to `hu` the same way. `live/hu-after-vs-back.txt`: all IDENTICAL except live numbers on `/dashboard` | +| English pages | `live/en-pages.txt`: `` on all 11; switch on the 8 dashboard pages; no accented Hungarian and no word from the ASCII list on storage, network, both wizards, sharing, debug, launcher, login, claim. Remaining Hungarian, owned elsewhere: catalog taglines and „Rendben” on `/dashboard` (slices 5 and 2), the catch-all's status sentence (Go, slice 2) | +| guest share pages | **not exercised live**: demo-hp has no share link, and creating one changes the household's state. Proven by `TestDirectRenderHandlersFollowLanguage` (the real `/s/` route, both pages, en and hu) and `TestI18nDirectRenderPagesHaveNoAdminChrome` (escrow reminder due; absent in both languages) | +| hub report | `live/hub-report-language.txt`: `hu` (16:45:10), `en` (16:46:06), `hu` (16:46:43), all 0.250.0 | +| startup parse | `lang=hu loaded 79 templates, 1874 markers expanded in 27.352263ms`; `lang=en … in 28.372289ms` | + +Unit evidence: `redproofs.txt` (parity, English page, marker coverage, title keys, the five direct +routes, no admin chrome, the switch), `switch-fixture-diff.txt` (89 of 89 re-captured fixtures equal +their predecessors plus one switch form; the 17 others byte-identical), `green-gate.txt`. + +Fixture capture: felhom-controller `0555091` (24 states, unconverted templates); the 12 storage/sharing +states re-captured from `0555091` after the cases took the handlers' real titles (diff: the `` +line, and the nav highlight on the two wizards — R-567). + +Teardown: machine — box left on `hu`, controller 0.250.0 (floor NOT raised, no golden); guest password, +session and header files shredded; fetched pages archived and pulled here. Host — the transfer tarball +removed from demo-hp. Hub — nothing written; the DB copy read for reports shredded on DooPlex. diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/green-gate.txt b/documentation/audits/i18n-slice1-2026-09-17/C/green-gate.txt new file mode 100644 index 00000000..d593a9ca --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/green-gate.txt @@ -0,0 +1,206 @@ +controller_gates — 16 gate(s) [--fast] + +============================================================================== +== gate: template-id (template_id_gate.py) +============================================================================== +integrity gate OK — every JS element-ID reference resolves within its own template + +============================================================================== +== gate: emoji (emoji_gate.py) +============================================================================== +emoji gate OK — no emoji in web/setup templates + +============================================================================== +== gate: native-confirm (native_confirm_gate.py) +============================================================================== +native-confirm gate OK — no native confirm()/prompt()/alert() in templates + +============================================================================== +== gate: offbox-rename (offbox_rename_gate.py) +============================================================================== +offbox rename gate OK — Tier-3 is 'Tavoli mentes' everywhere customer-facing + +============================================================================== +== gate: app-row-dedup (app_row_dedup_gate.py) +============================================================================== +app_row_dedup_gate: OK (row markup single-sourced in app_row.html; 36 templates scanned) + +============================================================================== +== gate: mojibake (mojibake_gate.py) +============================================================================== +mojibake_gate: OK (768 files clean — no double-encoding signatures) + +============================================================================== +== gate: docker-v (docker_run_volume_path_gate.py) +============================================================================== +docker -v gate OK — every volume mount is named-volume or proven host-visible + +============================================================================== +== gate: secret-markup (secret_in_markup_gate.py) +============================================================================== +secret-in-markup gate OK — 36 templates, no secret-named expression rendered + (NAME-BASED: blind to a secret arriving under a neutral PAGE-DATA key — see the docstring) + +============================================================================== +== gate: retrieval-promise (retrieval_promise_gate.py) +============================================================================== +retrieval-promise gate OK — 37 surface(s) incl. 1 Go handler file(s), 11 registered claim(s) + 16 English, none unregistered + (BLIND SPOT: it registers WHERE the claim is made, not whether each conditional is wired + to a true predicate — that is what the R-302 render tests are for.) + +============================================================================== +== gate: debug-routes (debug_route_gate.py) +============================================================================== +debug route gate OK - 19 referenced address(es), all dispatched, none orphaned + +============================================================================== +== gate: reuse-refs (reuse_refs_check.py /mnt/5_hdd/felhom.eu/git/felhom-controller) +============================================================================== +note [felhom-controller] line 15: backup/appbackup_bridge.go (resolved by suffix → controller/internal/backup/appbackup_bridge.go) +note [felhom-controller] line 19: appbackup/userdata.go (resolved by suffix → controller/internal/appbackup/userdata.go) +note [felhom-controller] line 19: stacks/skeleton_derive.go (resolved by suffix → controller/internal/stacks/skeleton_derive.go) +note [felhom-controller] line 66: stacks/deploy.go (resolved by suffix → controller/internal/stacks/deploy.go) +note [felhom-controller] line 119: cmd/controller/main.go (resolved by suffix → controller/cmd/controller/main.go) +note [felhom-controller] line 142: appbackup/appdata.go (resolved by suffix → controller/internal/appbackup/appdata.go) +note [felhom-controller] line 164: scripts/secret_in_markup_gate.py (resolved by suffix → controller/scripts/secret_in_markup_gate.py) +note [felhom-controller] line 206: hub/internal/api/handler.go (cross-repo → felhom.eu/hub/internal/api/handler.go) +note [felhom-controller] line 206: hub/internal/notify/dispatcher.go (cross-repo → felhom.eu/hub/internal/notify/dispatcher.go) +note [felhom-controller] line 219: monitor/deadline.go (cross-repo (suffix) → felhom.eu/hub/internal/monitor/deadline.go) +note [felhom-controller] line 257: wgsync/reconciler.go (cross-repo (suffix) → felhom.eu/hub/internal/wgsync/reconciler.go) +note [felhom-controller] line 291: api/router.go (resolved by suffix → controller/internal/api/router.go) +note [felhom-controller] line 313: web/netprobe.go (resolved by suffix → controller/internal/web/netprobe.go) +note [felhom-controller] line 313: web/server.go (resolved by suffix → controller/internal/web/server.go) +note [felhom-controller] line 337: felhom.eu/scripts/golden_currency_gate.py (cross-repo → felhom.eu/scripts/golden_currency_gate.py) +OK [felhom-controller]: 171 cited paths — exact 156, suffix 10, ambiguous 0, cross-repo 5, FAILED 0 (siblings searched: app-catalog-felhom.eu, felhom-agent, felhom.eu) + +============================================================================== +== gate: instructions (instructions_gate.py /mnt/5_hdd/felhom.eu/git/felhom-controller) +============================================================================== +instructions_gate: /mnt/5_hdd/felhom.eu/git/felhom-controller + CLAUDE.md effective lines : 92 (ceiling 200) + version literals : 0 + TEMPORARY blocks : 0 + rule files : 5 (4 path-scoped) + workspace file : SYMLINK -> felhom.eu/documentation/runbooks/workspace-CLAUDE.md (resolves to the versioned copy) + memory index : 181 lines (ceiling 200), 25554 bytes (ceiling 25600) + memory index content : 39 version literal(s), 5 host address(es), 0 expired statement(s) [WARN only] + memory topic files : 148 indexed, 0 orphaned, 40 archived + register citations : 13 cited, 529 register items known + +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:19: version literal '0.112.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - **[A floor above the golden needs a DECLARED MinAgent](floor-held-above-golden.md)** — h +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:21: version literal '0.236.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - **["Delete my data too" was INERT until ctrl 0.236.0 (R-442)](r442-remove-reads-per-app- +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:24: version literal '0.14.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - **[restic 0.14.0 `--verify` is size+mtime, NOT content](restic-0140-verify-and-lock-sema +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:35: version literal '1.25.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - [ISO train v1.25.0](iso-train-v1.25.0-2026-07-23.md) — R-71 build-gate (golden≥floor), r +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:59: version literal '1.2.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - [Offsite pool-box aggregate](offsite-pool-box-aggregate-2026-07-17.md) — R-5 hub 0.64/0. +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:63: version literal '0.90.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - [Guest RAM resize + fast-tick](guest-ram-resize-fasttick-2026-07-17.md) — R-24 controlle +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md: ... and 33 more version literal(s) — full list from the tally counts above. +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:39: host address '192.168.0.192' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - [hub.felhom.eu resolves to the LAN here](hub-resolves-to-lan-on-dooplex-network.md) — 19 +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:54: host address '192.168.0.0' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - [Tailscale N100 location-independent](tailscale-n100-location-independent-2026-07-19.md) +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:58: host address '167.233.158.164' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - [Offsite PBS box RAM ceiling](offsite-pbs-box-ram-ceiling-2026-07-27.md) — **root SSH = +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:58: host address '10.77.0.1' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - [Offsite PBS box RAM ceiling](offsite-pbs-box-ram-ceiling-2026-07-27.md) — **root SSH = +WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:162: host address '192.168.0.180' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing. + - **CC runs ON DooPlex** (192.168.0.180) — repos `/mnt/5_hdd/felhom.eu/git/felhom-*`, buil + +instructions_gate: OK (12 warning(s)) + +============================================================================== +== gate: observations (observations_gate.py /mnt/5_hdd/felhom.eu/git/felhom-controller) +============================================================================== + report : /mnt/5_hdd/felhom.eu/git/felhom-controller/REPORT.md + section : ## Observations + observation items : 7 + OK 1. FILED R-555 + OK 2. FILED R-553 + OK 3. FILED R-556 + OK 4. FILED R-556 + OK 5. FILED R-516 + OK 6. FILED R-562 + OK 7. NOT-A-FINDING +observations gate OK — every observation is either filed or explicitly declared + +============================================================================== +== gate: minagent-header (minagent_header_gate.py) +============================================================================== +minagent header gate OK — v0.250.0 declares MinAgent 0.131.0 + +============================================================================== +== gate: i18n (i18n_missing_gate.py) +============================================================================== +i18n: 1874 markers in 36 templates; hu 1587 keys, en 1590 keys +i18n: English missing 0 (ceiling 0); Hungarian formal forms 16 (ceiling 16, R-516) + formal: launcher.olvassa_be_telefonnal_a_gyors (olvassa be) + formal: launcher.biztosan_kikapcsolja_a_megosztast_a (biztosan kikapcsolja) + formal: layout.ha_ujratelepiti_az_alkalmazast_az (ujratelepiti az) + formal: layout.ha_ujratelepiti_az_alkalmazast_az (importalnia) + formal: backups_shared.empty_body (kerjuk) + formal: backups_shared.empty_body (vegye fel) + formal: app_import.fab_csomag_feltoltese_huzza_ide (valassza ki) + formal: app_import.a_feltoltes_megszakadt_ellenorizze_a (ellenorizze) + formal: deploy.a_kontener_leallt_ellenorizze_a (ellenorizze) + formal: settings_system.ezek_az_ertekek_a_helyi (kerjuk) + formal: backups_remote.a_megerosites_nem_erkezett_meg (ellenorizze) + formal: backups_escrow.a_megadott_szavak_nem_egyeznek (ellenorizze) + formal: storage.nincs_regisztralt_adattarolo_adjon_hozza (adjon hozza) + formal: storage_init.valassza_ki_a_formazando_felhasznaloi (valassza ki) + formal: storage_attach.valassza_ki_a_mar_fajlrendszerrel (valassza ki) + formal: debug.kattintson_a_gombra_a_telemetria (kattintson) +i18n gate OK + +============================================================================== +== gate: golden-notice (golden_notice.py /mnt/5_hdd/felhom.eu/git/felhom-controller) +============================================================================== +============================================================================== +NOTICE — v0.250.0 OWES A GOLDEN. (this NEVER blocks; see the docstring) +============================================================================== + newest released controller : 0.250.0 (this repo's CHANGELOG.md) + newest golden baked : 0.246.0 (felhom.eu documentation/tests/) + + A machine installed right now would receive 0.246.0, not 0.250.0. + + This is a REMINDER AT THE ONE MOMENT IT IS USEFUL — you are in the repo where the + release happens. It does not block, and must not: at the moment a release is + committed the golden cannot exist yet. + + WHAT CLEARS IT: bake a golden (felhom.eu documentation/runbooks/RUNBOOK-manual-build.md + section 4.1), then vouch it — a THREE-field change: golden_version + agent_version + + min_agent. The bake record lands in felhom.eu documentation/tests/golden-<ver>-<date>/. + + If this release deliberately needs no golden, record a waiver row in + felhom.eu documentation/backlog/OPEN-ITEMS.md — never a habit of bypassing. +============================================================================== + +============================================================================== +== summary +============================================================================== + template-id OK (exit 0) + emoji OK (exit 0) + native-confirm OK (exit 0) + offbox-rename OK (exit 0) + app-row-dedup OK (exit 0) + mojibake OK (exit 0) + docker-v OK (exit 0) + secret-markup OK (exit 0) + retrieval-promise OK (exit 0) + debug-routes OK (exit 0) + reuse-refs OK (exit 0) + instructions OK (exit 0) + observations OK (exit 0) + minagent-header OK (exit 0) + i18n OK (exit 0) + golden-notice ADVISORY (exit 0, advisory) + +all controller gates OK + +== green gate (go build ./... && go vet ./... && go test ./...) at be2efe5: rc 0, every package ok (run before the release commit) +== controller_gates.py --fast above: rc 0 +== test_gate_decoys.py: all 20 controller decoys behaved diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_catchall_unknown.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_catchall_unknown.html new file mode 100644 index 00000000..41accfc5 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_catchall_unknown.html @@ -0,0 +1,45 @@ + +<!DOCTYPE html> +<html lang="hu"> +<head> +<meta charset="utf-8"> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<title>felhom.eu + + + + +
+ +
+ +
+ +
Ez az oldal nem található
+
+ + Alkalmazások + + Vezérlőpult +
+
nope-i18n.enkisfelhom.hu
+
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_claim.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_claim.html new file mode 100644 index 00000000..6de25813 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_claim.html @@ -0,0 +1,54 @@ + + + + + + + Jelszó visszaállítása — Felhom + + + +
+ +

Jelszó visszaállítása

+

Demo HP

+ + + + + + +

+ Add meg az e-mailben kapott beállító kódot, majd válassz új jelszót. +

+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_login.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_login.html new file mode 100644 index 00000000..5fd60ba9 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/anon_login.html @@ -0,0 +1,40 @@ + + + + + + + Bejelentkezés — Felhom + + + +
+ +

Otthoni vezérlőpult

+

Demo HP

+ + +
+ +
+ + +
+ +
+

Elfelejtett jelszó

+ +
+ + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/dashboard.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/dashboard.html new file mode 100644 index 00000000..81abb981 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/dashboard.html @@ -0,0 +1,1108 @@ + + + + + + + + Vezérlőpult — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +
13
+
Futó alkalmazás
+
+ +
0
+
Leállítva
+
+ +
56
+
Összes alkalmazás
+
+
+ + +
+
+
+
+ Memória + 3.8 GB / 25 GB (15%) +
+
+
+
+
+
+
+ CPU + 4% +
+
+
+
+
Load: 0.77 / 0.75 / 0.69
+
+ +
+
+ Hőmérséklet + 56°C +
+
+ +
+
+ + + +
+
+ Rendszer (/) + 16.7 GB / 68.7 GB (24%) +
+
+
+
+ +
+ + + + +
+
+ NVME 1TB + 15.1 GB / 938 GB (2%) +
+
+
+
+ +
+ + +
+ + +
+ + +
+

Lemezek állapota

+ + + +
+ + +
+

Biztonsági mentés

+ +
+ Utolsó mentés: + + + 2026-09-17 08:50 + + +
+ + +
+ Adatbázisok: + 16 mentve +
+ + +
+ + +

Telepített alkalmazások

+ +
+ + + + +
+ +
+ AdventureLog + Utazási napló és kalandtervező +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ BentoPDF + Adatvédelmi fókuszú PDF eszköztár +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ BookStack + Egyszerű, könyv-szerű wiki és dokumentáció platform +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Calibre-Web Automated + Automatizált e-könyv könyvtár - konvertálás, metaadat kezelés és webes olvasó +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Cloudflare Tunnel + Biztonságos internetkapcsolat — a szerver portnyitás nélkül érhető el kívülről. +
+
+ + + Fut + + + + + + + + + + Védett + + + + + + + +
+
+ + + + + +
+ +
+ Docmost + Modern wiki és dokumentáció platform (Notion-szerű) +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ FileBrowser + Fájlkezelő — a tárhely fájljainak böngészése a böngészőből. +
+
+ + + Fut + + + + + + + + + + Védett + + + + Megnyitás + + + + + + +
+
+ + + + + +
+ +
+ Kimai + Időkövetés és projektmenedzsment +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ OpenGist + Kód snippetek megosztása (GitHub Gist alternatíva) +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Paperless-ngx + Dokumentumok digitalizálása és rendszerezése +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ PrivateBin + Titkosított jegyzet és szöveg megosztás +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ RomM + Retró játékgyűjtemény kezelő +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Traefik + Forgalomirányító (reverse proxy) — a kéréseket a megfelelő alkalmazáshoz irányítja. +
+
+ + + Fut + + + + + + + + + + Védett + + + + + + + +
+
+ + +
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/debug.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/debug.html new file mode 100644 index 00000000..f951b2b9 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/debug.html @@ -0,0 +1,1300 @@ + + + + + + + + Debug — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ Debug mód aktív — ez az oldal csak fejlesztéshez és hibaelhárításhoz +
+ + +
+
+

Rendszer diagnosztika

+ ▶ +
+ +
+ + +
+
+

Értesítés teszt

+ ▶ +
+ +
+ + +
+
+

Mentés teszt

+ ▶ +
+ +
+ + +
+
+

Hub & Kapcsolatok

+ ▶ +
+ +
+ + +
+
+

Telemetria teszt

+ ▶ +
+ +
+ + +
+
+

Önfrissítés teszt

+ ▶ +
+ +
+ + +
+
+

DR / Telepítő varázsló

+ ▶ +
+ +
+ + +
+
+

Alkalmazás Export/Import

+ ▶ +
+ +
+ + +
+
+

Naplóviewer

+ ▶ +
+ +
+ + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/launcher.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/launcher.html new file mode 100644 index 00000000..1b3a1718 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/launcher.html @@ -0,0 +1,706 @@ + + + + + + + + Indítópult — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + + + + + A + + + + AdventureLog + + + + + + + + + B + + + + BentoPDF + + + + + + + + + B + + + + BookStack + + + + + + + + + C + + + + Calibre-Web Automated + + + + + + + + + D + + + + Docmost + + + + + + + + + F + + + + Filebrowser + + + + + + + + + K + + + + Kimai + + + + + + + + + O + + + + OpenGist + + + + + + + + + P + + + + Paperless-ngx + + + + + + + + + P + + + + PrivateBin + + + + + + + + + R + + + + RomM + + + + +
+ + + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/sharing.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/sharing.html new file mode 100644 index 00000000..4b05ceda --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/sharing.html @@ -0,0 +1,732 @@ + + + + + + + + Hálózati megosztás — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + +
+

+ A megosztott mappák a Windows Intézőben és a Mac Finderben jelennek meg, mintha egy hálózati + meghajtó lennének. A megosztás csak az otthoni hálózaton érhető el — az + internetről nem. +

+ +
+ +
+ +
+
+ + +
+ Ezen a néven jelenik meg a gép a hálózaton (\\FELHOM). + Legfeljebb 15 karakter: betű, szám, kötőjel, aláhúzás. +
+
+
+ +
+
+ + + + +
+ Állapot: + + áll + + +
+
+ Egyes hálózatokon a gép késve jelenik meg az eszközlistában. A + \\FELHOM cím beírása a címsorba ilyenkor is működik. +
+
+ + + +
+

Megosztási jelszó beállítása

+

+ Egy közös jelszó tartozik a háztartáshoz. A csatlakozáskor felhasználónévnek add meg: + felhom. +

+
+ +
+ + +
+
+ + +
+
+ +
+
+
+ +
+

Megosztott mappák

+ +
Még nincs megosztott mappa.
+ +
+ +
+

Új megosztás

+
+ +
+ + +
Legfeljebb 15 karakter: betű, szám, kötőjel, aláhúzás.
+
+ +
+ + +
+ +
+ + +
A mappa a kiválasztott tárhely shares/ könyvtárában jön létre.
+
+ + + +
+ +
+
+ +
+
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage.html new file mode 100644 index 00000000..54f0ac8e --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage.html @@ -0,0 +1,1064 @@ + + + + + + + + Tárhely — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + +
+

Adattárolók

+

Külső meghajtók kezelése alkalmazásadatok tárolásához.

+ + + + + +
+ +
+
+
+
+ NVME 1TB + +
+ /mnt/felhom-drives/hdd_1 +
+
+ + Alapértelmezett + Aktív + + + +
+
+ +
+ +
+
+ 15.1 GB / 937.8 GB +
+
+
+
+
+
+
+ + +
+ ext4 · /dev/nvme0n1[/felhom-data] · KXG50PNV1T02 NVMe TOSHIBA 1024GB +
+ + +
+ +
+ + 3 alkalmazás használja + +
+ +
+ Calibre-Web Automated + + Mozgatás +
+ +
+ Paperless-ngx + 69 B + Mozgatás +
+ +
+ RomM + 0 B + Mozgatás +
+ +
+
+ +
+
+
+
+ + +
+ + + + +
+ + + + + + +
+ +
+ +
+ + + + + + +
+ Új meghajtó inicializálása + Meglévő meghajtó csatolása +
+ +
+ + + + +
+
+ + +
+ Már csatlakoztatott tárhely hozzáadása kézzel +
+ +
+ + + Pl. /mnt/hdd_1 — a meghajtónak már csatolva kell lennie +
+
+ + +
+ + +
+
+
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_attach.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_attach.html new file mode 100644 index 00000000..3f941804 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_attach.html @@ -0,0 +1,628 @@ + + + + + + + + Meglévő meghajtó csatolása — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Meghajtó kiválasztása

+

Válassza ki a már fájlrendszerrel rendelkező meghajtót. + A meghajtón lévő adatok nem törlődnek — a csatolás csak elérhetővé teszi azokat.

+ +
Betöltés…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_init.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_init.html new file mode 100644 index 00000000..82f8b242 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_init.html @@ -0,0 +1,688 @@ + + + + + + + + Új meghajtó inicializálása — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Meghajtó kiválasztása

+

Válassza ki a formázandó felhasználói adatmeghajtót. Rendszer- és + biztonsági-mentés meghajtók itt nem jelennek meg — azok védettek. Ha a meghajtó adatot tartalmaz, a törlést + Önnek meg kell erősítenie.

+ +
Betöltés…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_network.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_network.html new file mode 100644 index 00000000..5e36d36f --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-after-0.250.0-hu/storage_network.html @@ -0,0 +1,702 @@ + + + + + + + + Hálózati tárhely — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +

NAS-megosztások

+

+ Egy NAS-megosztás (NFS vagy SMB) csatlakoztatása nagy méretű médiatartalomhoz (film, fotó, zene). + A megosztás kiválasztható médiaalkalmazás adatkönyvtáraként. A hálózati tárhely nem fizikai + meghajtó — nincs leszerelés/áthelyezés, csak eltávolítás. +

+ +

Nincs hálózati tárhely beállítva.

+ +
+ +
+

Hálózati tárhely hozzáadása

+ +

A csatlakoztatás előtt a rendszer ellenőrzi a megosztást: valóban + csatolható-e, és tudnak-e írni rá az alkalmazások. Hiba esetén semmi nem marad félkészen beállítva.

+
+
+ + +
+
+ + + A megosztás a /mnt/felhom-drives/<név> útvonalon lesz elérhető. +
+
+ + + IP-cím vagy DNS-név. A Windows-hálózati név (pl. FELHOM) itt általában nem oldható fel — a Megosztás oldal »közvetlen cím« sora adja meg a másik eszköz IP-címét. +
+
+ + +
+
+ + + A legtöbb médiaalkalmazás 1000-es azonosítóval fut. +
+
+
+ + +
+
+ + + A jelszót a gazda ügynök 0600-as fájlba írja; a vezérlő nem tárolja. +
+
+
+ +
+
+
+ +
+ +
+

Mit kell beállítani a NAS-on?

+
+ Útmutató megjelenítése +

Engedélyezze a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.

+

SMB (Synology, QNAP — a legtöbb NAS)

+

Hozzon létre (vagy jelöljön ki) egy felhasználót a NAS-on, és adjon neki írás-olvasás jogot a + megosztásra. Más beállítás nem szükséges — a fájlok a NAS-on ennek a felhasználónak a nevében + jönnek létre.

+

NFS

+

Synology (DSM, ellenőrzött lépések): először kapcsolja be az NFS-t — Vezérlőpult → File + Services → NFS fül → „Enable NFS service”, és állítsa a „Maximum NFS protocol” értékét + NFSv4.1-re (az alapértelmezett NFSv3 nem elegendő a csatlakoztatáshoz). Ezután a megosztott + mappa szerkesztésében az „NFS Permissions” fülön hozzon létre szabályt a Felhom gép + IP-címére, Read/Write jogosultsággal, a Squash mezőben a „Map all users to admin” opcióval. + A megosztás elérési útja ugyanezen a fülön látható (pl. /volume1/<mappa>) — ez kerül a + fenti „Megosztás” mezőbe.

+

Egyszerű (más NAS-okhoz): kapcsolja be az exporton a „minden felhasználó leképezése” (map all + users / all squash) opciót írás-olvasás móddal — bármelyik helyi felhasználóra. A fájlok + tulajdonosa a rendszerben „nobody”-ként látszik; az alkalmazások túlnyomó többségének ez megfelelő.

+

Teljes értékű (TrueNAS / Linux szerver): export a következő opciókkal: + rw,all_squash,anonuid=101000,anongid=101000 + — így a tulajdonos-információk is hibátlanok.

+

A QNAP felületére szabott lépésről lépésre útmutató készül.

+
+
+ + +
+ + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_catchall_unknown.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_catchall_unknown.html new file mode 100644 index 00000000..41accfc5 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_catchall_unknown.html @@ -0,0 +1,45 @@ + + + + + + +felhom.eu + + + + +
+ +
+ +
+ +
Ez az oldal nem található
+
+ + Alkalmazások + + Vezérlőpult +
+
nope-i18n.enkisfelhom.hu
+
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_claim.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_claim.html new file mode 100644 index 00000000..6de25813 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_claim.html @@ -0,0 +1,54 @@ + + + + + + + Jelszó visszaállítása — Felhom + + + +
+ +

Jelszó visszaállítása

+

Demo HP

+ + + + + + +

+ Add meg az e-mailben kapott beállító kódot, majd válassz új jelszót. +

+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_login.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_login.html new file mode 100644 index 00000000..5fd60ba9 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/anon_login.html @@ -0,0 +1,40 @@ + + + + + + + Bejelentkezés — Felhom + + + +
+ +

Otthoni vezérlőpult

+

Demo HP

+ + +
+ +
+ + +
+ +
+

Elfelejtett jelszó

+ +
+ + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/dashboard.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/dashboard.html new file mode 100644 index 00000000..d7663916 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/dashboard.html @@ -0,0 +1,1108 @@ + + + + + + + + Vezérlőpult — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +
13
+
Futó alkalmazás
+
+ +
0
+
Leállítva
+
+ +
56
+
Összes alkalmazás
+
+
+ + +
+
+
+
+ Memória + 3.8 GB / 25 GB (15%) +
+
+
+
+
+
+
+ CPU + 6% +
+
+
+
+
Load: 1.04 / 0.81 / 0.72
+
+ +
+
+ Hőmérséklet + 54°C +
+
+ +
+
+ + + +
+
+ Rendszer (/) + 16.7 GB / 68.7 GB (24%) +
+
+
+
+ +
+ + + + +
+
+ NVME 1TB + 15.1 GB / 938 GB (2%) +
+
+
+
+ +
+ + +
+ + +
+ + +
+

Lemezek állapota

+ + + +
+ + +
+

Biztonsági mentés

+ +
+ Utolsó mentés: + + + 2026-09-17 08:50 + + +
+ + +
+ Adatbázisok: + 16 mentve +
+ + +
+ + +

Telepített alkalmazások

+ +
+ + + + +
+ +
+ AdventureLog + Utazási napló és kalandtervező +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ BentoPDF + Adatvédelmi fókuszú PDF eszköztár +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ BookStack + Egyszerű, könyv-szerű wiki és dokumentáció platform +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Calibre-Web Automated + Automatizált e-könyv könyvtár - konvertálás, metaadat kezelés és webes olvasó +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Cloudflare Tunnel + Biztonságos internetkapcsolat — a szerver portnyitás nélkül érhető el kívülről. +
+
+ + + Fut + + + + + + + + + + Védett + + + + + + + +
+
+ + + + + +
+ +
+ Docmost + Modern wiki és dokumentáció platform (Notion-szerű) +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ FileBrowser + Fájlkezelő — a tárhely fájljainak böngészése a böngészőből. +
+
+ + + Fut + + + + + + + + + + Védett + + + + Megnyitás + + + + + + +
+
+ + + + + +
+ +
+ Kimai + Időkövetés és projektmenedzsment +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ OpenGist + Kód snippetek megosztása (GitHub Gist alternatíva) +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Paperless-ngx + Dokumentumok digitalizálása és rendszerezése +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ PrivateBin + Titkosított jegyzet és szöveg megosztás +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ RomM + Retró játékgyűjtemény kezelő +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Traefik + Forgalomirányító (reverse proxy) — a kéréseket a megfelelő alkalmazáshoz irányítja. +
+
+ + + Fut + + + + + + + + + + Védett + + + + + + + +
+
+ + +
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/debug.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/debug.html new file mode 100644 index 00000000..f951b2b9 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/debug.html @@ -0,0 +1,1300 @@ + + + + + + + + Debug — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ Debug mód aktív — ez az oldal csak fejlesztéshez és hibaelhárításhoz +
+ + +
+
+

Rendszer diagnosztika

+ ▶ +
+ +
+ + +
+
+

Értesítés teszt

+ ▶ +
+ +
+ + +
+
+

Mentés teszt

+ ▶ +
+ +
+ + +
+
+

Hub & Kapcsolatok

+ ▶ +
+ +
+ + +
+
+

Telemetria teszt

+ ▶ +
+ +
+ + +
+
+

Önfrissítés teszt

+ ▶ +
+ +
+ + +
+
+

DR / Telepítő varázsló

+ ▶ +
+ +
+ + +
+
+

Alkalmazás Export/Import

+ ▶ +
+ +
+ + +
+
+

Naplóviewer

+ ▶ +
+ +
+ + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/launcher.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/launcher.html new file mode 100644 index 00000000..1b3a1718 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/launcher.html @@ -0,0 +1,706 @@ + + + + + + + + Indítópult — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + + + + + A + + + + AdventureLog + + + + + + + + + B + + + + BentoPDF + + + + + + + + + B + + + + BookStack + + + + + + + + + C + + + + Calibre-Web Automated + + + + + + + + + D + + + + Docmost + + + + + + + + + F + + + + Filebrowser + + + + + + + + + K + + + + Kimai + + + + + + + + + O + + + + OpenGist + + + + + + + + + P + + + + Paperless-ngx + + + + + + + + + P + + + + PrivateBin + + + + + + + + + R + + + + RomM + + + + +
+ + + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/sharing.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/sharing.html new file mode 100644 index 00000000..4b05ceda --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/sharing.html @@ -0,0 +1,732 @@ + + + + + + + + Hálózati megosztás — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + +
+

+ A megosztott mappák a Windows Intézőben és a Mac Finderben jelennek meg, mintha egy hálózati + meghajtó lennének. A megosztás csak az otthoni hálózaton érhető el — az + internetről nem. +

+ +
+ +
+ +
+
+ + +
+ Ezen a néven jelenik meg a gép a hálózaton (\\FELHOM). + Legfeljebb 15 karakter: betű, szám, kötőjel, aláhúzás. +
+
+
+ +
+
+ + + + +
+ Állapot: + + áll + + +
+
+ Egyes hálózatokon a gép késve jelenik meg az eszközlistában. A + \\FELHOM cím beírása a címsorba ilyenkor is működik. +
+
+ + + +
+

Megosztási jelszó beállítása

+

+ Egy közös jelszó tartozik a háztartáshoz. A csatlakozáskor felhasználónévnek add meg: + felhom. +

+
+ +
+ + +
+
+ + +
+
+ +
+
+
+ +
+

Megosztott mappák

+ +
Még nincs megosztott mappa.
+ +
+ +
+

Új megosztás

+
+ +
+ + +
Legfeljebb 15 karakter: betű, szám, kötőjel, aláhúzás.
+
+ +
+ + +
+ +
+ + +
A mappa a kiválasztott tárhely shares/ könyvtárában jön létre.
+
+ + + +
+ +
+
+ +
+
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage.html new file mode 100644 index 00000000..54f0ac8e --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage.html @@ -0,0 +1,1064 @@ + + + + + + + + Tárhely — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + +
+

Adattárolók

+

Külső meghajtók kezelése alkalmazásadatok tárolásához.

+ + + + + +
+ +
+
+
+
+ NVME 1TB + +
+ /mnt/felhom-drives/hdd_1 +
+
+ + Alapértelmezett + Aktív + + + +
+
+ +
+ +
+
+ 15.1 GB / 937.8 GB +
+
+
+
+
+
+
+ + +
+ ext4 · /dev/nvme0n1[/felhom-data] · KXG50PNV1T02 NVMe TOSHIBA 1024GB +
+ + +
+ +
+ + 3 alkalmazás használja + +
+ +
+ Calibre-Web Automated + + Mozgatás +
+ +
+ Paperless-ngx + 69 B + Mozgatás +
+ +
+ RomM + 0 B + Mozgatás +
+ +
+
+ +
+
+
+
+ + +
+ + + + +
+ + + + + + +
+ +
+ +
+ + + + + + +
+ Új meghajtó inicializálása + Meglévő meghajtó csatolása +
+ +
+ + + + +
+
+ + +
+ Már csatlakoztatott tárhely hozzáadása kézzel +
+ +
+ + + Pl. /mnt/hdd_1 — a meghajtónak már csatolva kell lennie +
+
+ + +
+ + +
+
+
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_attach.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_attach.html new file mode 100644 index 00000000..3f941804 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_attach.html @@ -0,0 +1,628 @@ + + + + + + + + Meglévő meghajtó csatolása — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Meghajtó kiválasztása

+

Válassza ki a már fájlrendszerrel rendelkező meghajtót. + A meghajtón lévő adatok nem törlődnek — a csatolás csak elérhetővé teszi azokat.

+ +
Betöltés…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_init.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_init.html new file mode 100644 index 00000000..82f8b242 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_init.html @@ -0,0 +1,688 @@ + + + + + + + + Új meghajtó inicializálása — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Meghajtó kiválasztása

+

Válassza ki a formázandó felhasználói adatmeghajtót. Rendszer- és + biztonsági-mentés meghajtók itt nem jelennek meg — azok védettek. Ha a meghajtó adatot tartalmaz, a törlést + Önnek meg kell erősítenie.

+ +
Betöltés…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_network.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_network.html new file mode 100644 index 00000000..5e36d36f --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-back-hu/storage_network.html @@ -0,0 +1,702 @@ + + + + + + + + Hálózati tárhely — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +

NAS-megosztások

+

+ Egy NAS-megosztás (NFS vagy SMB) csatlakoztatása nagy méretű médiatartalomhoz (film, fotó, zene). + A megosztás kiválasztható médiaalkalmazás adatkönyvtáraként. A hálózati tárhely nem fizikai + meghajtó — nincs leszerelés/áthelyezés, csak eltávolítás. +

+ +

Nincs hálózati tárhely beállítva.

+ +
+ +
+

Hálózati tárhely hozzáadása

+ +

A csatlakoztatás előtt a rendszer ellenőrzi a megosztást: valóban + csatolható-e, és tudnak-e írni rá az alkalmazások. Hiba esetén semmi nem marad félkészen beállítva.

+
+
+ + +
+
+ + + A megosztás a /mnt/felhom-drives/<név> útvonalon lesz elérhető. +
+
+ + + IP-cím vagy DNS-név. A Windows-hálózati név (pl. FELHOM) itt általában nem oldható fel — a Megosztás oldal »közvetlen cím« sora adja meg a másik eszköz IP-címét. +
+
+ + +
+
+ + + A legtöbb médiaalkalmazás 1000-es azonosítóval fut. +
+
+
+ + +
+
+ + + A jelszót a gazda ügynök 0600-as fájlba írja; a vezérlő nem tárolja. +
+
+
+ +
+
+
+ +
+ +
+

Mit kell beállítani a NAS-on?

+
+ Útmutató megjelenítése +

Engedélyezze a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.

+

SMB (Synology, QNAP — a legtöbb NAS)

+

Hozzon létre (vagy jelöljön ki) egy felhasználót a NAS-on, és adjon neki írás-olvasás jogot a + megosztásra. Más beállítás nem szükséges — a fájlok a NAS-on ennek a felhasználónak a nevében + jönnek létre.

+

NFS

+

Synology (DSM, ellenőrzött lépések): először kapcsolja be az NFS-t — Vezérlőpult → File + Services → NFS fül → „Enable NFS service”, és állítsa a „Maximum NFS protocol” értékét + NFSv4.1-re (az alapértelmezett NFSv3 nem elegendő a csatlakoztatáshoz). Ezután a megosztott + mappa szerkesztésében az „NFS Permissions” fülön hozzon létre szabályt a Felhom gép + IP-címére, Read/Write jogosultsággal, a Squash mezőben a „Map all users to admin” opcióval. + A megosztás elérési útja ugyanezen a fülön látható (pl. /volume1/<mappa>) — ez kerül a + fenti „Megosztás” mezőbe.

+

Egyszerű (más NAS-okhoz): kapcsolja be az exporton a „minden felhasználó leképezése” (map all + users / all squash) opciót írás-olvasás móddal — bármelyik helyi felhasználóra. A fájlok + tulajdonosa a rendszerben „nobody”-ként látszik; az alkalmazások túlnyomó többségének ez megfelelő.

+

Teljes értékű (TrueNAS / Linux szerver): export a következő opciókkal: + rw,all_squash,anonuid=101000,anongid=101000 + — így a tulajdonos-információk is hibátlanok.

+

A QNAP felületére szabott lépésről lépésre útmutató készül.

+
+
+ + +
+ + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_catchall_unknown.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_catchall_unknown.html new file mode 100644 index 00000000..41accfc5 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_catchall_unknown.html @@ -0,0 +1,45 @@ + + + + + + +felhom.eu + + + + +
+ +
+ +
+ +
Ez az oldal nem található
+
+ + Alkalmazások + + Vezérlőpult +
+
nope-i18n.enkisfelhom.hu
+
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_claim.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_claim.html new file mode 100644 index 00000000..6de25813 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_claim.html @@ -0,0 +1,54 @@ + + + + + + + Jelszó visszaállítása — Felhom + + + +
+ +

Jelszó visszaállítása

+

Demo HP

+ + + + + + +

+ Add meg az e-mailben kapott beállító kódot, majd válassz új jelszót. +

+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_login.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_login.html new file mode 100644 index 00000000..d78ecfc1 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/anon_login.html @@ -0,0 +1,40 @@ + + + + + + + Bejelentkezés — Felhom + + + +
+ +

Otthoni vezérlőpult

+

Demo HP

+ + +
+ +
+ + +
+ +
+

Elfelejtett jelszó

+ +
+ + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/dashboard.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/dashboard.html new file mode 100644 index 00000000..cfd6d244 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/dashboard.html @@ -0,0 +1,1108 @@ + + + + + + + + Vezérlőpult — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +
13
+
Futó alkalmazás
+
+ +
0
+
Leállítva
+
+ +
56
+
Összes alkalmazás
+
+
+ + +
+
+
+
+ Memória + 3.9 GB / 25 GB (15%) +
+
+
+
+
+
+
+ CPU + 9% +
+
+
+
+
Load: 0.86 / 0.77 / 0.69
+
+ +
+
+ Hőmérséklet + 54°C +
+
+ +
+
+ + + +
+
+ Rendszer (/) + 16.7 GB / 68.7 GB (24%) +
+
+
+
+ +
+ + + + +
+
+ NVME 1TB + 15.1 GB / 938 GB (2%) +
+
+
+
+ +
+ + +
+ + +
+ + +
+

Lemezek állapota

+ + + +
+ + +
+

Biztonsági mentés

+ +
+ Utolsó mentés: + + + 2026-09-17 08:50 + + +
+ + +
+ Adatbázisok: + 16 mentve +
+ + +
+ + +

Telepített alkalmazások

+ +
+ + + + +
+ +
+ AdventureLog + Utazási napló és kalandtervező +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ BentoPDF + Adatvédelmi fókuszú PDF eszköztár +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ BookStack + Egyszerű, könyv-szerű wiki és dokumentáció platform +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Calibre-Web Automated + Automatizált e-könyv könyvtár - konvertálás, metaadat kezelés és webes olvasó +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Cloudflare Tunnel + Biztonságos internetkapcsolat — a szerver portnyitás nélkül érhető el kívülről. +
+
+ + + Fut + + + + + + + + + + Védett + + + + + + + +
+
+ + + + + +
+ +
+ Docmost + Modern wiki és dokumentáció platform (Notion-szerű) +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ FileBrowser + Fájlkezelő — a tárhely fájljainak böngészése a böngészőből. +
+
+ + + Fut + + + + + + + + + + Védett + + + + Megnyitás + + + + + + +
+
+ + + + + +
+ +
+ Kimai + Időkövetés és projektmenedzsment +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ OpenGist + Kód snippetek megosztása (GitHub Gist alternatíva) +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Paperless-ngx + Dokumentumok digitalizálása és rendszerezése +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ PrivateBin + Titkosított jegyzet és szöveg megosztás +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ RomM + Retró játékgyűjtemény kezelő +
+
+ + + Fut + + + + + + + + + + + + Megnyitás + + + + Napló + + + +
+
+ + + + + +
+ +
+ Traefik + Forgalomirányító (reverse proxy) — a kéréseket a megfelelő alkalmazáshoz irányítja. +
+
+ + + Fut + + + + + + + + + + Védett + + + + + + + +
+
+ + +
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/debug.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/debug.html new file mode 100644 index 00000000..7dd63d02 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/debug.html @@ -0,0 +1,1300 @@ + + + + + + + + Debug — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ Debug mód aktív — ez az oldal csak fejlesztéshez és hibaelhárításhoz +
+ + +
+
+

Rendszer diagnosztika

+ ▶ +
+ +
+ + +
+
+

Értesítés teszt

+ ▶ +
+ +
+ + +
+
+

Mentés teszt

+ ▶ +
+ +
+ + +
+
+

Hub & Kapcsolatok

+ ▶ +
+ +
+ + +
+
+

Telemetria teszt

+ ▶ +
+ +
+ + +
+
+

Önfrissítés teszt

+ ▶ +
+ +
+ + +
+
+

DR / Telepítő varázsló

+ ▶ +
+ +
+ + +
+
+

Alkalmazás Export/Import

+ ▶ +
+ +
+ + +
+
+

Naplóviewer

+ ▶ +
+ +
+ + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/launcher.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/launcher.html new file mode 100644 index 00000000..12f418c8 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/launcher.html @@ -0,0 +1,706 @@ + + + + + + + + Indítópult — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + + + + + A + + + + AdventureLog + + + + + + + + + B + + + + BentoPDF + + + + + + + + + B + + + + BookStack + + + + + + + + + C + + + + Calibre-Web Automated + + + + + + + + + D + + + + Docmost + + + + + + + + + F + + + + Filebrowser + + + + + + + + + K + + + + Kimai + + + + + + + + + O + + + + OpenGist + + + + + + + + + P + + + + Paperless-ngx + + + + + + + + + P + + + + PrivateBin + + + + + + + + + R + + + + RomM + + + + +
+ + + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/sharing.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/sharing.html new file mode 100644 index 00000000..8a0a1555 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/sharing.html @@ -0,0 +1,732 @@ + + + + + + + + Hálózati megosztás — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + +
+

+ A megosztott mappák a Windows Intézőben és a Mac Finderben jelennek meg, mintha egy hálózati + meghajtó lennének. A megosztás csak az otthoni hálózaton érhető el — az + internetről nem. +

+ +
+ +
+ +
+
+ + +
+ Ezen a néven jelenik meg a gép a hálózaton (\\FELHOM). + Legfeljebb 15 karakter: betű, szám, kötőjel, aláhúzás. +
+
+
+ +
+
+ + + + +
+ Állapot: + + áll + + +
+
+ Egyes hálózatokon a gép késve jelenik meg az eszközlistában. A + \\FELHOM cím beírása a címsorba ilyenkor is működik. +
+
+ + + +
+

Megosztási jelszó beállítása

+

+ Egy közös jelszó tartozik a háztartáshoz. A csatlakozáskor felhasználónévnek add meg: + felhom. +

+
+ +
+ + +
+
+ + +
+
+ +
+
+
+ +
+

Megosztott mappák

+ +
Még nincs megosztott mappa.
+ +
+ +
+

Új megosztás

+
+ +
+ + +
Legfeljebb 15 karakter: betű, szám, kötőjel, aláhúzás.
+
+ +
+ + +
+ +
+ + +
A mappa a kiválasztott tárhely shares/ könyvtárában jön létre.
+
+ + + +
+ +
+
+ +
+
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage.html new file mode 100644 index 00000000..e7b759ca --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage.html @@ -0,0 +1,1064 @@ + + + + + + + + Tárhely — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + +
+

Adattárolók

+

Külső meghajtók kezelése alkalmazásadatok tárolásához.

+ + + + + +
+ +
+
+
+
+ NVME 1TB + +
+ /mnt/felhom-drives/hdd_1 +
+
+ + Alapértelmezett + Aktív + + + +
+
+ +
+ +
+
+ 15.1 GB / 937.8 GB +
+
+
+
+
+
+
+ + +
+ ext4 · /dev/nvme0n1[/felhom-data] · KXG50PNV1T02 NVMe TOSHIBA 1024GB +
+ + +
+ +
+ + 3 alkalmazás használja + +
+ +
+ Calibre-Web Automated + + Mozgatás +
+ +
+ Paperless-ngx + 69 B + Mozgatás +
+ +
+ RomM + 0 B + Mozgatás +
+ +
+
+ +
+
+
+
+ + +
+ + + + +
+ + + + + + +
+ +
+ +
+ + + + + + +
+ Új meghajtó inicializálása + Meglévő meghajtó csatolása +
+ +
+ + + + +
+
+ + +
+ Már csatlakoztatott tárhely hozzáadása kézzel +
+ +
+ + + Pl. /mnt/hdd_1 — a meghajtónak már csatolva kell lennie +
+
+ + +
+ + +
+
+
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_attach.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_attach.html new file mode 100644 index 00000000..41ceac83 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_attach.html @@ -0,0 +1,628 @@ + + + + + + + + Meglévő meghajtó csatolása — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Meghajtó kiválasztása

+

Válassza ki a már fájlrendszerrel rendelkező meghajtót. + A meghajtón lévő adatok nem törlődnek — a csatolás csak elérhetővé teszi azokat.

+ +
Betöltés…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_init.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_init.html new file mode 100644 index 00000000..49ee92bc --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_init.html @@ -0,0 +1,688 @@ + + + + + + + + Új meghajtó inicializálása — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Meghajtó kiválasztása

+

Válassza ki a formázandó felhasználói adatmeghajtót. Rendszer- és + biztonsági-mentés meghajtók itt nem jelennek meg — azok védettek. Ha a meghajtó adatot tartalmaz, a törlést + Önnek meg kell erősítenie.

+ +
Betöltés…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_network.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_network.html new file mode 100644 index 00000000..7fa99f6c --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-before-0.249.0/storage_network.html @@ -0,0 +1,702 @@ + + + + + + + + Hálózati tárhely — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +

NAS-megosztások

+

+ Egy NAS-megosztás (NFS vagy SMB) csatlakoztatása nagy méretű médiatartalomhoz (film, fotó, zene). + A megosztás kiválasztható médiaalkalmazás adatkönyvtáraként. A hálózati tárhely nem fizikai + meghajtó — nincs leszerelés/áthelyezés, csak eltávolítás. +

+ +

Nincs hálózati tárhely beállítva.

+ +
+ +
+

Hálózati tárhely hozzáadása

+ +

A csatlakoztatás előtt a rendszer ellenőrzi a megosztást: valóban + csatolható-e, és tudnak-e írni rá az alkalmazások. Hiba esetén semmi nem marad félkészen beállítva.

+
+
+ + +
+
+ + + A megosztás a /mnt/felhom-drives/<név> útvonalon lesz elérhető. +
+
+ + + IP-cím vagy DNS-név. A Windows-hálózati név (pl. FELHOM) itt általában nem oldható fel — a Megosztás oldal »közvetlen cím« sora adja meg a másik eszköz IP-címét. +
+
+ + +
+
+ + + A legtöbb médiaalkalmazás 1000-es azonosítóval fut. +
+
+
+ + +
+
+ + + A jelszót a gazda ügynök 0600-as fájlba írja; a vezérlő nem tárolja. +
+
+
+ +
+
+
+ +
+ +
+

Mit kell beállítani a NAS-on?

+
+ Útmutató megjelenítése +

Engedélyezze a Felhom gép IP-címét a megosztáson. Proxmox-fürt esetén minden csomópont IP-címét.

+

SMB (Synology, QNAP — a legtöbb NAS)

+

Hozzon létre (vagy jelöljön ki) egy felhasználót a NAS-on, és adjon neki írás-olvasás jogot a + megosztásra. Más beállítás nem szükséges — a fájlok a NAS-on ennek a felhasználónak a nevében + jönnek létre.

+

NFS

+

Synology (DSM, ellenőrzött lépések): először kapcsolja be az NFS-t — Vezérlőpult → File + Services → NFS fül → „Enable NFS service”, és állítsa a „Maximum NFS protocol” értékét + NFSv4.1-re (az alapértelmezett NFSv3 nem elegendő a csatlakoztatáshoz). Ezután a megosztott + mappa szerkesztésében az „NFS Permissions” fülön hozzon létre szabályt a Felhom gép + IP-címére, Read/Write jogosultsággal, a Squash mezőben a „Map all users to admin” opcióval. + A megosztás elérési útja ugyanezen a fülön látható (pl. /volume1/<mappa>) — ez kerül a + fenti „Megosztás” mezőbe.

+

Egyszerű (más NAS-okhoz): kapcsolja be az exporton a „minden felhasználó leképezése” (map all + users / all squash) opciót írás-olvasás móddal — bármelyik helyi felhasználóra. A fájlok + tulajdonosa a rendszerben „nobody”-ként látszik; az alkalmazások túlnyomó többségének ez megfelelő.

+

Teljes értékű (TrueNAS / Linux szerver): export a következő opciókkal: + rw,all_squash,anonuid=101000,anongid=101000 + — így a tulajdonos-információk is hibátlanok.

+

A QNAP felületére szabott lépésről lépésre útmutató készül.

+
+
+ + +
+ + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_catchall_unknown.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_catchall_unknown.html new file mode 100644 index 00000000..7fda45cf --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_catchall_unknown.html @@ -0,0 +1,45 @@ + + + + + + +felhom.eu + + + + +
+ +
+ +
+ +
Ez az oldal nem található
+
+ + Apps + + Dashboard +
+
nope-i18n.enkisfelhom.hu
+
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_claim.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_claim.html new file mode 100644 index 00000000..7af8ca54 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_claim.html @@ -0,0 +1,54 @@ + + + + + + + Reset password — Felhom + + + +
+ +

Reset password

+

Demo HP

+ + + + + + +

+ Enter the setup code you got by e-mail, then choose a new password. +

+
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_login.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_login.html new file mode 100644 index 00000000..87235f70 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/anon_login.html @@ -0,0 +1,40 @@ + + + + + + + Sign in — Felhom + + + +
+ +

Home dashboard

+

Demo HP

+ + +
+ +
+ + +
+ +
+

Forgot password

+ +
+ + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/dashboard.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/dashboard.html new file mode 100644 index 00000000..f38a6b8d --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/dashboard.html @@ -0,0 +1,1108 @@ + + + + + + + + Dashboard — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +
13
+
Running apps
+
+ +
0
+
Stopped
+
+ +
56
+
All apps
+
+
+ + +
+
+
+
+ Memory + 3.8 GB / 25 GB (15%) +
+
+
+
+
+
+
+ CPU + 4% +
+
+
+
+
Load: 0.77 / 0.75 / 0.69
+
+ +
+
+ Temperature + 54°C +
+
+ +
+
+ + + +
+
+ System (/) + 16.7 GB / 68.7 GB (24%) +
+
+
+
+ +
+ + + + +
+
+ NVME 1TB + 15.1 GB / 938 GB (2%) +
+
+
+
+ +
+ + +
+ + +
+ + +
+

Disk health

+ + + +
+ + +
+

Backup

+ +
+ Last backup: + + + 2026-09-17 08:50 + + +
+ + +
+ Databases: + 16 backed up +
+ + +
+ + +

Installed apps

+ +
+ + + + +
+ +
+ AdventureLog + Utazási napló és kalandtervező +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ BentoPDF + Adatvédelmi fókuszú PDF eszköztár +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ BookStack + Egyszerű, könyv-szerű wiki és dokumentáció platform +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ Calibre-Web Automated + Automatizált e-könyv könyvtár - konvertálás, metaadat kezelés és webes olvasó +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ Cloudflare Tunnel + Secure internet connection — the server is reachable from outside without opening ports. +
+
+ + + Running + + + + + + + + + + Protected + + + + + + + +
+
+ + + + + +
+ +
+ Docmost + Modern wiki és dokumentáció platform (Notion-szerű) +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ FileBrowser + File manager — browse the storage files from your browser. +
+
+ + + Running + + + + + + + + + + Protected + + + + Open + + + + + + +
+
+ + + + + +
+ +
+ Kimai + Időkövetés és projektmenedzsment +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ OpenGist + Kód snippetek megosztása (GitHub Gist alternatíva) +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ Paperless-ngx + Dokumentumok digitalizálása és rendszerezése +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ PrivateBin + Titkosított jegyzet és szöveg megosztás +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ RomM + Retró játékgyűjtemény kezelő +
+
+ + + Running + + + + + + + + + + + + Open + + + + Log + + + +
+
+ + + + + +
+ +
+ Traefik + Traffic router (reverse proxy) — sends each request to the right app. +
+
+ + + Running + + + + + + + + + + Protected + + + + + + + +
+
+ + +
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/debug.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/debug.html new file mode 100644 index 00000000..cb0cac4b --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/debug.html @@ -0,0 +1,1300 @@ + + + + + + + + Debug — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ Debug mode on — this page is only for development and troubleshooting +
+ + +
+
+

System diagnostics

+ ▶ +
+ +
+ + +
+
+

Notification test

+ ▶ +
+ +
+ + +
+
+

Backup test

+ ▶ +
+ +
+ + +
+
+

Hub & Connections

+ ▶ +
+ +
+ + +
+
+

Telemetry test

+ ▶ +
+ +
+ + +
+
+

Self-update test

+ ▶ +
+ +
+ + +
+
+

DR / Setup wizard

+ ▶ +
+ +
+ + +
+
+

App Export/Import

+ ▶ +
+ +
+ + +
+
+

Log viewer

+ ▶ +
+ +
+ + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/launcher.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/launcher.html new file mode 100644 index 00000000..cc38a529 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/launcher.html @@ -0,0 +1,706 @@ + + + + + + + + Launcher — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + + + + + A + + + + AdventureLog + + + + + + + + + B + + + + BentoPDF + + + + + + + + + B + + + + BookStack + + + + + + + + + C + + + + Calibre-Web Automated + + + + + + + + + D + + + + Docmost + + + + + + + + + F + + + + Filebrowser + + + + + + + + + K + + + + Kimai + + + + + + + + + O + + + + OpenGist + + + + + + + + + P + + + + Paperless-ngx + + + + + + + + + P + + + + PrivateBin + + + + + + + + + R + + + + RomM + + + + +
+ + + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/sharing.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/sharing.html new file mode 100644 index 00000000..0801799f --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/sharing.html @@ -0,0 +1,732 @@ + + + + + + + + Network sharing — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + + +
+

+ Shared folders appear in Windows Explorer and the Mac Finder as if they were a network + drive. Sharing works only on the home network — not from the + internet. +

+ +
+ +
+ +
+
+ + +
+ The machine appears on the network under this name (\\FELHOM). + At most 15 characters: letters, digits, hyphen, underscore. +
+
+
+ +
+
+ + + + +
+ Status: + + stopped + + +
+
+ On some networks the machine appears late in the device list. Typing the + \\FELHOM address into the address bar works then too. +
+
+ + + +
+

Set the sharing password

+

+ The household has one shared password. When connecting, use this as the username: + felhom. +

+
+ +
+ + +
+
+ + +
+
+ +
+
+
+ +
+

Shared folders

+ +
No shared folder yet.
+ +
+ +
+

New share

+
+ +
+ + +
At most 15 characters: letters, digits, hyphen, underscore.
+
+ +
+ + +
+ +
+ + +
The folder is created in the chosen storage’s shares/ directory.
+
+ + + +
+ +
+
+ +
+
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage.html new file mode 100644 index 00000000..d561aeb5 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage.html @@ -0,0 +1,1064 @@ + + + + + + + + Storage — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + + +
+

Data storage

+

Manage external drives for storing app data.

+ + + + + +
+ +
+
+
+
+ NVME 1TB + +
+ /mnt/felhom-drives/hdd_1 +
+
+ + Default + Active + + + +
+
+ +
+ +
+
+ 15.1 GB / 937.8 GB +
+
+
+
+
+
+
+ + +
+ ext4 · /dev/nvme0n1[/felhom-data] · KXG50PNV1T02 NVMe TOSHIBA 1024GB +
+ + +
+ +
+ + Used by 3 apps + +
+ +
+ Calibre-Web Automated + + Move +
+ +
+ Paperless-ngx + 69 B + Move +
+ +
+ RomM + 0 B + Move +
+ +
+
+ +
+
+
+
+ + +
+ + + + +
+ + + + + + +
+ +
+ +
+ + + + + + +
+ Initialise a new drive + Attach an existing drive +
+ +
+ + + + +
+
+ + +
+ Add already mounted storage by hand +
+ +
+ + + For example /mnt/hdd_1 — the drive must already be mounted +
+
+ + +
+ + +
+
+
+ + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_attach.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_attach.html new file mode 100644 index 00000000..7ac96d54 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_attach.html @@ -0,0 +1,628 @@ + + + + + + + + Attach an existing drive — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Choose a drive

+

Choose the drive that already has a file system. + The data on the drive is not deleted — attaching only makes it available.

+ +
Loading…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_init.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_init.html new file mode 100644 index 00000000..8d690e6a --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_init.html @@ -0,0 +1,688 @@ + + + + + + + + Initialise a new drive — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+

1. Choose a drive

+

Choose the data drive to format. System and + backup drives do not appear here — they are protected. If the drive holds data, you have to confirm + the deletion.

+ +
Loading…
+
+ + + + + + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_network.html b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_network.html new file mode 100644 index 00000000..a06e3dc5 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/C-saved-en/storage_network.html @@ -0,0 +1,702 @@ + + + + + + + + Network storage — Felhom.eu + + + + + + + + +
+ + +
+ + +
+ + + + + + + + + + +
+ +

NAS shares

+

+ Connect a NAS share (NFS or SMB) for large media (films, photos, music). + The share can be chosen as a media app’s data folder. Network storage is not a physical + drive — there is no unmount or move, only removal. +

+ +

No network storage set up.

+ +
+ +
+

Add network storage

+ +

Before connecting, the system checks the share: whether it can really + be mounted, and whether the apps can write to it. If something fails, nothing is left half set up.

+
+
+ + +
+
+ + + The share will be available at /mnt/felhom-drives/<name>. +
+
+ + + IP address or DNS name. The Windows network name (for example FELHOM) usually cannot be resolved here — the »direct address« line on the Sharing page gives the other device’s IP address. +
+
+ + +
+
+ + + Most media apps run with ID 1000. +
+
+
+ + +
+
+ + + The host agent writes the password to a 0600 file; the controller does not keep it. +
+
+
+ +
+
+
+ +
+ +
+

What do I set up on the NAS?

+
+ Show guide +

Allow the Felhom machine’s IP address on the share. For a Proxmox cluster, the IP address of every node.

+

SMB (Synology, QNAP — most NAS devices)

+

Create (or pick) a user on the NAS, and give it read-write rights on the + share. Nothing else is needed — files on the NAS are created in that user’s + name.

+

NFS

+

Synology (DSM, checked steps): first turn on NFS — Control Panel → File + Services → NFS tab → „Enable NFS service”, and set „Maximum NFS protocol” to + NFSv4.1 (the default NFSv3 is not enough to connect). Then, editing the shared + folder, on the „NFS Permissions” tab create a rule for the Felhom machine’s + IP address, with Read/Write permission and „Map all users to admin” in the Squash field. + The share path is shown on the same tab (for example /volume1/<folder>) — it goes into the + „Share” field above.

+

Simple (other NAS devices): turn on „map all users” (all squash) on the export with read-write mode + — to any local user. The file + owner shows as „nobody” in the system; that is fine for the great majority of apps.

+

Complete (TrueNAS / Linux server): export with these options: + rw,all_squash,anonuid=101000,anongid=101000 + — so the owner information is correct too.

+

A step-by-step guide for the QNAP interface is being written.

+
+
+ + +
+ + +
+ + + + diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/en-pages.txt b/documentation/audits/i18n-slice1-2026-09-17/C/live/en-pages.txt new file mode 100644 index 00000000..29c18888 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/en-pages.txt @@ -0,0 +1,24 @@ +method: endpoint-level curl inside guest 9201 after POST /settings/language lang=en (302 -> /launcher, settings.json language=en). +anon_catchall_unknown.html: html lang=en True; switch form False; lines with accented letters 1 (hu control 3); ASCII-Hungarian words ['nem'] +
Ez az oldal nem található
+anon_claim.html: html lang=en True; switch form False; lines with accented letters 0 (hu control 12); ASCII-Hungarian words [] +anon_login.html: html lang=en True; switch form False; lines with accented letters 0 (hu control 7); ASCII-Hungarian words [] +dashboard.html: html lang=en True; switch form True; lines with accented letters 10 (hu control 147); ASCII-Hungarian words ['Rendben'] + Utazási napló és kalandtervező + Adatvédelmi fókuszú PDF eszköztár + Egyszerű, könyv-szerű wiki és dokumentáció platform + Automatizált e-könyv könyvtár - konvertálás, metaadat kezelés és webes olvasó + Modern wiki és dokumentáció platform (Notion-szerű) + Időkövetés és projektmenedzsment + Kód snippetek megosztása (GitHub Gist alternatíva) + Dokumentumok digitalizálása és rendszerezése + Titkosított jegyzet és szöveg megosztás + Retró játékgyűjtemény kezelő +debug.html: html lang=en True; switch form True; lines with accented letters 0 (hu control 166); ASCII-Hungarian words [] +launcher.html: html lang=en True; switch form True; lines with accented letters 0 (hu control 85); ASCII-Hungarian words [] +sharing.html: html lang=en True; switch form True; lines with accented letters 0 (hu control 116); ASCII-Hungarian words [] +storage.html: html lang=en True; switch form True; lines with accented letters 0 (hu control 161); ASCII-Hungarian words [] +storage_attach.html: html lang=en True; switch form True; lines with accented letters 0 (hu control 97); ASCII-Hungarian words [] +storage_init.html: html lang=en True; switch form True; lines with accented letters 0 (hu control 108); ASCII-Hungarian words [] +storage_network.html: html lang=en True; switch form True; lines with accented letters 0 (hu control 130); ASCII-Hungarian words [] +negative control: ASCII_HU on 'Backup completed at 03:00' -> False diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/hu-after-vs-back.txt b/documentation/audits/i18n-slice1-2026-09-17/C/live/hu-after-vs-back.txt new file mode 100644 index 00000000..d95aa146 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/hu-after-vs-back.txt @@ -0,0 +1,20 @@ +anon_catchall_unknown.html: IDENTICAL +anon_claim.html: IDENTICAL +anon_login.html: IDENTICAL +dashboard.html: 8 differing lines + - 4% + + 6% + -
+ +
+ -
Load: 0.77 / 0.75 / 0.69
+ +
Load: 1.04 / 0.81 / 0.72
+ - 56°C + + 54°C +debug.html: IDENTICAL +launcher.html: IDENTICAL +sharing.html: IDENTICAL +storage.html: IDENTICAL +storage_attach.html: IDENTICAL +storage_init.html: IDENTICAL +storage_network.html: IDENTICAL +--- lines differing in more than digits (live data other than numbers), per file: diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/hu-before-vs-after.txt b/documentation/audits/i18n-slice1-2026-09-17/C/live/hu-before-vs-after.txt new file mode 100644 index 00000000..c91d3f1d --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/hu-before-vs-after.txt @@ -0,0 +1,22 @@ +method: endpoint-level curl inside guest 9201 (https://127.0.0.1:443, Host felhom.enkisfelhom.hu; catch-all from the controller container address). CSRF token and version normalised. +anon_catchall_unknown.html: raw 2141 -> 2141 bytes; switch forms in after: 0 (after version span: False); after minus the switch, normalised: IDENTICAL +anon_claim.html: raw 2430 -> 2430 bytes; switch forms in after: 0 (after version span: False); after minus the switch, normalised: IDENTICAL +anon_login.html: raw 1582 -> 1582 bytes; switch forms in after: 0 (after version span: False); after minus the switch, normalised: IDENTICAL +dashboard.html: raw 60407 -> 60837 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: 22 differing lines + - 3.9 GB / 25 GB (15%) + + 3.8 GB / 25 GB (15%) + - 9% + + 4% + -
+ +
+debug.html: raw 76780 -> 77206 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: IDENTICAL +launcher.html: raw 44213 -> 44642 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: IDENTICAL +sharing.html: raw 44670 -> 45098 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: IDENTICAL +storage.html: raw 65864 -> 66292 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: IDENTICAL +storage_attach.html: raw 42126 -> 42561 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: IDENTICAL +storage_init.html: raw 45788 -> 46221 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: IDENTICAL +storage_network.html: raw 46817 -> 47253 bytes; switch forms in after: 1 (after version span: True); after minus the switch, normalised: IDENTICAL +dashboard: lines 1109 1109 +dashboard: differing lines that differ in MORE than digits: 2 + 256 KXG50PNV1T02 NVMe TOSHIBA 1024GB | SanDisk X600 M.2 2280 SATA 128GB + 262 SanDisk X600 M.2 2280 SATA 128GB | KXG50PNV1T02 NVMe TOSHIBA 1024GB diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/live/hub-report-language.txt b/documentation/audits/i18n-slice1-2026-09-17/C/live/hub-report-language.txt new file mode 100644 index 00000000..9f44b338 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/live/hub-report-language.txt @@ -0,0 +1,3 @@ +demo-hp 2026-09-17 16:45:10 controller 0.250.0 language='hu' +demo-hp 2026-09-17 16:46:06 controller 0.250.0 language='en' +demo-hp 2026-09-17 16:46:43 controller 0.250.0 language='hu' diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/redproofs.txt b/documentation/audits/i18n-slice1-2026-09-17/C/redproofs.txt new file mode 100644 index 00000000..1b7991d4 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/redproofs.txt @@ -0,0 +1,77 @@ +## TestHandlerTitleKeysMatchHungarianTitle — mutation 1: hu page.title.sharing reworded +=== RUN TestHandlerTitleKeysMatchHungarianTitle + i18n_wiring_test.go:365: sharing_handlers.go: handler title "Hálózati megosztás", but hu.json page.title.sharing = "Hálózati megosztások" +--- FAIL: TestHandlerTitleKeysMatchHungarianTitle (0.09s) +FAIL +FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.098s +FAIL +## mutation 2: the sharing handler's TitleKey line deleted +=== RUN TestHandlerTitleKeysMatchHungarianTitle + i18n_wiring_test.go:372: page.title.sharing has no handler setting it next to its Hungarian title +--- FAIL: TestHandlerTitleKeysMatchHungarianTitle (0.10s) +FAIL +FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.105s +FAIL +## restored +ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.103s + +## TestDirectRenderHandlersFollowLanguage — mutation: all five call sites back on s.tmpl.ExecuteTemplate +=== RUN TestDirectRenderHandlersFollowLanguage + i18n_wiring_test.go:446: login with en saved: code 200 (want 200), Launcher" false + i18n_wiring_test.go:446: launcher_share_password with en saved: code 200 (want 200), " false +--- FAIL: TestDirectRenderHandlersFollowLanguage (0.89s) +FAIL +FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.898s +FAIL +## TestI18nDirectRenderPagesHaveNoAdminChrome — mutation: executeTemplateLang also calls addEscrowBanner +=== RUN TestI18nDirectRenderPagesHaveNoAdminChrome + i18n_wiring_test.go:476: recovery: executeTemplateLang put EscrowBanner into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: recovery: executeTemplateLang put EscrowBannerBack into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: recovery: executeTemplateLang put CSRFField into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: login: executeTemplateLang put EscrowBanner into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: login: executeTemplateLang put EscrowBannerBack into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: login: executeTemplateLang put CSRFField into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: claim: executeTemplateLang put EscrowBanner into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: claim: executeTemplateLang put EscrowBannerBack into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: claim: executeTemplateLang put CSRFField into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: launcher_shared: executeTemplateLang put EscrowBanner into the page data — dashboard chrome on a page outside the dashboard + i18n_wiring_test.go:476: launcher_shared: executeTemplateLang put EscrowBannerBack into the page data — dashboard chrome on a page outside the dashboard +## restored +ok gitea.dooplex.hu/admin/felhom-controller/internal/web 1.076s + +## TestI18nParity — mutation: hu sharing.megosztott_mappak „Megosztott mappák" -> „Megosztott mappak" + i18n_parity_test.go:350: sharing_full: Hungarian page CHANGED at line 269 + i18n_parity_test.go:350: sharing_notarget_blocked: Hungarian page CHANGED at line 257 + i18n_parity_test.go:350: sharing_error_skipped: Hungarian page CHANGED at line 259 + i18n_parity_test.go:350: sharing_other_none: Hungarian page CHANGED at line 259 + i18n_parity_test.go:350: sharing_no_offsite_yet: Hungarian page CHANGED at line 259 + i18n_parity_test.go:350: sharing_off: Hungarian page CHANGED at line 244 +--- FAIL: TestI18nParity (0.46s) +FAIL +## TestI18nEnglishPages — mutation: en storage.eleresi_ut deleted (falls back to Hungarian „Elérési út") + i18n_parity_test.go:453: storage_full: Hungarian template copy on the English page, line 763: "" + i18n_parity_test.go:453: storage_empty: Hungarian template copy on the English page, line 463: "" +--- FAIL: TestI18nEnglishPages (1.59s) +FAIL +FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 1.607s +## TestI18nParityCoversEveryMarker — mutation: a new marker in a storage branch no case renders + i18n_parity_test.go:528: marker never rendered by any parity case: storage_attach.html storage_attach.hiba +--- FAIL: TestI18nParityCoversEveryMarker (1.01s) +FAIL +FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 1.025s +## restored +ok gitea.dooplex.hu/admin/felhom-controller/internal/web 3.140s + +## TestLanguageSwitch_EndToEnd (C.3) — mutation: the v0.247.0 hide condition put back in addLanguageData +--- FAIL: TestI18nParity (0.43s) + i18n_wiring_test.go:213: a Hungarian household with no ?lang= must see the language switch (form and the English choice) + i18n_wiring_test.go:254: back on Hungarian: the page must be Hungarian, with the switch still offered +--- FAIL: TestLanguageSwitch_EndToEnd (0.16s) +FAIL +FAIL gitea.dooplex.hu/admin/felhom-controller/internal/web 0.607s +TestI18nParity cases failing under the mutation: 89 +## restored +ok gitea.dooplex.hu/admin/felhom-controller/internal/web 0.617s diff --git a/documentation/audits/i18n-slice1-2026-09-17/C/switch-fixture-diff.txt b/documentation/audits/i18n-slice1-2026-09-17/C/switch-fixture-diff.txt new file mode 100644 index 00000000..b1313458 --- /dev/null +++ b/documentation/audits/i18n-slice1-2026-09-17/C/switch-fixture-diff.txt @@ -0,0 +1,6 @@ +fixtures re-captured: 89 +new fixture minus exactly one switch form, placed right after the version span, == old fixture byte-for-byte: 89 of 89 +each re-captured fixture differs from the old one on exactly ONE line (checked above; failures would print) +distinct switch blocks: 1 +BLOCK (89 fixtures):
+fixtures NOT re-captured, byte-identical to before: 17 of 17 diff --git a/documentation/backlog/CLOSED-ITEMS.md b/documentation/backlog/CLOSED-ITEMS.md index adfb7504..bdf5510a 100644 --- a/documentation/backlog/CLOSED-ITEMS.md +++ b/documentation/backlog/CLOSED-ITEMS.md @@ -26,6 +26,12 @@ --- +## 2026-09-17 — localisation slice 1: the whole dashboard in English (controller v0.248.0–v0.250.0) + +| Row | What | Closed | Full text | +|---|---|---|---| +| **R-556** | **Localisation slice 1 — the other 31 dashboard templates in English, Hungarian byte-identical (P3).** Closed in controller **v0.248.0** (`ff68b0b`, apps and settings), **v0.249.0** (`11b790e`, backups) and **v0.250.0** (`ac149c2` + `be2efe5`, storage, sharing, sign-in, claim, guest share, catch-all, debug, and the switch for everyone). Every page's parity fixtures were captured from its UNCONVERTED template before conversion (`6be55a0`, `f8ebc47`, `0555091`); 106 states. `TestI18nParityCoversEveryMarker` (every marker rendered by a case); English page mask narrowed to ≥ 2 words / ≥ 12 chars; retrieval-promise gate scans English; `executeTemplateLang` for the six pages outside the dashboard chrome (no session CSRF, no escrow reminder — `TestI18nDirectRenderPagesHaveNoAdminChrome`); `TestHandlerTitleKeysMatchHungarianTitle`. Decision 6 (switch hidden) superseded: the switch is on every dashboard page; the 89 layout fixtures re-captured and each equals its predecessor plus exactly one switch form. **Proven live on demo-hp 9201** for each release: Hungarian pages equal their previous-version fetch apart from live numbers (and, in C, the switch form); `POST /settings/language` made them English and back; the hub stored `hu`, `en`, `hu`. Startup parse: hu ~24–27 ms, en ~20–28 ms. **Reasoning kept:** a word a page COMPARES stays unconverted until the comparison is language-neutral (R-563); a fixture is never regenerated to make a conversion pass — the two re-captures in this slice (C's case titles, the switch) were captured from the tree that defines the truth and their diffs were proven to be exactly the intended change. Found: R-563, R-564, R-565, R-566, R-567, R-568; R-516 extended. `audits/i18n-slice1-2026-09-17/{A,B,C}/` | **CLOSED 2026-09-17 — PROVEN-LIVE** | full text: `git show bc15153:documentation/backlog/OPEN-ITEMS.md` | + ## 2026-09-16 — the drill: the tunnel answers from outside | ID | Title | Shipped | Evidence | diff --git a/documentation/backlog/OPEN-ITEMS.md b/documentation/backlog/OPEN-ITEMS.md index f02bc365..e520e0ef 100644 --- a/documentation/backlog/OPEN-ITEMS.md +++ b/documentation/backlog/OPEN-ITEMS.md @@ -711,7 +711,7 @@ class (an image `VOLUME` at an unmounted path) is still live — `immich-server` | **R-508** | **[P2-MEDIUM] Customer `tester-1` has no registered e-mail, so neither the self-bind link nor the setup code can reach a volunteer.** MEASURED 2026-09-14: the edit form's `email` value is empty; on bind the hub logged `[ERROR] [claim] claim code generated (gen 1) but customer tester-1 has NO registered email — deliver via resend after setting one`. A volunteer onboarded on this record would sit at „A szerver beállítása" with no code. **What it needs:** the operator sets the volunteer's address on the record before sending the guide (day-0 A.2). The hub's customer page could warn when a record with an unclaimed box has no e-mail — the log line exists, the page says nothing. | **WAITING-ON-OPERATOR — rank P2-MEDIUM; owner: operator (record), CC (page warning)** | | **R-509** | **[P1-HIGH] A box installed for an EXISTING customer never gets the self-bind e-mail the console tells the volunteer to open.** MEASURED 2026-09-14 (BIGNIGHT, VM 333, ISO 1.27.1): customer `tester-1` now has `tester1@felhom.eu` registered; the box registered as appliance 28 at 17:44:53Z and its console says „Nyisd meg az e-mailben kapott linket"; **ten minutes later the mailbox (read through the Gmail connector) held 0 messages to that address.** Cause, from source: the hub auto-sends the link only at customer creation (`hub/internal/web/configs.go:725`) and at RESET completion (`customer_reset.go:162`); a customer whose e-mail was added later, or whose previous box was destroyed, never receives one unless the operator presses „Send self-bind link". The volunteer guide's operator prerequisites do not list that press. Intervention **I1** of the big night (the operator's button pressed). **Fix shape (for the operator to choose):** send the link when an unclaimed appliance registers and a customer with no host is waiting, or add the press to the guide's operator prerequisites (day-0 A.2). **SHIPPED hub v0.114.0 (2026-09-15), NOT YET PROVEN BY A REAL MAIL:** triggers added — e-mail set/changed on a customer with no box, and host delete — each re-checking no bound host; every send recorded as `selfbind_link_sent` and shown on the Setup tab. Unit-proven with a red-proof (`TestSelfBind_EmailSetOnWaitingCustomerSendsLink`). The live check with the Gmail-read mailbox was NOT run: it needs a throwaway customer, and deleting one runs the RESET cascade (ep0 `deprovision` + Cloudflare), which is fenced without the operator's word. **Closes on:** one real mail from either trigger. | **READY — rank P1-HIGH; owner: CC (hub fix) · operator (which fix shape)** | | **R-511** | **[P2-MEDIUM] A customer whose box is rebuilt keeps its ep0 PBS token, and then the DR tier can be neither provisioned nor re-issued: the hub's error advises the one action that refuses.** MEASURED 2026-09-14 (BIGNIGHT, VM 333, `tester-1`, DR tier ticked): on the new box's WireGuard registration the hub logged `[ERROR] pbsdr auto-provision for tester-1 (WG-registration hook): the endpoint already holds a PBS token for tester-1 but the hub has no descriptor — use the explicit "Re-issue PBS credentials" action — save the customer config to retry`. The operator's `POST /configs/tester-1/pbsdr-reissue` → **400 `No provisioned PBS DR tier for this customer`** (`hub/internal/web/pbsdr.go` ~411). The token was left by the doorstep walk's host delete (a host delete does not deprovision tenancy; only RESET does, which also removes the tunnel). So a box rebuilt for an existing customer — the reinstall journey — has no whole-guest off-site tier and no button that restores it. **Fix shape:** let re-issue adopt an existing endpoint token when the descriptor is absent (the message already assumes it does), or have host delete offer to drop the PBS token. **SHIPPED hub v0.114.0 (2026-09-15):** re-issue ADOPTS the endpoint token when the descriptor is absent and the DR flag is on (re-key + descriptor rebuilt from the endpoint + `pbsdr_adopted` audit row); DR flag off still refuses, endpoint untouched (both pinned, red-proofed). **NOT proven on tester-1's real state:** re-issue needs an enrolled host and tester-1 has none. **ep0 cleanup DONE on the operator's yes (2026-09-15 08:33Z):** the one doorstep snapshot `ns tester-1 / ct/9201/2026-09-14T16:04:53Z` (logical 1 928 820 672 B) forgotten via the local PBS API; namespace lists empty; token `felhom@pbs!tester-1` kept; nothing outside tester-1 read or touched (`D3-*` in `audits/evidence-p1fixes-2026-09-15/`). The token-only release on host delete was NOT built → R-526. **Closes on:** adopt ending in a descriptor the next tester-1 box consumes **CONSEQUENCE MEASURED 2026-09-16:** the code fix shipped for this row is sound and currently INERT - the adopt path runs and the ENDPOINT refuses it for a missing `Datastore.Modify` grant (**R-534**). On the drill box the result is that a fresh install has NO off-site tier at all, and read-only listing of ep0 shows `ns/tester-1/ct` empty before and after the whole drill. This row stays open until R-534's grant is given and a re-issue is seen to succeed. **CLOSED 2026-09-16 — the adopt path is PROVEN LIVE.** The rebuilt-customer case reproduced by itself on a fresh box (the WG-registration hook refused exactly as this row describes and named the Re-issue action), and the adopt then completed: reissue ok → pbsdr ADOPTED (gen 2) → the box consumed the single-use secret two seconds later. The code shipped 2026-09-15 was sound; what made it inert was the ep0 grant (R-534), now given. | **CLOSED 2026-09-16 — proven live on a fresh box** | -| **R-516** | **[P3-LOW] English a customer meets on a fresh box and its apps' first screens — enumerated by the big night.** MEASURED 2026-09-14 (BIGNIGHT, VM 333, ISO 1.27.1, controller 0.242.0). Felhom-owned: (1) the dashboard menu item **„Debug"**; (2) the dashboard CPU tile **„Load: 0.29 / 0.39 / 0.37"**; (3) the launcher tile **„Filebrowser"** opens a login in English with no Felhom text (R-513); (4) the storage page mixes formal „Adjon hozzá / Csatlakoztasson" with the product's „te". App first screens a household meets before any Felhom text helps: (5) **Uptime Kuma 2.4 opens on „Which database would you like to use?"** (SQLite / Embedded MariaDB, „Next") — the app card's „Első lépések" does not mention it; (6) PrivateBin, Gokapi, AdventureLog and FileBrowser UIs are English (the apps' own). Already rows: the Proxmox installer screens (R-495, answered by the guide), `wiki.DOMAIN` (R-498). **Fix shape:** rename „Debug"/„Load" (controller); add the Uptime Kuma database step to its card, or pre-seed `db-config.json` for SQLite in the template (catalog). **Added by F4 (20:04:54Z):** (7) the storage page prints the disconnect time as a raw ISO UTC string „Leválasztva: 2026-09-14T19:58:02Z"; (8) the „Meghajtó leválasztva" banner appears twice on every page; (9) „4 telepített alkalmazás nem fut — nézze meg a rendszermonitort" uses the formal form. **Added by F7 (20:50–21:00Z, system disk at 95 %):** (10) a banner on every page in English, „**SSD disk usage high: 90%**"; (11) the dashboard tile reads „Rendszer (/) 61.8 GB / 68.7 GB (**90%**)" while `df` reports **95 %** (reserved blocks ignored), and „(/)" labels the data volume `/mnt/sys_drive`; the deploy page says nothing about free disk. **Added by the i18n spike (2026-09-17, controller v0.247.0):** (12) **six formal („ön") forms in the converted dashboard copy** — „Olvassa be telefonnal" (launcher QR hint), „Biztosan kikapcsolja a megosztást?" (launcher), „Ha újratelepíti … importálnia kell" (the layout's remove-app modal), „Kérjük, vegye fel a kapcsolatot" (backups empty state). They were NOT fixed — a localisation release may not change Hungarian bytes — and are now COUNTED by `controller/scripts/i18n_missing_gate.py` (`HU_FORMAL_CEILING` = 6, a ratchet: a new one convicts, fixing one lowers it). The inventory (`audits/I18N-INVENTORY-2026-09-17.md`) is the list this row closes against in localisation slice 6 (R-561). | **READY — rank P3-LOW; owner: CC (controller + catalog)** | +| **R-516** | **[P3-LOW] English a customer meets on a fresh box and its apps' first screens — enumerated by the big night.** MEASURED 2026-09-14 (BIGNIGHT, VM 333, ISO 1.27.1, controller 0.242.0). Felhom-owned: (1) the dashboard menu item **„Debug"**; (2) the dashboard CPU tile **„Load: 0.29 / 0.39 / 0.37"**; (3) the launcher tile **„Filebrowser"** opens a login in English with no Felhom text (R-513); (4) the storage page mixes formal „Adjon hozzá / Csatlakoztasson" with the product's „te". App first screens a household meets before any Felhom text helps: (5) **Uptime Kuma 2.4 opens on „Which database would you like to use?"** (SQLite / Embedded MariaDB, „Next") — the app card's „Első lépések" does not mention it; (6) PrivateBin, Gokapi, AdventureLog and FileBrowser UIs are English (the apps' own). Already rows: the Proxmox installer screens (R-495, answered by the guide), `wiki.DOMAIN` (R-498). **Fix shape:** rename „Debug"/„Load" (controller); add the Uptime Kuma database step to its card, or pre-seed `db-config.json` for SQLite in the template (catalog). **Added by F4 (20:04:54Z):** (7) the storage page prints the disconnect time as a raw ISO UTC string „Leválasztva: 2026-09-14T19:58:02Z"; (8) the „Meghajtó leválasztva" banner appears twice on every page; (9) „4 telepített alkalmazás nem fut — nézze meg a rendszermonitort" uses the formal form. **Added by F7 (20:50–21:00Z, system disk at 95 %):** (10) a banner on every page in English, „**SSD disk usage high: 90%**"; (11) the dashboard tile reads „Rendszer (/) 61.8 GB / 68.7 GB (**90%**)" while `df` reports **95 %** (reserved blocks ignored), and „(/)" labels the data volume `/mnt/sys_drive`; the deploy page says nothing about free disk. **Added by the i18n spike (2026-09-17, controller v0.247.0):** (12) **six formal („ön") forms in the converted dashboard copy** — „Olvassa be telefonnal" (launcher QR hint), „Biztosan kikapcsolja a megosztást?" (launcher), „Ha újratelepíti … importálnia kell" (the layout's remove-app modal), „Kérjük, vegye fel a kapcsolatot" (backups empty state). They were NOT fixed — a localisation release may not change Hungarian bytes — and are now COUNTED by `controller/scripts/i18n_missing_gate.py` (`HU_FORMAL_CEILING` = 6, a ratchet: a new one convicts, fixing one lowers it). The inventory (`audits/I18N-INVENTORY-2026-09-17.md`) is the list this row closes against in localisation slice 6 (R-561). **Extended 2026-09-17 by slice 1 (controller v0.248.0–v0.250.0):** the converted copy now counts **16** formal forms (`HU_FORMAL_CEILING` 6 → 10 → 12 → 16, each raise stated, Hungarian unchanged by rule) — and the count is an UNDER-count: the gate's stem list sees 4 on the release C pages (storage, drive wizards, debug), while a wider list („írja be”, „adja meg”, „adjon hozzá”, „válassza ki”, „biztosan eltávolítja”, „engedélyezze”, „hozzon létre”, „kattintson”) finds at least **22** keys there alone (login „Adja meg a jelszavát”, the NAS guide, the storage confirms). Widen the stems when this row is worked; the ceiling rises with them. | **READY — rank P3-LOW; owner: CC (controller + catalog)** | | **R-518** | **[P2-MEDIUM] „Mentés most" on the whole-system backup stops every app for about eight minutes while the page promises „csak néhány másodpercre".** MEASURED 2026-09-14 (BIGNIGHT, VM 333, 12 apps): the button's call quiesced all 12 stacks at 19:03:23Z (first stopped 19:03:27Z); the local vzdump ran 19:03:49 → 19:09:59Z; the controller then kept the apps stopped for the second (PBS) tier and restarted them at 19:10:09Z after it failed, the last started 19:11:12Z (`phase4/guest-backup-quiesce-log.txt`) — **≈ 7 m 45 s** with every app answering 404. The page under the button: „Pillanatkép-mód: az alkalmazások csak néhány másodpercre állnak le." A household pressing it at dinner loses every app for the length of the dump, and longer on a bigger box. **Fix shape:** state the real expected downtime (it scales with data), or quiesce per tier and not across a second tier's attempt; do not start a tier whose storage is absent (see R-517). **NARROWED 2026-09-15 (controller v0.243.0 + agent v0.131.0):** a tier whose storage the agent reports absent is skipped before anything stops (`backup_tier_skipped`, once per absence; unknown never skipped), and the button copy now says „általában néhány perc, nagyobb adatnál több". Unit-proven with red-proofs. **Still open:** quiesce per tier, so a slow second tier does not keep every app down. | **READY — rank P2-MEDIUM; owner: CC (controller)** | | **R-519** | **[P2-MEDIUM] After a backup torn by a power cut, an app's restore point carries the new database dump's time while its files are from the previous run — and no customer screen says the run was interrupted.** MEASURED 2026-09-14 (BIGNIGHT F2, VM 333): „Mentés most" 19:40:03Z; the power was cut 19:40:08Z while adventurelog was stopped for its volume dump. On disk afterwards, `backups/primary/adventurelog`: `db-dumps/adventurelog-postgres.sql` **19:40:07**, `volume-dumps/*.tar` **19:00:35**, `manifest.json created_at 19:02:34Z`; bookstack the same shape (sql 19:40:07, tars 19:00:48). `GET /api/backup/snapshots` for both → `time 2026-09-14T19:40:07Z, helyi` (`phase5/F2/units-on-disk.txt`, `backup-honesty.txt`). `/backups/apps` shows „Utolsó adatbázis mentés 2026-09-14 21:40 · … OK" and every app „Utolsó: 5 perce"; `/backups` and `/dashboard` contain no word of an interruption (fragments `megszakad|sikertelen|nem sikerült` = 0; control „hiba" appears in the standing warning text). The controller itself knew: `[appstop] crash recovery: an app-data backup (volume dump) … was interrupted … restarting them: [adventurelog]` and pushed `backup_failed (error)` to the hub. A household restoring „the 21:40 backup" gets 21:00 files for BookStack's uploads. **Fix shape:** date a point by the oldest part it contains (or mark it partial) and show the interrupted run on the backups page until the next complete one. **F6 (drive unplugged 1 s into a backup, 20:37:59Z) adds three facts:** the run skipped four apps' volume dumps („Skipping volume dump for immich — drive disconnected", also jellyfin, nextcloud, paperless-ngx) and still reported `db_dump {"count":6, "success":true}`; nextcloud's point is dated 20:37:59Z (its SQL finished before the unplug) beside 19:01 volume tars; and a torn `immich-postgres.sql.tmp` (20:38:00) plus F3's `pre-restore-…-nextcloud-mariadb.sql.tmp` are left in the units on the drive. Immich's point correctly stayed at 19:02:34Z (the `.tmp` was not promoted). `/backups/apps` fragments `kihagy|sikertelen|részleges` = 0 (`phase5/F6/`). | **READY — rank P2-MEDIUM; owner: CC (controller)** | | **R-520** | **[P3-LOW] A power cut during a guarded Update leaves no record that an update was running, so whether the journal resumes or aborts honestly is unmeasured for a real version change.** MEASURED 2026-09-14 (BIGNIGHT F3, VM 333): the only Update the catalog allowed after the Phase 4 revert was a same-version one on nextcloud; power was cut 2 s after `update nextcloud: phase pulling` (safety dump written, pin advanced to the unchanged definition). After boot: no log line resumes, aborts or names the interrupted update; `app.yaml` `pinned_images` = `installed_images`, no hold, no verdict; page „Fut · Naprakész". Nothing wrong was produced — and nothing could have been, with identical images. **What it needs:** the same cut on a real bump (a throwaway app with a one-step catalog move on a scratch branch or the scratch guest), asserting the page's message and the pin after boot. | **READY — rank P3-LOW; owner: CC (drill)** | @@ -734,7 +734,6 @@ class (an image `VOLUME` at an unmounted path) is still live — `immich-server` | **R-553** | **[P3-LOW] Four places decide BEHAVIOUR by matching Hungarian wording — each breaks the day the words change, in either language.** FOUND 2026-09-17 by the i18n inventory (`audits/I18N-INVENTORY-2026-09-17.md` §3), read at source: (1) `controller/internal/api/router.go:478` picks **400 vs 500** for a deploy error by `strings.Contains(err, "kötelező"/"memória")`; (2) `internal/backup/offbox.go:186` classifies the off-site **quota** failure by „tárhelykeretet" in a lower-cased error; (3) `internal/web/alerts.go:208` moves a disk warning inline-vs-top-banner by „meghajtón"/„adattároló"/„meghajtó"; (4) `internal/web/handlers.go:927` compares a **persisted** off-site warning against `offboxStaleWarningMarker` („nincs mentésre jelölt alkalmazás") — a warning written in one language is compared in another. (A fifth hit, `offbox_handlers.go:132`, is a detector false positive.) Templates: zero (detector decoy-tested). **Fix shape:** a typed error / sentinel / reason code at each producer, the display text derived from it, one red-proofed test per site asserting the consequence (status code, quota class, placement, substitution) with the wording changed. **Blocks localisation slice 2 (R-557)** — it goes first. | **READY - rank P3-LOW; owner: CC** | | **R-554** | **[P3-LOW] Delete the first-boot setup wizard — obsolete by design, still reachable.** OPERATOR DECISION 2026-09-17 (localisation starter, decision 4: „out of scope, obsolete"). `02-controller-module-map.md` L56 calls `internal/setup/` obsolete; `cmd/controller/main.go` L322 still enters it when `setup.NeedsSetup(cfg)` — `customer.id` empty after bootstrap ingestion, or a `.needs-setup` marker (`internal/setup/setup.go` L17-25). Ingestion leaves `customer.id` empty on a missing/invalid `bootstrap.json`, a failed hub pull, or a failed merge/write/reload (`internal/bootstrap/bootstrap.go` L109-163) — so a box whose first boot cannot reach the hub shows a household an 8-page wizard (95 Hungarian strings, its own template set and CSRF). **Fix shape:** decide what such a box shows instead (a single „cannot reach Felhom yet, retrying" page — needs no decision beyond copy), then delete `internal/setup/` and `runSetupMode`; red-proof that a failed ingestion renders the waiting page, not a 404. **Check first** whether any drill/golden path still relies on `.needs-setup`. | **READY - rank P3-LOW; owner: CC** | | **R-555** | **[P3-LOW] The wire-contract gate counts a field as received when its name appears in a Go COMMENT on the receiving side.** FOUND 2026-09-17 by CC adding the report's `language` field (controller v0.247.0): `scripts/wire_contract_gate.py` passed WITHOUT an allowlist entry, because `receiver_tokens()` tokenises whole files and the word „language" occurs hub-side only in a comment (`hub/internal/web/configs.go:558`, „this page's existing language"). The shape is the gate's own named failure class (name-for-fact, R-421): any English tag name that also appears in hub prose passes unread. The field was allowlisted by hand with this row named. **Fix shape:** strip `//` and `/* */` comments (and template `{{/* */}}`) before tokenising; add the decoy „a tag whose name appears only in a receiver comment must convict"; expect a handful of currently-passing tags to surface — each is a finding, not noise. | **READY - rank P3-LOW; owner: CC** | -| **R-556** | **[P3-LOW] Localisation slice 1 — the other 31 dashboard templates in English, Hungarian byte-identical.** PLAN 2026-09-17 (`architecture/10-localisation.md` §10). ~1 500 strings, ~600 of them inside `