Files
UmbraAudio/umbraaudio
B.D. Murphy 7dde69ebb3 Name the book on the speakers page and add a project switcher
Reported: the speakers page showed 51 needing review in Chrome on Windows
and 20 in Safari on the Mac, and showed no names starting with D including
"Deal Hunter" - despite several reloads.

Neither browser was wrong. The active project is a per-browser cookie, so
each browser was on a different book and the two lists are unrelated:

  Last Dwarf                 91 speakers, 51 need checking, 0 D-names
  DealHunterShip_4.0e        61 speakers, 19 need checking, includes
                             Deal Hunter, Dealer, Distorted Voice,
                             Duchess Victoria, Duty Nurse

"Deal Hunter" is the ship AI in the Deal Hunter book and is not a Last
Dwarf character, so its absence there was correct. The page gave no hint
that the book was even part of what was being displayed.

- The speakers page now shows a "Reviewing <project>" banner next to the
  counts, so the number and the book it belongs to are read together.
- Added a project switcher directly on that page; previously changing
  project meant navigating via the dashboard.
- activate_project accepts ?next=, restricted to same-site relative paths
  so the switcher can stay put. Verified //evil.com and https://evil.com
  both fall back to "/".
- list_projects registered as a template global, following the existing
  active_project pattern; it degrades to [] on any error.

routes.py stays at its 76 pre-existing ruff errors. Suite: 684 passed, 8
pre-existing.
2026-10-10 19:45:47 -07:00
..