rojects/source/components
Rokojori 7c754e4256 feat: auth session refresh overhaul — all 7 phases
Fixes two root-cause bugs: browser tabs racing the same single-use refresh
token, and Electron never refreshing after its one-shot startup call.

Browser:
- TokenUpdater: periodic 5-min + activity-triggered pings to /api/auth/me,
  EventSlot-driven valid/refreshing/expired/network-error state.
  Web Locks leader election (one tab runs the updater; others follow via
  BroadcastChannel). Falls back to leader-always without Locks API support.
- GuardedCall: three-tier wrapper (user/editor/silent) with pre-flight state
  check and tier-specific retry. Replaces ad-hoc fetch calls in Editor and
  editor-shell layout save/load.
- auth-connector: jwtMiddleware proactively rotates access-token cookie
  within 15 min of real expiry (server clock, no client-side exp needed).

Electron:
- Periodic token updater in main process: reads JWT exp directly, uses
  server-corrected clock (Date response header offset) for comparisons,
  refreshes within 15 min of expiry. Replaces one-shot startup refresh.
- Session heartbeat: running instance writes accessToken + timestamp every
  10 s. New instance mints its own session via POST /api/auth/new-session
  if heartbeat is ≤30 s old — skips login screen transparently.
- Retired plaintext last-password.txt auto-login.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-02 22:39:56 +02:00
..
app-nav CI Follow Up Test 2026-07-13 21:46:48 +02:00
code-panel feat: per-project per-device layout persistence (.roject/layout-<deviceId>.json) 2026-07-31 20:43:08 +02:00
confirm-dialog feat: page editor unified toolbar, floating block menu, insertion triggers, drag-to-reorder, InputDialog 2026-07-31 15:43:04 +02:00
console-panel feat: file tree UX, page editor toolbar, EditorConsole, console-panel 2026-07-31 13:17:40 +02:00
context-menu fix: move component CSS files to source/components so they are tracked and built 2026-07-12 15:29:15 +02:00
editor-shell feat: auth session refresh overhaul — all 7 phases 2026-08-02 22:39:56 +02:00
file-tree-panel feat: file tree UX, page editor toolbar, EditorConsole, console-panel 2026-07-31 13:17:40 +02:00
group-editor fix: move component CSS files to source/components so they are tracked and built 2026-07-12 15:29:15 +02:00
page-editor-panel feat: per-project per-device layout persistence (.roject/layout-<deviceId>.json) 2026-07-31 20:43:08 +02:00
project-editor Projects Udpate 2026-07-14 15:05:04 +02:00
project-home redesign: project home, default theme, user settings, groups removed from UI 2026-07-14 22:27:03 +02:00
project-list-default history: local filesystem access, remote proxy, file-tree custom elements, project-list tabs 2026-07-30 22:02:14 +02:00
rojo-chat-panel history: Saturday, 2 August 2026 — Claude API + Claude Code providers for rojo-chat-panel 2026-08-02 12:32:11 +02:00
rojo-settings-panel history: Saturday, 2 August 2026 — Claude API + Claude Code providers for rojo-chat-panel 2026-08-02 12:32:11 +02:00
tab-container feat: file tree UX, page editor toolbar, EditorConsole, console-panel 2026-07-31 13:17:40 +02:00