v2.13.2 — Tab URL persistence
v2.13.2 — Tab URL persistence
Small follow-up to v2.13.1. A refresh now lands you on the same tab you were on, and tab URLs are shareable.
What it does
switchTab()writes?tab=<name>to the URL viahistory.replaceStateon every switch.replaceState(notpushState) means tab clicks don't pollute history — your back button still goes to the previous page, not the previous tab.
switchTab()accepts a null button arg so it can be called programmatically from the boot init. Also guards against unknown tab names and missing content panels.- Boot init reads
?tab=<name>on page load and switches if it's in the valid list (chat,ai,console,cuelists,chases,tools,diag). Defaultai(Quick Commands) is set in the HTML, so we only switch when the URL asks for something else.
Useful side effect
Tab URLs are now bookmarkable. Quick links worth keeping:
| URL | Lands on |
|---|---|
http://lights.local:5000/ |
Quick Commands (default) |
http://lights.local:5000/?tab=cuelists |
Cue Lists |
http://lights.local:5000/?tab=diag |
Diagnostics / Pi health |
http://lights.local:5000/?tab=chat |
Chat |
Upgrade
git pull origin main
bash scripts/deploy.shHard-refresh (⌘⇧R / Ctrl⇧R).
What's next
With the post-v2.13 polish wrapped, the queue from here is the actual feature work in #24–#37. MIDI controller input (#26) is the next one I'd cut — it transforms the daily-use experience more than anything else on the list.