This website requires JavaScript.
b0f78d1549
feat(gmail): Gmail flytter ind i postkasse-tabellen
Kristian Wind and Claude Opus 5
2026-08-18 22:59:40 +02:00
f3fecbd0b4
fix(imap): samme mail blev en ny opgave hver gang, og uddraget var rå MIME
Kristian Wind and Claude Opus 5
2026-08-18 22:44:00 +02:00
30adc69cb5
feat(mailboxes): plads til Gmails udløser og dens set-liste
Kristian Wind and Claude Opus 5
2026-08-18 22:38:45 +02:00
c9dfffd95a
feat(mailboxes): postkasser kan forbindes fra fladen
v0.14.0
Kristian Wind and Claude Opus 5
2026-08-18 22:22:31 +02:00
6b4ef5b2f2
feat(imap): postkasser kan læses, og det er bevist mod en rigtig server
Kristian Wind and Claude Opus 5
2026-08-18 22:15:50 +02:00
1e59886d86
feat(mailboxes): en tabel, så I kan have hver sin postkasse — og flere hver
Kristian Wind and Claude Opus 5
2026-08-18 22:10:20 +02:00
cbe66d75a5
feat(capture): skriv hvor som helst, og se hvad feltet forstår
v0.13.0
Kristian Wind and Claude Opus 5
2026-08-18 21:45:31 +02:00
a38a79e9b6
feat(secrets): tokens og kodeord forlader ikke længere huset med en kopi
Kristian Wind and Claude Opus 5
2026-08-18 21:18:48 +02:00
aabbbac583
feat(imap): en postkasse, der ikke er Gmail
Kristian Wind and Claude Opus 5
2026-08-18 20:21:45 +02:00
c151d6c98c
feat(groups): omdøb med dobbeltklik, og slet der hvor man kan se hvad man sletter
v0.12.4
Kristian Wind and Claude Opus 5
2026-08-18 20:08:24 +02:00
bd5e86dd03
fix(errors): sig fejlen i en kode, mellemleddet ikke kaster væk
Kristian Wind and Claude Opus 5
2026-08-18 19:17:49 +02:00
bb25b94f96
fix(sidebar): en gruppe står nu hvor projekterne står, og hedder hele sit navn
Kristian Wind and Claude Opus 5
2026-08-18 18:10:34 +02:00
dab1827c14
fix(i18n): en engelsk flade sagde "2 opgave(r) hentet"
v0.12.3
Kristian Wind and Claude Opus 5
2026-08-18 15:14:37 +02:00
fe7ce5c853
test(panel): vis hvad genstart-kaldet gør, når panelet tier eller siger nej
Kristian Wind and Claude Opus 5
2026-08-18 15:05:10 +02:00
a00cf39558
fix(gmail): "hent nu" svarer selv, i stedet for at lade Cloudflare gøre det
v0.12.2
Kristian Wind and Claude Opus 5
2026-08-18 13:43:48 +02:00
c4e480a0c4
fix(gmail): stop hiding why it failed, twice over
v0.12.1
Kristian Wind and Claude Opus 5
2026-08-18 13:28:44 +02:00
95378a1199
docs: hand over the day, and what is still open
Kristian Wind and Claude Opus 5
2026-08-18 13:21:56 +02:00
e004696362
fix(rune): bump the manifest version, or the new variables never appear
Kristian Wind and Claude Opus 5
2026-08-18 12:30:43 +02:00
2b45aa33e1
feat(admin): ask the panel to restart, from verdande's own settings
v0.12.0
Kristian Wind and Claude Opus 5
2026-08-18 12:18:35 +02:00
19aa02e80c
feat(projects): section headings you can count at a glance, and an Inbox that speaks the language
Kristian Wind and Claude Opus 5
2026-08-18 12:02:56 +02:00
fe52818ab6
feat(auth): passkeys, as a way in and as a second factor
Kristian Wind and Claude Opus 5
2026-08-18 11:56:54 +02:00
982c3aab18
test(i18n): commit the guard that was written and never added
v0.11.1
Kristian Wind and Claude Opus 5
2026-08-18 11:19:26 +02:00
a52ad9817f
feat(tasks): undo a completion, and a place to find what was closed
Kristian Wind and Claude Opus 5
2026-08-18 11:18:01 +02:00
0dbf7a40bf
feat(tasks): write a task straight into a section
Kristian Wind and Claude Opus 5
2026-08-18 11:13:10 +02:00
9cc7df69f0
fix(projects): the header stops crushing the project's name
Kristian Wind and Claude Opus 5
2026-08-18 11:00:32 +02:00
ab5e3e35a6
fix(i18n): three Danish strings that had no æ, ø or å in them
Kristian Wind and Claude Opus 5
2026-08-18 10:50:25 +02:00
d6d5bf590b
fix(sections): a section can hold more than one task
Kristian Wind and Claude Opus 5
2026-08-18 10:35:06 +02:00
6853897d00
ci: install WebKit as well, for the one test that needs it
Kristian Wind and Claude Opus 5
2026-08-18 10:05:29 +02:00
726a489a67
fix(migrations): say why foreign keys go off, accurately
v0.11.0
Kristian Wind and Claude Opus 5
2026-08-18 10:01:18 +02:00
626ea9aaec
feat(tasks): finished work can be looked at, and is out of the way by default
Kristian Wind and Claude Opus 5
2026-08-18 09:49:58 +02:00
4d8b70918b
feat(i18n): the interface speaks both languages
Kristian Wind and Claude Opus 5
2026-08-18 09:46:08 +02:00
e3c7fc792a
feat(i18n): the machinery, and the shell translated
Kristian Wind and Claude Opus 5
2026-08-18 09:25:58 +02:00
804963b222
feat(groups): a group becomes somewhere you can go
Kristian Wind and Claude Opus 5
2026-08-18 09:20:03 +02:00
0b467beb3e
docs: the API and the handover, brought up to what is here
Kristian Wind and Claude Opus 5
2026-08-18 09:05:36 +02:00
1a6adfd9d3
docs: screenshots that regenerate themselves, and eleven of them
Kristian Wind and Claude Opus 5
2026-08-18 09:05:36 +02:00
01d498be20
fix(projects): group_id was accepted on create and thrown away
Kristian Wind and Claude Opus 5
2026-08-18 09:05:36 +02:00
31bf0557df
feat(gmail): the OAuth client can be entered instead of deployed
Kristian Wind and Claude Opus 5
2026-08-18 09:05:18 +02:00
101ca33069
feat(tasks): a row says what is underneath it, and what is attached
Kristian Wind and Claude Opus 5
2026-08-18 09:05:18 +02:00
eaff890860
fix(forms): Safari focused none of them, and a board could not make a section
Kristian Wind and Claude Opus 5
2026-08-18 09:05:02 +02:00
1da7ea64bf
feat(admin): the nightly backup, made visible
Kristian Wind and Claude Opus 5
2026-08-18 09:04:43 +02:00
04a7ba1024
feat(sidebar): headings that fold, a group head that is not indented, and colour where it is edited
Kristian Wind and Claude Opus 5
2026-08-18 09:04:30 +02:00
b169591209
feat(upcoming): a week at a time, so a drag can cross a month boundary
Kristian Wind and Claude Opus 5
2026-08-18 09:04:30 +02:00
85f7b2488d
feat(admin): what has been done on this server, across every project
Kristian Wind and Claude Opus 5
2026-08-18 09:04:12 +02:00
ebdc8eacf2
feat(admin): deleting an account stops deleting other people's work
Kristian Wind and Claude Opus 5
2026-08-18 09:03:59 +02:00
a29534c811
build: lift Vite to 8, and get the tree out of iCloud's way
Kristian Wind and Claude Opus 5
2026-08-18 09:03:45 +02:00
494640c1a8
fix(mobile): the drawer no longer pushes the page sideways
v0.10.2
Kristian Wind and Claude Opus 5
2026-08-17 23:24:49 +02:00
6d27d730d2
fix(mobile): the project header wraps instead of crushing the title
v0.10.1
Kristian Wind and Claude Opus 5
2026-08-17 23:09:08 +02:00
b0ab6ee5c0
fix(docker): build the frontend and the binary once, and cross-compile
Kristian Wind and Claude Opus 5
2026-08-17 23:04:09 +02:00
c2e2d66e76
feat(admin): keep server errors where a restart cannot take them
v0.10.0
Kristian Wind and Claude Opus 5
2026-08-17 22:58:02 +02:00
4be934ccc1
feat(pwa): the PNG icons the manifest and iOS have always wanted
Kristian Wind and Claude Opus 5
2026-08-17 22:37:52 +02:00
7094e05ddd
feat(sidebar): drop a task on "I dag"
Kristian Wind and Claude Opus 5
2026-08-17 22:35:40 +02:00
35d9e3bdac
feat: an assignee on the row, and the activity log made visible
v0.9.0
Kristian Wind and Claude Opus 5
2026-08-17 22:31:43 +02:00
b6ea87ac19
feat(projects): change a member's role from the member list
Kristian Wind and Claude Opus 5
2026-08-17 22:14:33 +02:00
fc32fea607
fix(projects): a section can be dropped into, and a failed load says so
v0.8.0
Kristian Wind and Claude Opus 5
2026-08-17 22:04:55 +02:00
8b1f374855
test(e2e): drive a member opening a project, not just seeing it in the sidebar
Kristian Wind and Claude Opus 5
2026-08-17 21:54:26 +02:00
550f420c59
feat(sidebar): colours you can choose, and projects indented under their group
Kristian Wind and Claude Opus 5
2026-08-17 21:50:20 +02:00
e8ebd0fa78
feat(admin): a page for who is on the instance, and how somebody else gets on it
v0.7.0
Kristian Wind and Claude Opus 5
2026-08-17 21:10:46 +02:00
a8b453843d
fix(sidebar): Omdøb og Slet lå oven i hinanden i et gruppehoved
v0.6.1
Kristian Wind and Claude Opus 5
2026-08-17 20:53:14 +02:00
a2f4de02fc
chore: stop tracking the compiled shots binary
v0.6.0
Kristian Wind and Claude Opus 5
2026-08-17 19:44:19 +02:00
4276892590
feat(auth): see where you are signed in, and end one of them
Kristian Wind and Claude Opus 5
2026-08-17 19:43:49 +02:00
6b6b838167
feat(views): "Venter på andre", and a project you share stays yours
Kristian Wind and Claude Opus 5
2026-08-17 19:36:37 +02:00
34b718529c
fix(auth): the two links sent by email now go somewhere
Kristian Wind and Claude Opus 5
2026-08-17 19:30:21 +02:00
c14559ed0c
feat: project groups, a month on Kommende, and dragging things where they go
Kristian Wind and Claude Opus 5
2026-08-17 19:25:10 +02:00
2300f1dc3b
fix(theme): the original two themes were the least readable of the five
Kristian Wind and Claude Opus 5
2026-08-17 18:29:56 +02:00
1529c87231
feat(theme): five themes, and a picker that shows them
v0.5.0
Kristian Wind and Claude Opus 5
2026-08-17 17:21:57 +02:00
f15c440942
feat(realtime): keep projects and labels current too, not only tasks
Kristian Wind and Claude Opus 5
2026-08-17 17:12:53 +02:00
d37d240625
feat(search): find a task by its label
Kristian Wind and Claude Opus 5
2026-08-17 17:05:06 +02:00
3b521b463c
feat(projects): add, rename and delete sections
Kristian Wind and Claude Opus 5
2026-08-17 16:58:35 +02:00
9056c44c9a
feat(tasks): move, repeat, delegate and re-read a task from its drawer
Kristian Wind and Claude Opus 5
2026-08-17 16:53:41 +02:00
afc46a5c20
fix(api): do the things the API says yes to
v0.4.0
Kristian Wind and Claude Opus 5
2026-08-17 16:22:36 +02:00
8c748c2a88
feat(sidebar): drag it wider, fold it away, and have it stay that way
Kristian Wind and Claude Opus 5
2026-08-17 16:06:33 +02:00
c4e9e1519b
feat(projects): drag the sidebar into the order you want
Kristian Wind and Claude Opus 5
2026-08-17 15:49:52 +02:00
3f4af6c0ab
fix: stop the app shell answering for /.well-known/
v0.3.2
Kristian Wind and Claude Opus 5
2026-08-17 15:19:35 +02:00
7ab68b0b58
fix(projects): keep the heading, and make the sidebar test mean what it says
Kristian Wind and Claude Opus 5
2026-08-17 15:07:15 +02:00
8a6e1bc39e
feat(projects): rename, delete, and a trash you can actually reach
Kristian Wind and Claude Opus 5
2026-08-17 14:59:51 +02:00
0dbea0ea4b
feat: make it possible to see which version is actually running
v0.3.1
Kristian Wind and Claude Opus 5
2026-08-17 14:33:00 +02:00
78ec9b08a1
fix: say the true thing when Gmail, AI or mail is not set up
Kristian Wind and Claude Opus 5
2026-08-17 14:32:42 +02:00
7e28d8bb92
chore: untrack a vite temp file, and stop it coming back
v0.3.0
Kristian Wind and Claude Opus 5
2026-08-17 14:00:54 +02:00
e63d852847
feat(mcp): let the connector address carry its own key
Kristian Wind and Claude Opus 5
2026-08-17 14:00:39 +02:00
d7e250f860
docs(rune): a rune does not update itself, and the server need not be deleted
Kristian Wind and Claude Opus 5
2026-08-17 12:24:28 +02:00
a8a29a963d
docs: the registry has to be public, and docker login was the wrong advice
Kristian Wind and Claude Opus 5
2026-08-17 11:52:34 +02:00
25f1e2ff82
fix(e2e): wait for the sidebar before counting its links
v0.2.0
Kristian Wind and Claude Opus 5
2026-08-17 10:48:38 +02:00
5b1a05348f
chore(shots): capture the settings surface too
Kristian Wind and Claude Opus 5
2026-08-17 10:46:47 +02:00
1eb6fd930d
docs: the registry is private, and the handoff is current again
Kristian Wind and Claude Opus 5
2026-08-17 10:41:06 +02:00
cb77990458
docs(api): an OpenAPI spec, checked against the router
Kristian Wind and Claude Opus 5
2026-08-17 10:40:54 +02:00
1424f43a40
test(e2e): smoke tests that drive the real binary
Kristian Wind and Claude Opus 5
2026-08-17 10:40:34 +02:00
1bb28ce862
feat(web): the service worker, and subscribing to Web Push
Kristian Wind and Claude Opus 5
2026-08-17 10:40:14 +02:00
c2a664d891
feat(web): drag to reorder in the list view
Kristian Wind and Claude Opus 5
2026-08-17 10:40:05 +02:00
d288606827
feat(web): open a task
Kristian Wind and Claude Opus 5
2026-08-17 10:39:56 +02:00
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