Files
felhom-controller/REPORT.md
T
2026-10-16 15:50:28 +02:00

55 lines
3.8 KiB
Markdown

# REPORT — v0.320.0: FileBrowser is part of the box again, every app says where its login is, a „Fájlok" button (2026-10-16)
Written in ASD-STE100 Simplified Technical English. Task: „logins and folders" (operator brief). The full report, with
the decisions taken, the browser check and the rows: felhom.eu `REPORT-logins-folders-2026-10-16.md`. Design read
first: felhom.eu `architecture/02-controller-module-map.md` „The app page" (now with „Logins and folders").
Evidence: felhom.eu `documentation/audits/logins-folders-2026-10-16/`.
## 1. Plain words first
- **Why FileBrowser showed „Telepítés":** it has no app.yaml, so the box marks it not deployed. Since v0.315.0 the app
page read only that mark. Now a protected infra stack is installed by definition on the app page. Its login is back.
- **The Install press could have installed the infra stack as an app** (no guard). Refused now, in the API and in
`DeployStack`.
- **„Új jelszó beállítása":** when the box does not know FileBrowser's password, one press sets a new one with
FileBrowser's own CLI (server stopped ~3 s), verifies it, and stores it encrypted. Pressed on demo-hp: it works.
- **Every installed app has „Belépés az alkalmazásba" with one answer;** the catalog's new `app_info.login_kind` picks
the sentence when the box holds no login.
- **„Fájlok ↗"** opens one folder of the app in FileBrowser; the data tab lists each drive's media folders.
## 2. Commits and images
`39bf562` (v0.319.0) → `f30a808` (the work) → `1296e7a` (the FileBrowser line's link style, seen in the browser) →
this docs commit. Built from the clean clone with its own `build.sh`: `0.320.0-rc.1`, `rc.2` (demo-hp only), release
**0.320.0** (MinAgent 0.158.1).
## 3. What changed
- `web/app_page.go`: `installed = Deployed || Infra`; infra tabs settings/guide/logs; data tab and install page 302
for infra; the settings tab skips the install form for infra and sets `LoginAnswer`.
- `web/handlers.go` (`appCommonData`): `Infra`, `InfraInfo`, the infra subdomain, `FilesLink`;
`appFileBrowserResetHandler`. `web/server.go`: the reset route.
- `web/app_login.go`: `loginAnswerFor`. `web/datapath_card.go`: media folder rows, `drivePresent`, `filesButtonLink`,
a folder with no source is text. `web/inframeta.go`: `infraMetaIn`.
- `stacks/filebrowser_password.go`: `ResetFileBrowserAdminPassword`, `fileBrowserCLISetPassword`.
`stacks/deploy.go` + `api/router.go`: the protected-stack refusal. `stacks/metadata.go`: `AppInfo.LoginKind`,
`EffectiveLoginKind`.
- Templates: `app_settings.html` (one login panel, infra Restart only), `app_shell.html` (infra tagline, „Fájlok ↗"),
`app_data.html` (text rows, the FileBrowser line), `app_guide.html` (infra two lines); `style.css`.
## 4. Tests and gates
Red-proved: `TestAppPage_InfraAppHasNoInstall`, `_EveryInstalledAppHasOneLoginAnswer`, `_FilesButtonTarget`,
`_UnknownSourceIsTextNotLink`, `TestFileBrowserReset_SetsVerifiesAndStoresEncrypted`, `_FailedVerifyKeepsOperator`,
`_OnlyInOperatorState`, `TestDeployStack_RefusesProtectedStack` (mutations and failures: felhom.eu
`audits/logins-folders-2026-10-16/redproof.txt`). Also `TestFileBrowserResetEndpoint_Refusals`,
`TestEffectiveLoginKind_DefaultAndUnknown`. Green gate `go build/vet/test ./...` rc 0; `controller_gates.py --fast` all
OK. Parity fixtures: 25 re-captured, 6 new (named in the CHANGELOG); every other one byte-identical.
## 5. Observations
1. One sign-in for the dashboard and FileBrowser. FILED: R-1100.
2. FileBrowser's stored password goes stale when changed in FileBrowser. FILED: R-1101.
3. Eight apps say „starts with a known, shared password" about a generated or typed login. FILED: R-1102.
4. The install button could deploy a protected stack. NOT-A-FINDING: small, fixed in this release with a test.