[WIP] First-install owner setup and keyboard-accessible seed confirmation #168

Draft
chaum wants to merge 14 commits from pr/feat/first-install-owner-network-20261112 into main
Collaborator

Requires UI/UX UAT approval from the maintainer

Summary

Add unique owner username, hostname, password and optional Wi-Fi collection to the first ISO install. Use the installer password for the OS owner and first dashboard login, keep service/root accounts locked and SSH key only, and retain optional signer onboarding. Correct the encrypted kernel receipt handoff, installer failure/reboot presentation and boot artwork. Make the recovery seed confirmation usable without a mouse: Tab reaches the checkbox, the short-screen scroll cue focuses it, Space confirms it, and Continue receives focus.

Screens and flows to review

  1. ISO BIOS and UEFI boot menus: inspect branded layout and keyboard selection on desktop and small displays.
  2. Live installer: choose owner username, hostname and password; confirm matching password, Wi-Fi scan and password, no-adapter skip, failed Wi-Fi retry/skip, disk selection, installation completion, USB removal prompt and reboot. Check loading, error and success states; verify the selected disk is disposable.
  3. Installed kiosk and console: automatic kiosk launch, chosen owner console login, chosen hostname and network; verify service/root logins remain locked and SSH accepts keys only.
  4. /onboarding/seed: inspect generated words, QR tab, warning and confirmation checkbox at desktop and phone widths, light and dark themes and kiosk. With no mouse, Tab from Words through QR code to the checkbox, press Space, then Enter on Continue. On a short screen, focus the “One more step below” cue, press Enter, verify it focuses the unchecked checkbox, press Space, then Continue. Check loading, retry/error, unchecked and checked states.
  5. /onboarding/seed-verify, /onboarding/done and /login: verify seed challenges, then “Log In” with the installer password rather than a second password setup. Check wrong password and success, optional Add signer and skip signer, on desktop and phone widths, light and dark themes and kiosk.

Checks

  • Installer owner focused unit tests: 5 passed.
  • Seed scroll and focus unit tests: 6 passed.
  • Chromium keyboard flow at narrow kiosk width: Tab → checkbox, Space → checked, Enter → seed verification; scroll cue → focused unchecked checkbox.
  • UI type check, installer shell syntax and Git whitespace checks passed.
  • Operator reports a physical installer/reboot/kiosk/onboarding run succeeded except for the mouse-free seed confirmation. The new checkbox focus change still needs maintainer UAT and production artifact qualification.

Release note

This draft targets main and includes the current Gitea main commit. It was opened on Gitea as a temporary review path because ngit currently rejects publication with divergent visible main tips. Link the eventual ngit proposal before merging. The earlier private RC6 ISO is not a qualified release artifact. Do not merge or publish an OTA/ISO until the UI/UX UAT and release gates pass.

Requires UI/UX UAT approval from the maintainer ## Summary Add unique owner username, hostname, password and optional Wi-Fi collection to the first ISO install. Use the installer password for the OS owner and first dashboard login, keep service/root accounts locked and SSH key only, and retain optional signer onboarding. Correct the encrypted kernel receipt handoff, installer failure/reboot presentation and boot artwork. Make the recovery seed confirmation usable without a mouse: Tab reaches the checkbox, the short-screen scroll cue focuses it, Space confirms it, and Continue receives focus. ## Screens and flows to review 1. ISO BIOS and UEFI boot menus: inspect branded layout and keyboard selection on desktop and small displays. 2. Live installer: choose owner username, hostname and password; confirm matching password, Wi-Fi scan and password, no-adapter skip, failed Wi-Fi retry/skip, disk selection, installation completion, USB removal prompt and reboot. Check loading, error and success states; verify the selected disk is disposable. 3. Installed kiosk and console: automatic kiosk launch, chosen owner console login, chosen hostname and network; verify service/root logins remain locked and SSH accepts keys only. 4. `/onboarding/seed`: inspect generated words, QR tab, warning and confirmation checkbox at desktop and phone widths, light and dark themes and kiosk. With no mouse, Tab from Words through QR code to the checkbox, press Space, then Enter on Continue. On a short screen, focus the “One more step below” cue, press Enter, verify it focuses the unchecked checkbox, press Space, then Continue. Check loading, retry/error, unchecked and checked states. 5. `/onboarding/seed-verify`, `/onboarding/done` and `/login`: verify seed challenges, then “Log In” with the installer password rather than a second password setup. Check wrong password and success, optional Add signer and skip signer, on desktop and phone widths, light and dark themes and kiosk. ## Checks - Installer owner focused unit tests: 5 passed. - Seed scroll and focus unit tests: 6 passed. - Chromium keyboard flow at narrow kiosk width: Tab → checkbox, Space → checked, Enter → seed verification; scroll cue → focused unchecked checkbox. - UI type check, installer shell syntax and Git whitespace checks passed. - Operator reports a physical installer/reboot/kiosk/onboarding run succeeded except for the mouse-free seed confirmation. The new checkbox focus change still needs maintainer UAT and production artifact qualification. ## Release note This draft targets `main` and includes the current Gitea main commit. It was opened on Gitea as a temporary review path because ngit currently rejects publication with divergent visible main tips. Link the eventual ngit proposal before merging. The earlier private RC6 ISO is not a qualified release artifact. Do not merge or publish an OTA/ISO until the UI/UX UAT and release gates pass.
chaum added 14 commits 2026-11-13 15:33:15 +00:00
You are not authorized to merge this pull request.
This pull request can be merged automatically.
This branch is out-of-date with the base branch
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin pr/feat/first-install-owner-network-20261112:pr/feat/first-install-owner-network-20261112
git checkout pr/feat/first-install-owner-network-20261112
Sign in to join this conversation.