Skip to content

v2.13.2 — Tab URL persistence

Choose a tag to compare

@gfargo gfargo released this 18 May 13:33
· 17 commits to main since this release
f4c8a28

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 via history.replaceState on every switch.
    • replaceState (not pushState) 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). Default ai (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.sh

Hard-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.