Ulas Kalayci
e8104adb1e
chore: release v0.25.5
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-26 23:33:39 +02:00
Ulas Kalayci
ed0f8b2d57
feat(modal): warn before closing with unsaved changes
2026-04-26 19:03:38 +02:00
Ulas Kalayci
9fba1d7ae4
chore: release v0.25.3
2026-04-26 18:24:27 +02:00
Ulas Kalayci
e31231aa7b
chore: release v0.25.2
2026-04-26 09:14:26 +02:00
Ulas Kalayci
70dc69bcc3
chore: release v0.25.1
2026-04-26 09:03:59 +02:00
Ulas Kalayci
777e617b74
chore: release v0.25.0
2026-04-26 09:00:15 +02:00
Ulas Kalayci
2e054a6cc4
chore: release v0.24.4
2026-04-26 08:49:05 +02:00
Ulas Kalayci
5d95ad8d2a
chore: release v0.24.3
2026-04-26 08:42:04 +02:00
Ulas Kalayci
cb09c5d0db
chore: release v0.24.2
2026-04-26 08:25:26 +02:00
Ulas Kalayci
fa82a5d65e
chore: release v0.24.1
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 22:32:21 +02:00
Ulas Kalayci
e31f5d3b60
chore: release v0.24.0
2026-04-25 17:01:52 +02:00
Ulas Kalayci
a97f8651ac
chore: release v0.23.17
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 10:52:34 +02:00
Ulas Kalayci
38e5a7a330
chore: release v0.23.16
2026-04-24 09:02:56 +02:00
Ulas Kalayci
e720b1d96b
chore: release v0.23.15
2026-04-24 08:51:48 +02:00
Ulas Kalayci
5bf1b98ea0
chore: release v0.23.14
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 09:17:52 +02:00
Ulas Kalayci
56286bcea3
chore: release v0.23.13
2026-04-22 12:41:36 +02:00
Ulas Kalayci
00afd37c90
chore: release v0.23.12
2026-04-22 12:39:00 +02:00
Ulas Kalayci
420391286c
chore: release v0.23.11
2026-04-22 11:51:20 +02:00
Ulas Kalayci
ed2d47eae1
chore: release v0.23.10
2026-04-22 11:26:10 +02:00
Ulas Kalayci
88cd1b8d18
chore: release v0.23.9
2026-04-22 11:17:41 +02:00
Ulas Kalayci
6383f63f88
chore: release v0.23.8
2026-04-22 10:46:26 +02:00
Ulas Kalayci
df9256ebff
chore: release v0.23.7
2026-04-22 08:53:36 +02:00
Ulas Kalayci
372a51bdb1
chore: release v0.23.6
2026-04-22 08:50:43 +02:00
Ulas Kalayci
a30a069d05
chore: release v0.23.5
2026-04-22 08:42:20 +02:00
Ulas Kalayci
eaf48eb5fb
chore: release v0.23.4
2026-04-22 07:57:11 +02:00
Ulas Kalayci
a58e45683e
chore: release v0.23.3
2026-04-22 07:40:47 +02:00
Ulas Kalayci
6a4ef09912
chore: release v0.23.2
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 07:34:23 +02:00
Ulas Kalayci
8d92b59c73
chore: release v0.23.1
2026-04-22 00:05:34 +02:00
Ulas Kalayci
cad779ffa4
chore: release v0.23.0
2026-04-21 23:40:09 +02:00
Ulas Kalayci
6416bbf245
chore(release): v0.22.3
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 20:23:59 +02:00
Ulas Kalayci
9f321851f8
chore: release v0.22.2
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 17:23:30 +02:00
Ulas Kalayci
40252ee0dc
fix(sw): bump cache versions, add recipes to pre-cache, guard init IIFE
...
Resolves #72
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 15:41:46 +02:00
Ulas Kalayci
a253f0a7fa
chore: release v0.22.0
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 14:23:53 +02:00
Ulas Kalayci
41467a84b6
chore: release v0.21.1
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 14:03:33 +02:00
Ulas Kalayci
b40f47bc8b
chore: release v0.21.0
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-21 13:24:38 +02:00
Ulas Kalayci
e4b97368fb
feat(api): add first-run setup endpoint for admin bootstrap
...
POST /api/v1/auth/setup — unauthenticated, only succeeds when the
users table is empty. Enables first-admin creation via HTTP for
Docker deployments without shell access to the container volume.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-04-21 13:10:41 +02:00
Ulas Kalayci
8f55855364
chore: release v0.20.42
2026-04-21 10:38:45 +02:00
ulsklyc
d1ec7367a0
fix(auth): resolve post-login navigate race condition and add version display ( #68 ) ( #70 )
...
Root cause: when auth.me() failed during initial navigation, the catch block
called navigate('/login') without clearing _pendingLoginRedirect. The outer
finally then fired a second concurrent navigate('/login'), which held
isNavigating=true while running. If the user submitted the login form (or
iCloud Keychain autofilled credentials) before the second navigation
completed, navigate('/', user) was silently blocked by the isNavigating guard —
login appeared to succeed but the app never advanced to the dashboard.
Fix: clear _pendingLoginRedirect in the catch block so the finally handler
does not spawn the duplicate navigation.
Also adds a GET /api/v1/version endpoint (no auth required) and shows the
version on the login page, so users can verify their PWA has received the
latest cached JS.
Resolves #68
Co-authored-by: Ulas Kalayci <ulas.kalayci@googlemail.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 08:19:53 +02:00
Ulas Kalayci
c1bdd4361d
chore: release v0.20.40
2026-04-21 06:55:52 +02:00
Ulas Kalayci
a8a50d31c5
chore: release v0.20.39
2026-04-21 06:52:52 +02:00
Ulas Kalayci
1570703f47
chore: release v0.20.38
2026-04-21 00:07:12 +02:00
Ulas Kalayci
8559f98518
chore: release v0.20.37
2026-04-20 23:39:00 +02:00
Ulas Kalayci
a64635b669
feat(calendar): add ics_subscriptions table and calendar_events columns (migrations v10-v11)
2026-04-20 23:32:42 +02:00
Ulas Kalayci
8479072afd
refactor(calendar): fix ics-parser module header and test chain consistency
2026-04-20 23:29:28 +02:00
Ulas Kalayci
583a1bdf23
refactor(calendar): extract ICS parser into shared ics-parser.js module
2026-04-20 23:25:50 +02:00
ulsklyc
9ad1165d48
fix(auth): skip auth:expired dispatch for 401 on /auth/login ( #69 )
...
On Safari/iOS PWA cold start or after cookie clear, logging in with wrong
credentials triggered auth:expired, re-rendering the login page and losing
the error message. The login endpoint returns 401 for invalid credentials,
not for session expiry, so apiFetch must not fire auth:expired in that path.
Resolves #68
Co-authored-by: Ulas Kalayci <ulas.kalayci@googlemail.com >
2026-04-20 21:37:29 +02:00
Ulas Kalayci
554024b67c
chore: release v0.20.33
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 13:12:43 +02:00
Ulas Kalayci
4f7b73cf81
chore: release v0.20.32
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 12:05:40 +02:00
Ulas Kalayci
ecd4453b71
chore: release v0.20.31
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 11:02:00 +02:00
Ulas Kalayci
66f4cda41b
chore: release v0.20.30
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 10:53:56 +02:00