-
4f25905d81
feat(calendar): a task's length is drawn, resizable, and editable
task-durations-calendar

kristianwindandClaude Opus 5
2026-08-24 10:14:39 +02:00
-
-
e3eeb3037c
Merge pull request #18 from kristianwind/tidy-note-share-footer
Kristian Wind
2026-08-24 10:05:08 +02:00
-
-
97e6be3afa
fix(notes): gather sharing behind a Del button so the footer stays tidy
tidy-note-share-footer

kristianwindandClaude Opus 5
2026-08-24 09:58:02 +02:00
-
-
d67b61d3c6
Merge pull request #17 from kristianwind/fix-mono-block-escape
v0.41.1
Kristian Wind
2026-08-24 09:34:38 +02:00
-
-
f0d18bb800
fix(notes): let a monospace line be left — on return and through the menu
fix-mono-block-escape

kristianwindandClaude Opus 5
2026-08-24 09:27:44 +02:00
-
-
7f8d925299
Merge pull request #15 from kristianwind/share-notes-between-users
v0.41.0
Kristian Wind
2026-08-24 08:33:06 +02:00
-
-
cdab817141
Merge main: pick up the calendar e2e flake fix
share-notes-between-users
kristianwind
2026-08-24 08:25:51 +02:00
-
-
-
-
2e76ced5fa
Merge pull request #16 from kristianwind/fix-flaky-calendar-drag
Kristian Wind
2026-08-24 08:25:41 +02:00
-
-
711fb4838b
test(e2e): the calendar test counted other tests' tasks as its own
fix-flaky-calendar-drag

kristianwindandClaude Opus 5
2026-08-24 08:19:17 +02:00
-
-
643b30555e
test(e2e): follow the renamed share label, and cover person-to-person sharing

kristianwindandClaude Opus 5
2026-08-24 07:59:57 +02:00
-
91671a4f97
feat(notes): share a note with a person, not only through a project

kristianwindandClaude Opus 5
2026-08-24 07:36:55 +02:00
-
-
15be5d2165
Merge pull request #14 from kristianwind/security-hardening-headers
Kristian Wind
2026-08-23 23:41:44 +02:00
-
-
77994eff09
feat(security): a TOTP code can be used once
security-hardening-headers

kristianwindandClaude Opus 5
2026-08-23 23:34:34 +02:00
-
b4038356f0
feat(security): trust a forwarded IP only from a proxy, and set COOP

kristianwindandClaude Opus 5
2026-08-23 23:34:34 +02:00
-
8a87cfeb44
feat(security): HSTS og en lukket Permissions-Policy på hvert svar

kristianwindandClaude Opus 5
2026-08-23 23:15:33 +02:00
-
-
3e52eea2da
feat(kvasir): én mail bliver til én opgave, uanset hvem der læser den
v0.40.3
Kristian Wind
2026-08-22 09:19:41 +02:00
-
acd6784333
test(e2e): kalendertesten afhang af, hvilken ugedag den blev kørt på
Kristian Wind
2026-08-22 08:48:31 +02:00
-
3e8d609316
docs: imaget hentes fra GHCR, og prøven for 'offentlig' var forkert
v0.40.2
Kristian Wind
2026-08-22 00:29:57 +02:00
-
fcd2443007
fix(rune): tilbage til GHCR — Gitea kan ikke servere imaget uden login
Kristian Wind
2026-08-22 00:28:06 +02:00
-
27a7b04ff3
test: kassens rigtige tailnet-adresse ud af testen
Kristian Wind
2026-08-22 00:05:27 +02:00
-
b6cbc6cbc2
fix(ai): din egen model kunne ikke sættes op — tre fejl i én oplevelse
Kristian Wind
2026-08-22 00:03:45 +02:00
-
223a1df85e
ci: checkout prøver begge auth-former og siger hvilken der virkede
Kristian Wind
2026-08-21 23:51:06 +02:00
-
c85bdd5076
ci: CI kan udløses i hånden
Kristian Wind
2026-08-21 23:32:45 +02:00
-
28825dc7cb
chore: arbejdspapiret om Gitea-flytningen bliver på maskinen
Kristian Wind
2026-08-21 23:17:19 +02:00
-
c930e6163e
ci: Gitea bygger selv — og uden at hente handlinger fra GitHub
Kristian Wind
2026-08-21 23:14:12 +02:00
-
20b8c12b4a
build: imaget hentes fra vores egen Gitea, og runen peger derind

Kristian WindandClaude Opus 5
2026-08-21 16:53:18 +02:00
-
8d5dd1f1c3
fix(notes): grupperne stod tomme — hver liste rullede for sig
v0.40.1

Kristian WindandClaude Opus 5
2026-08-21 13:00:15 +02:00
-
c8d67dd07d
feat(notes): notekroppe forsegles, og søgningen åbner dem selv
v0.40.0

Kristian WindandClaude Opus 5
2026-08-20 22:40:55 +02:00
-
23bd784b07
docs: SECURITY.md sagde noget, dagen havde gjort forkert

Kristian WindandClaude Opus 5
2026-08-20 22:16:52 +02:00
-
264f48ae11
fix(quickadd): "hver anden tirsdag" blev til en dato og to ord i titlen
v0.39.1

Kristian WindandClaude Opus 5
2026-08-20 22:11:01 +02:00
-
2219f6af13
fix(i18n): en gentagelse siges nu på læserens sprog
v0.39.0

Kristian WindandClaude Opus 5
2026-08-20 22:00:05 +02:00
-
f64b7c1f01
docs: Noter og Kalender havde ingen sider, mens forsiden lovede begge

Kristian WindandClaude Opus 5
2026-08-20 21:50:27 +02:00
-
868588de10
feat(projects): et projekts kalender kan vises som en uge

Kristian WindandClaude Opus 5
2026-08-20 21:45:38 +02:00
-
dcb71f4c14
feat(calendar): abonnement på flere kalendere, ICS og webcal
v0.38.0

Kristian WindandClaude Opus 5
2026-08-20 21:26:13 +02:00
-
968a29ca67
feat(notes): listen står i grupper, og projektet har sin egen farve
v0.37.0

Kristian WindandClaude Opus 5
2026-08-20 21:01:40 +02:00
-
fcd6dca852
fix(push): "der kommer ikke nogen" kunne ikke besvares
v0.36.1

Kristian WindandClaude Opus 5
2026-08-20 20:41:33 +02:00
-
ae673086bc
feat(tasks): tid på en opgave, og et træk i kalenderen sætter den
v0.36.0

Kristian WindandClaude Opus 5
2026-08-20 20:29:03 +02:00
-
e29fd04abd
docs: noternes opbygning, skrevet til at blive løftet ud

Kristian WindandClaude Opus 5
2026-08-20 20:02:59 +02:00
-
be581eb8ae
fix(search): et ord inde i et ord kunne ikke findes
v0.35.1

Kristian WindandClaude Opus 5
2026-08-20 18:33:22 +02:00
-
9d34b57166
feat(calendar): ugen er et døgn, og dagene er lige brede
v0.35.0

Kristian WindandClaude Opus 5
2026-08-20 17:01:58 +02:00
-
4b3abc44fb
feat(site): hvad der er landet, og hvad man tager på sig ved at køre det

Kristian WindandClaude Opus 5
2026-08-20 16:19:44 +02:00
-
b87c9ea6e2
fix(auth): en afvist passkey sagde "forkert e-mail eller adgangskode"
v0.34.3

Kristian WindandClaude Opus 5
2026-08-20 15:59:34 +02:00
-
ce1d27f8ca
fix(notes): én note, der ikke kunne tegnes, låste hele ruden
v0.34.2

Kristian WindandClaude Opus 5
2026-08-20 15:32:36 +02:00
-
cab4e703f5
fix(sikkerhed): CalDAV lod en viewer skrive, og Web Push kunne ringe indad
v0.34.1

Kristian WindandClaude Opus 5
2026-08-20 15:15:28 +02:00
-
43f8c0ea85
feat(site): landingssiden siger hvad der findes nu, og siger det med kanter
v0.34.0

Kristian WindandClaude Opus 5
2026-08-20 14:57:15 +02:00
-
8ecefbbdc2
fix(notes): rullebjælken svævede midt i arket

Kristian WindandClaude Opus 5
2026-08-20 14:57:15 +02:00
-
6b4448b245
fix(settings): AI, Gmail og kalenderen delte én række og slettede hinanden

Kristian WindandClaude Opus 5
2026-08-20 14:56:48 +02:00
-
e46aaa462a
feat(projects): sektioner kan trækkes op og ned, og båndet står ikke længere skævt

Kristian WindandClaude Opus 5
2026-08-20 14:56:26 +02:00
-
98bfa216d6
fix(look): mærket og de faste visninger fulgte med op, når listen rullede

Kristian WindandClaude Opus 5
2026-08-20 14:56:01 +02:00
-
6c3d66108b
fix(look): stregen under hurtig tilføjelse havde ingen luft under sig
v0.33.3

Kristian WindandClaude Opus 5
2026-08-20 11:36:23 +02:00
-
1437667483
fix(notes): stjerne og arkiv står oven på hinanden
v0.33.2

Kristian WindandClaude Opus 5
2026-08-20 11:23:21 +02:00
-
035d079a8e
fix(notes): teksten fulgte ikke med, når ruden blev bred
v0.33.1

Kristian WindandClaude Opus 5
2026-08-20 11:08:26 +02:00
-
aadfb197b6
feat(notes): arkiv, flere ad gangen, og en kopiér-knap på koden
v0.33.0

Kristian WindandClaude Opus 5
2026-08-20 11:03:02 +02:00
-
8aad7c13b0
perf(notes): listen sendte hele noter for at vise halvfems tegn af dem
v0.32.0

Kristian WindandClaude Opus 5
2026-08-20 10:36:35 +02:00
-
3a02bc8304
fix(notes): søgningen svarede med det forkerte først, og et træk gjorde ingenting
v0.31.0

Kristian WindandClaude Opus 5
2026-08-20 09:58:41 +02:00
-
4aa8bd6a40
fix(sikkerhed): resten af gennemgangen — SSRF, tre ubegrænsede veje, og fire hemmeligheder
v0.30.0

Kristian WindandClaude Opus 5
2026-08-20 08:39:52 +02:00
-
ce3fc466b2
fix(auth): andenfaktoren kunne gættes igennem, og et token kunne tilmelde sin egen

Kristian WindandClaude Opus 5
2026-08-20 08:29:43 +02:00
-
bdde9cc6a5
merge: Google Kalender som menupunkt, med Verdandes egen kalender lagt over
v0.29.0

Kristian WindandClaude Opus 5
2026-08-20 07:39:12 +02:00
-
-
6b2cd0f259
merge: engelske skærmbilleder, og otte steder hvor fladen blev ved med at være dansk
v0.28.0

Kristian WindandClaude Opus 5
2026-08-20 07:34:16 +02:00
-
-
dcd66b415e
docs(web): registreringsteksten fortæller nu, at klienten dækker begge dele
Kristian Wind
2026-08-20 07:33:24 +02:00
-
3991ec9445
feat(notes): et billede kan indsættes og trækkes ind i en note

Kristian WindandClaude Opus 5
2026-08-20 07:32:03 +02:00
-
a5f2f769c4
fix(web): begivenhederne i en celle sorteres, hvor de tegnes
Kristian Wind
2026-08-20 07:30:55 +02:00
-
9d743a5d46
fix(tools): shots skrev PNG'er ned i mappen med WebP

Kristian WindandClaude Opus 5
2026-08-20 07:27:48 +02:00
-
031bb18067
fix(calendar): en tom kalender skal sige hvorfor, ikke bare være tom
Kristian Wind
2026-08-20 07:27:42 +02:00
-
71a9fe63d6
docs: noterne findes også i teksten, og hvert billede har et sted at høre til

Kristian WindandClaude Opus 5
2026-08-20 07:25:43 +02:00
-
eeaaf7506b
docs: skærmbillederne er engelske, og der er to mennesker i dem

Kristian WindandClaude Opus 5
2026-08-20 07:24:12 +02:00
-
1b1e57df29
docs: kalenderen den anden vej, og én registrering til begge Google-ting
Kristian Wind
2026-08-20 07:24:01 +02:00
-
dce8800f93
fix(web): otte steder hvor grænsefladen blev ved med at være dansk

Kristian WindandClaude Opus 5
2026-08-20 07:23:42 +02:00
-
c3f2181efe
feat(web): Kalender som menupunkt, med Googles begivenheder lagt over egne opgaver
Kristian Wind
2026-08-20 07:22:25 +02:00
-
241c5ed37d
fix(mail): den samme mail blev en opgave igen og igen
v0.27.0

Kristian WindandClaude Opus 5
2026-08-20 07:04:40 +02:00
-
987d4edfce
feat(calendar): en læst Google-kalender, med sit eget endpoint og sin egen sweep
Kristian Wind
2026-08-20 07:01:14 +02:00
-
78891bae6f
feat(beacon): tæl installationer, sig præcis hvad der sendes, og lad folk sige nej

Kristian WindandClaude Opus 5
2026-08-20 06:59:50 +02:00
-
-
7828c1e6ed
feat(gcal): Google Calendar kan læses, og kalenderen får sine egne tabeller
Kristian Wind
2026-08-20 06:50:57 +02:00
-
a46d9158e1
refactor(google): OAuth-flowet flytter ud af gmail, så to ting kan dele det
Kristian Wind
2026-08-20 06:46:10 +02:00
-
4b5f3f0864
chore: agenternes arbejdstræer hører ikke i repoet
v0.26.3

Kristian WindandClaude Opus 5
2026-08-20 06:39:45 +02:00
-
052f8a43fb
fix(notes): en note kunne smugle et script ind gennem et billedes alt-tekst

Kristian WindandClaude Opus 5
2026-08-20 06:39:19 +02:00
-
-
dee2d5e30b
fix(faerdige): en opgave lukket efter midnat lå under "I går"
v0.26.2

Kristian WindandClaude Opus 5
2026-08-20 00:17:50 +02:00
-
2bd8e48aba
fix(notes): en note med tre prikker i titlen blev smidt væk ved importen
v0.26.1

Kristian WindandClaude Opus 5
2026-08-20 00:04:08 +02:00
-
9b4e7686f9
feat(notes): datoerne følger med, billederne bliver tegnet, og listen kan sorteres
v0.26.0

Kristian WindandClaude Opus 5
2026-08-19 22:58:19 +02:00
-
2ffbd9533b
fix(notes): billederne i en importeret note pegede på ingenting
v0.25.0

Kristian WindandClaude Opus 5
2026-08-19 22:02:20 +02:00
-
f6c6bdccbb
fix(notes): projektmenuen står ved det # der bliver skrevet

Kristian WindandClaude Opus 5
2026-08-19 21:44:03 +02:00
-
9e687185fb
feat(notes): vis noten som kode, og giv teksten en margen at ånde i
v0.24.0

Kristian WindandClaude Opus 5
2026-08-19 21:28:16 +02:00
-
8229800767
fix(notes): lister overlevede ikke en gemning, og tallene blev klippet af

Kristian WindandClaude Opus 5
2026-08-19 21:24:05 +02:00
-
a4b12f3601
feat(notes): listen som Apple Noters, ⌘K finder noter, og de kan trækkes
v0.23.0

Kristian WindandClaude Opus 5
2026-08-19 20:46:05 +02:00
-
43ad60a84a
feat(notes): formateringen overlever, og monospace bliver til en terminal

Kristian WindandClaude Opus 5
2026-08-19 20:31:10 +02:00
-
08fc355bf9
fix(tools): tre fejl, en prøvekørsel på ti noter fandt med det samme

Kristian WindandClaude Opus 5
2026-08-19 19:37:52 +02:00
-
414a35eaba
feat(notes): billeder og bilag følger med ind — og ud
v0.22.0

Kristian WindandClaude Opus 5
2026-08-19 19:12:54 +02:00
-
11fdbefe1b
feat(notes): hver note som en Markdown-fil, i et zip

Kristian WindandClaude Opus 5
2026-08-19 19:03:25 +02:00
-
6e83291444
feat(notes): opgaven viser de noter, der nævner den — og har fået en adresse

Kristian WindandClaude Opus 5
2026-08-19 18:59:34 +02:00
-
f6c60bdaf9
fix(notes): #garageristeriet og #GarageRisteriet er samme projekt
v0.21.1

Kristian WindandClaude Opus 5
2026-08-19 18:48:00 +02:00
-
5e670119db
feat(notes): titlen er første linje, og # foreslår projektet
v0.21.0

Kristian WindandClaude Opus 5
2026-08-19 18:36:31 +02:00
-
3223989a9d
feat(notes): første linje er titlen, resten er brødtekst
v0.20.1

Kristian WindandClaude Opus 5
2026-08-19 18:23:42 +02:00
-
f557d319ca
feat(sidebar): de faste visninger kan sorteres, og rækkefølgen følger kontoen
v0.20.0

Kristian WindandClaude Opus 5
2026-08-19 17:19:46 +02:00
-
90bdf4b725
feat(look): en akse mere — hvordan det læses, ikke hvor lyst det er

Kristian WindandClaude Opus 5
2026-08-19 17:07:39 +02:00
-
1bbae698d5
feat(notes): en note deles ved at ligge i et projekt

Kristian WindandClaude Opus 5
2026-08-19 17:03:28 +02:00
-
1b02eecdab
feat(notes): rich text, med Apple Notes' egne stilarter

Kristian WindandClaude Opus 5
2026-08-19 16:58:53 +02:00
-
5757f06e7a
feat(notes): man kan se hvad man skriver
v0.19.0

Kristian WindandClaude Opus 5
2026-08-19 13:38:18 +02:00
-
5f04fe56bc
feat(notes): note-værktøjer i MCP, og sidebjælken ryddet op

Kristian WindandClaude Opus 5
2026-08-19 13:33:54 +02:00
-
a2a39c4e17
feat(notes): en flade at skrive i, og noten dukker op i projektet
v0.18.0

Kristian WindandClaude Opus 5
2026-08-19 13:07:49 +02:00
-
fbfc98e217
feat(notes): noter kan nås — listet, søgt og fundet baglæns

Kristian WindandClaude Opus 5
2026-08-19 13:00:41 +02:00