This website requires JavaScript.
9d9444d0ac
feat(web): the settings surface
Kristian Wind and Claude Opus 5
2026-08-17 10:39:46 +02:00
fc4dba8549
fix(web): every change to the task list builds a new array
Kristian Wind and Claude Opus 5
2026-08-17 10:39:34 +02:00
68d82a1cb6
feat(api): personal API tokens, and let people change their own profile
Kristian Wind and Claude Opus 5
2026-08-17 10:39:23 +02:00
06ab10a276
fix(httpapi): a broken database must not look like a failed login
Kristian Wind and Claude Opus 5
2026-08-17 10:39:04 +02:00
40a679edb6
fix(store): write transactions take the lock at BEGIN, not partway through
Kristian Wind and Claude Opus 5
2026-08-17 10:38:55 +02:00
2a3367bfe0
fix(web): the label route was written outside the routes tree, and the PWA promised icons that do not exist
v0.1.0
Kristian Wind and Claude Opus 5
2026-08-17 08:47:29 +02:00
a8e523b377
docs(site): real screenshots, an English example, and the Rune said plainly
Kristian Wind and Claude Opus 5
2026-08-17 08:37:10 +02:00
5546e191ac
feat(gmail,update): finish the OAuth2 flow, and tell admins about new releases
Kristian Wind and Claude Opus 5
2026-08-17 08:21:51 +02:00
ba5892fa9e
fix(docs): pin the toolchain in a requirements file so pip caching works
Kristian Wind and Claude Opus 5
2026-08-17 08:11:26 +02:00
7c9bde2cfd
docs(phase6): documentation site, landing page and open-source scaffolding
Kristian Wind and Claude Opus 5
2026-08-17 08:08:36 +02:00
6b19ed062d
feat(phase5): MCP server, CalDAV, mail-to-task, Gmail settings and an AI layer
Kristian Wind and Claude Opus 5
2026-08-17 07:53:53 +02:00
4058ff0533
feat(phase2,phase4): comments, attachments, notifications, Web Push, import/export
Kristian Wind and Claude Opus 5
2026-08-17 07:42:55 +02:00
0ee72d399c
feat(web): board and calendar views, saved filters and label pages
Kristian Wind and Claude Opus 5
2026-08-17 07:10:51 +02:00
7e4c730049
feat(phase3): reminders, ICS feeds, templates and nightly backups
Kristian Wind and Claude Opus 5
2026-08-17 07:05:24 +02:00
4d142b2fa7
feat(filters): saved filters with a query language, and label management
Kristian Wind and Claude Opus 5
2026-08-17 06:57:43 +02:00
a96aae57ec
feat(recurrence): repeating tasks as RRULE, in Danish and English
Kristian Wind and Claude Opus 5
2026-08-17 06:53:00 +02:00
3efc3754af
docs: bring the README status and development steps up to date
Kristian Wind and Claude Opus 5
2026-08-17 00:08:29 +02:00
5fa993276f
fix(test): compute expected dates in the user's timezone, not the server's
Kristian Wind and Claude Opus 5
2026-08-17 00:06:05 +02:00
12a9597919
feat(web): SvelteKit PWA with the Nordic design system
Kristian Wind and Claude Opus 5
2026-08-17 00:03:20 +02:00
dff86dd23d
feat(api): projects, sections, tasks, quick add, views and live sync
Kristian Wind and Claude Opus 5
2026-08-16 23:44:55 +02:00
1bb644f4d1
feat(api): authentication — login, two-step TOTP, invites and resets
Kristian Wind and Claude Opus 5
2026-08-16 23:31:29 +02:00
8251e69155
fix(docker): give web/ a tracked file so the build stage can copy it
Kristian Wind and Claude Opus 5
2026-08-16 23:09:09 +02:00
02c8b1be61
feat(server): runnable binary, Rune manifest, Docker image and CI
Kristian Wind and Claude Opus 5
2026-08-16 23:05:19 +02:00
b44db32bf7
feat(auth): Argon2id passwords, opaque tokens, TOTP and recovery codes
Kristian Wind and Claude Opus 5
2026-08-16 23:00:28 +02:00
b6a44244c1
feat(quickadd): natural-language task parsing in Danish and English
Kristian Wind and Claude Opus 5
2026-08-16 22:55:57 +02:00
40e2cad346
feat(store): SQLite schema, migrations and Danish-aware full-text search
Kristian Wind and Claude Opus 5
2026-08-16 22:49:18 +02:00