- Top bar with icon navigation (Overview, Keys, Computers, Settings, Logs, History, Help); no side
menu; every explanation moved into a hover hint; the [how] lines no longer shift the layout.
- One Settings page with sections: Playlist, Auto-fix (a paintable weekly calendar + which fixes),
Changes wait (calendar), HyperDecks, MIDI links, Computers, Dante, Switcher, Companion (with the
names check), Network, Site & PIN, Program & campus, Advanced (every field by screen).
- Fixes live under Keys as a tab; the jobs became sections or + buttons where they belong.
- Editing is switched on with a PIN (digits) plus a first name for History; the overview's
status line became chips; 'Needs attention' instead of a person's name, and it no longer fires
after a page-only Apply (page-only.json marker); last change comes from History.
- Deployed to NA Ingest; the campus PIN set there and in config.json.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Every screen was swept in the browser on NA Ingest with Editing on (31 screens, no script
errors); the job dialogs ran taller than a phone screen, so dialogs now scroll.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Overview jobs: Change the playlist, Add or remove a HyperDeck, Add a MIDI link, Add a computer,
Make a PC program startable; 'Add a key for it' on unwatched Companion connections.
- Computers > Setup: steps with a [how] each and the set-up scripts generated per computer by
settings/scripts.py from the templates in remote-access/ (no site-shaped value left in them);
Remove this computer drops the fixes and checks that used it.
- Site setup > Site: the running and staged code, Install the staged folder (a one-shot launchd job
running install.sh --keep-config, refused while live), Export site bundle (zip), New campus from a
bundle (this campus's site block stays; every copied computer is flagged until touched).
- sites/: na -> the repo config, _template = the empty campus; install.sh --site <id>.
- Review reads appended checks as 'added'; tests for all of it.
- Deployed page-only to NA Ingest. (config.json, status_panel.py and readiness.py are left to the
READY-page work in progress in the same tree.)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Keys screen: every key is a draggable chip (empty cells and the tray are drop zones), + New key and
+ New restart key dialogs, Delete this key, Companion page numbers, 'this campus has a Restart
page'. A taken cell is refused on the spot; 'Layout changed: Apply will re-import ...' comes from
the server's plan. Screens wait for a pending draft save before asking the server about it.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- settings/apply.py: the Apply pipeline (check, keep history, write, restart the watchdog, re-import
pages by the marker-only rule, recolour page keys), rollback when the watchdog does not come back,
the recording guard with the Emergency (LIVE) override, history entries and Go back / Undo.
- settings/server.py: the write routes behind the editing code (draft PUT/DELETE with 409 on a
conflict, validate, apply, restore, undo, watchdog restart/stop/start, commands to the watchdog,
the switcher file upload / pick newest / discard, gear notes).
- settings/ui/app.js: every screen grows inputs with Editing on; keys (checks, fixes, hold-always,
members), computers, fixes, site setup (schedules, Dante devices, Spotify, ATEM), Review & Apply
with live progress, History with Go back and Undo, Run this fix now.
- schema.unmask, push_page.push, nav_keys.colour; tests for all of it (163 pass).
- Verified live on NA Ingest: a page-only Apply, a restart Apply, Undo, history.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Overview (problems in the room with the hold action, the live deck, one line per computer),
Keys (both pages, what each key will say and what holding does), Computers (map with the keys
that turn red, cards with a light per thing that runs there from the watchdog's snapshot and a
read-only probe, Gear, Setup), Logs, History (the installer's copies for now), Help (four cards,
the generated key guide, cheat sheet and Where things are, glossary, Companion facts), Site setup
and Fixes read-only. The editing code is checked (with a lockout) but nothing can change yet.
Also: faults are attributed to the computers their check is about; the installer refuses while a
HyperDeck is recording (--now overrides); the Lighting PC's MIDI session is listed; the probes read
sudo's answer correctly and expand $HOME outside the quotes.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- settings/server.py: read-only routes (overview, keys, computers, gear, companion, logs, history,
help facts, key guide / cheat sheet / where things are), the editing-code check with a lockout,
LAN-only binding with a per-minute rebind
- settings/probes.py: fixed read-only probes per computer; whole lists fetched and matched locally
- settings/keyguide.py: the generated teaching pages
- settings/ui: the page, every screen read-only
- status_panel.py: snapshot.json every 5 s for the page; the Companion database lookup prefers the
running build's folder and skips a database that will not open (a stale v5.1 folder was breaking it)
- config.json: every computer's record (what runs there, network ports, done-by-hand ticks), the
editing code (kept in the repo, the user's choice), an empty gear list
- install.sh: the settings page as a second LaunchAgent; settings/ and schema.py deployed
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>