Skip to content

Release prep: the first public build's gates, said plainly - #2

Merged
traviswye merged 4 commits into
mainfrom
release-prep
Oct 9, 2026
Merged

traviswye merged 4 commits into
mainfrom
release-prep

Conversation

@traviswye

Copy link
Copy Markdown
Collaborator

The owner's decisions for the first public build (2026-10-09; the full list and the cleanup checklist are in SCRUM-116).

  • Read-only bootloader check. "Check what it runs" on the Information page's bootloader banner calls /api/recovery-read, the same read naya-probe does. It's now refused while a flash runs, because the flasher holds that port. Bringing a half out of the bootloader is a write, so it stays off.
  • "Show Battery in Tray" is hidden. The desktop app has no tray. The field stays in the schema with hidden.
  • Error page: the message and stack sit behind "Technical details", the dev-server hint only shows in development, and there's a Report a bug button.
  • Lock copy: firmware and module updates, the split-link repair step and the recovery procedures read "held back in this release". The environment switch is behind Details.

Firmware flashing, module flashing and the 13 recovery ops stay locked, unchanged.

The owner's decisions for the first public build (2026-10-09, recorded in SCRUM-116):

- Information › bootloader banner gets "Check what it runs": the read-only
  /api/recovery-read (what tools/naya-probe.py shows from a terminal), now
  refused while a flash runs since the flasher holds the same port. Bringing a
  half out of the bootloader is a write and stays off.
- "Show Battery in Tray" is hidden: the desktop app has no tray. The field
  stays in the schema with `hidden`, so a stored value survives.
- The error page keeps the stack and the message behind "Technical details",
  shows the dev-server hint only in a development run, and offers Report a bug.
- Locks read as a release decision instead of a configuration fault: firmware
  and module updates, the split-link repair step and the recovery procedures
  are "held back in this release"; the environment switch is behind Details.
… (SCRUM-116)

Each item checked against the code first; two items on the list were wrong and
are left alone: VirtualKeyboard's `k.off` is set by the keyboard itself (F21-F24
on a Mac), and nothing else was found to depend on the rest.

- Removed: the never-set `comingSoon` palette flag and its frontend branches,
  the "soon" badge behind a filter that hides those slots first, useSSE.js and
  Placeholder.jsx (never used), eight API client methods nothing calls, and the
  /rpc/check-for-updates stub that always said "up to date" (OpenFlow updates
  itself through the shell now).
- Flash: Disabled and Transparent have encoders, so their "cannot be written
  yet" drop reasons are gone (and the test that pinned them); Sticky Layer joins
  the layer types whose drop names the missing layer instead of "no encoder".
- Command stubs say where the real path is (firmware updates, pairing, the
  held-back recovery procedures) instead of "Phase 2 work" or "blocked until a
  firmware image is obtained".
- Comments brought up to date: the firmware archive is public, shipping module
  bundles are flashable, the bundle upload has run on hardware, a Track is no
  longer refused, Double Tap and Tap + Hold are live, three NayaFlow SSE events
  are never sent here, and the window's background colour.
Banner (light and dark), badges, download buttons for Windows, macOS and Linux,
the Bindings page as the hero, a Highlights table, the LED Map and Modules
beside each other, what is held back in this release, install per platform,
how updates work, and where to report a bug. The developer material moves under
"Building from source" unchanged, apart from a stale test count.

The images are generated: `node frontend/tools/render-banner.mjs` draws the
banners and the social preview from the vector mark, and
`README_SHOTS=1 npx playwright test tests/e2e/readme-shots.spec.js` takes the
screenshots against the route walk's own seeded backend, both themes.
# Conflicts:
#	backend/openflow_backend/api/rest.py
@traviswye
traviswye marked this pull request as ready for review October 9, 2026 21:06
@traviswye
traviswye merged commit 4c06950 into main Oct 9, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant