c02c9d833a
gates / gates (push) Successful in 52s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
55 lines
3.8 KiB
Markdown
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.
|