managarten/apps/clock
Wuesteon 0fa154c7d6 🐛 fix(shared-auth): add automatic token refresh on 401 responses
- Add backendUrl parameter to initializeWebAuth() for interceptor config
- Expand isTokenExpiredResponse() to match more error patterns:
  - "invalid token", "token validation failed", "claim" (jose errors)
  - ERR_JWT_EXPIRED error code
- Update all web apps to pass backendUrl for automatic refresh:
  - picture (3006), chat (3002), zitare (3007), contacts (3015)
  - calendar (3014), clock (3017), todo (3018)
- Fix API client default port in picture web app

This prevents users from being randomly signed out when JWT expires.
The interceptor now catches 401 responses and automatically refreshes
the token before retrying the request.
2025-12-12 20:47:43 +01:00
..
apps 🐛 fix(shared-auth): add automatic token refresh on 401 responses 2025-12-12 20:47:43 +01:00
packages/shared feat(clock): add interactive world map to world clock page 2025-12-04 17:25:58 +01:00
CLAUDE.md feat(contacts): add import/export with Google Contacts integration 2025-12-03 15:54:31 +01:00
package.json feat(clock): add complete Clock app with backend, web, and landing 2025-12-03 15:37:51 +01:00