singularity-forge/web
TÂCHES d5b318a222 fix: use localStorage for auth token to enable multi-tab usage (#2785)
* fix: use localStorage for auth token to enable multi-tab usage

sessionStorage is tab-scoped, so manually opened second tabs cannot
access the auth token delivered via URL fragment to the first tab.
localStorage is shared across all tabs on the same origin, and since
each GSD instance binds to a unique random port the origin already
scopes the token to that instance.

Also adds a `storage` event listener so already-open tabs pick up
token changes immediately.

Closes #2714

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test: update web-auth-token test for localStorage migration

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 20:06:50 -06:00
..
app feat(web): Dark mode contrast — raise token floor and flatten opacity tier system (#2734) 2026-03-26 16:17:03 -06:00
components Fix WARN log readability by improving yellow contrast in light theme (#2689) 2026-03-26 16:41:59 -06:00
hooks feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
lib fix: use localStorage for auth token to enable multi-tab usage (#2785) 2026-03-26 20:06:50 -06:00
public feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
styles feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
.gitignore feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
components.json feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
eslint.config.mjs feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
next-env.d.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
next.config.mjs feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
package-lock.json feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
package.json feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
postcss.config.mjs feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
proxy.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
tsconfig.json feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00