oclaw/uds-auth/lib
oliver 0e6de055a9
Some checks failed
ci / test (push) Has been cancelled
ci / test-postgresql (push) Has been cancelled
fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20)
Users were asked to sign in again every ~30 minutes, even while active.

Session lifetime
- Browser: UDS_SESSION kept its login-time Max-Age and was never re-issued,
  so the cookie vanished 30 min after login. Re-issue it on use (throttled
  by slidingInterval).
- Desktop: remote.mux WS traffic never passed the HTTP auth middleware, so
  the idle TTL never slid. assertPrincipalLive now reports activity and
  slides the session and the account's bridges (throttled).
- New setting sessionIdleTimeoutHours (Settings page + config). Default 0 =
  no automatic sign-out; only a manual sign-out ends a session, so
  conversations and night-time cron are never cut off. 0.5-168 enables an
  idle timeout with the 7-day cap. The TTL is read live.
- Stores support long TTLs: the absolute cap follows the TTL, older 7-day
  sessions are lifted on activity, and expiry timers re-arm instead of
  overflowing setTimeout (~24.8 days).

UAC token check
- Every 2 hours (and 1 min after start) each QR session's token is checked
  against icenterapi. A rejected token is only flagged, never a sign-out.
  Network errors, 5xx and bad JSON keep the previous verdict (the old 6h
  check revoked all of an account's sessions on any failure, including
  outages).
- GET /uds-auth/session-status (non-sliding) returns alive + tokenValid.
  The client probes it every minute and on focus: a gone session signs the
  UI out with a notice; a rejected token opens a refresh QR once.
- Scanning in refresh mode writes the new token into every live session of
  the account and the skill credential cache in place: no new session, no
  reload. Other accounts are rejected (token_refresh_emp_mismatch).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:59:48 +08:00
..
middleware fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
session fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
uds fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
utils fix(uds-auth): surface real cause of QR login network errors (0.3.16) 2026-10-12 13:34:23 +08:00
agent-auth.js fix(uds-auth): explain why skills get no credentials for a session (0.3.18) 2026-10-12 18:52:31 +08:00
api.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
client.js fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
config.js fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
context.js fix(uds-auth): isolate trusted Host calls from browser identity 2026-10-11 17:03:40 +08:00
desktop-bootstrap.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
dsh-acl.js fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
gateway-events.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
gateway-policy.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
i18n.js fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
identity-cache.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
index.js fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
local-admin.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
profile-security.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
qr-challenge.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
qrcode-bundled.cjs Ship uds-auth offline tgz without npm qrcode fetch (0.2.20). 2026-10-10 20:06:40 +08:00
roles.js Enable default emergency account 2026-10-12 10:46:39 +08:00
session-acl.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
session-bridge.js fix(uds-auth): keep sessions until manual sign-out; refresh expired UAC tokens by QR (0.3.20) 2026-10-13 19:59:48 +08:00
skill-credentials.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
state-migration.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
task-capability.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00
task-environment.js Expose raw token access setting for skills 2026-10-12 10:36:33 +08:00
workspace-provision.js fix(uds-auth): emergency login workspaces, Desktop key prompts, persistent sessions 2026-10-12 02:11:09 +08:00