vikunja/frontend/src
kolaente be1db018fe feat: add frontend session management with refresh tokens
- Session model, type interface, and API service
- Sessions settings page showing active sessions with device info,
  IP address, last active time, and current session indicator
- Auth store updated to use cookie-based refresh tokens for user
  sessions and JWT-based renewal for link shares
- refreshToken() uses Web Locks API to coordinate across browser
  tabs — only one tab performs the refresh, others adopt the result
- 401 response interceptor with automatic retry: detects expired JWT
  (error code 11), refreshes the token, and replays the request
- Interceptor gated to user JWTs only (link shares skip refresh)
- checkAuth() attempts cookie refresh when JWT is expired, allowing
  seamless session resumption after short TTL expiry
- Proactive token refresh on page focus/visibility via composable
- renewToken() tolerates refresh failures when JWT is still valid
2026-02-25 10:30:25 +01:00
..
assets feat: add subsets for all supported languages 2025-08-17 23:11:30 +02:00
components fix(tasks): show drag handle icon on mobile devices (#2286) 2026-02-24 14:37:33 +01:00
composables feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
constants refactor: extract auth route names into shared constant 2026-02-06 10:58:50 +01:00
directives fix(frontend): make v-focus directive work with wrapper components 2026-01-10 21:59:06 +01:00
helpers feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
i18n feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
indexes chore: fix indentation 2025-06-19 10:53:35 +02:00
message feat: merge duplicate notifications (#2056) 2026-01-06 17:36:29 +00:00
modelSchema/common chore: fix indentation 2025-06-19 10:53:35 +02:00
modelTypes feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
models feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
modules fix: iterate past rejected middle matches in matchDateAtBoundary() 2026-02-06 10:57:50 +01:00
router feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
services feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
stores feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
styles refactor: move bulma button styles to button component 2026-01-08 13:23:38 +01:00
types chore(tests): remove Cypress, use Playwright exclusively (#1976) 2025-12-12 20:07:18 +00:00
views feat: add frontend session management with refresh tokens 2026-02-25 10:30:25 +01:00
App.vue fix: guard against undefined route.name in auth layout check 2026-02-06 10:58:50 +01:00
histoire.setup.ts chore(tests): remove Cypress, use Playwright exclusively (#1976) 2025-12-12 20:07:18 +00:00
main.ts chore(tests): remove Cypress, use Playwright exclusively (#1976) 2025-12-12 20:07:18 +00:00
pinia.ts chore: move frontend files 2024-02-07 14:56:56 +01:00
registerServiceWorker.ts fix: lint issues 2024-10-29 09:57:53 +00:00
sentry.ts fix: migrate Sentry integration to SDK v8 API (#1769) 2025-11-07 15:20:57 +00:00
sw.ts fix: prevent browser from caching API responses 2026-02-24 10:37:49 +01:00
urls.ts feat: add utm tag to powered by link 2024-09-23 12:07:06 +02:00
version.json chore: add missing eof newlines (#969) 2025-06-17 09:11:32 +00:00