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

3.8 KiB

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.