Commit graph

26 commits

Author SHA1 Message Date
7970edf7c2 feat(linking): explicit [#42] card references 2026-09-16 13:20:56 +02:00
d06d1e99ec feat(cards): per-project card numbers for commit references
- number field on cards, unique per project
- backfilled existing cards in created order
- both create paths (owner action, client API) assign on creation
- seed script is idempotent across re-runs
2026-09-16 13:20:24 +02:00
198a7a8ceb feat(git): shared idempotent ingest core 2026-09-16 11:47:55 +02:00
809983ee5c feat(git): Forgejo commit API client
Verified against the live instance: status 200, total 787 commits, first
sha 1bc0da40... 'feat(customers): lift active/inactive toggle to top of
customer form'.
2026-09-16 11:47:22 +02:00
a05c1b8ae0 feat(schema): commits collection and project ingest fields 2026-09-16 11:46:57 +02:00
b8cd766c89 feat(git): timing-safe webhook signature verification 2026-09-16 11:45:32 +02:00
ff423fe3ba feat(git): strict conventional-commit parsing 2026-09-16 11:45:15 +02:00
38d3758d2d feat(brand): align default client brand colour with new teal palette 2026-09-16 11:34:51 +02:00
52e6bae17b fix(admin): extract default brand colour to .ts so the colour check stays clean 2026-09-16 11:32:50 +02:00
c2446d85eb feat(admin): data loaders and owner-only route gate 2026-09-16 11:26:37 +02:00
287d70c42c feat(users): active flag, backfilled, enforced at sign-in 2026-09-16 11:26:16 +02:00
ed048c5bb3 feat(auth): generated one-time passwords for new accounts 2026-09-16 11:25:52 +02:00
d1fdc72d29 feat(slug): URL-safe unique slugs for clients and projects 2026-09-16 11:25:36 +02:00
e191b87c80 feat(data): card detail loader scoped by read rules 2026-09-16 10:58:55 +02:00
d4bf5b5bb0 feat(activity): render audit rows as readable sentences 2026-09-16 10:58:16 +02:00
6f2d563b3d feat(time): relative timestamp formatting 2026-09-16 10:57:55 +02:00
153484390f feat(data): board and project summary loaders scoped by read rules 2026-09-16 10:01:21 +02:00
5d3323e765 feat(board): drop position arithmetic with same-column handling 2026-09-16 10:00:57 +02:00
193fe5bd86 feat(board): whole-day due date classification and formatting 2026-09-16 10:00:37 +02:00
2949fdabb7 feat(ui): pill, icon button and dropdown primitives 2026-09-16 10:00:20 +02:00
91e53f150a feat(auth): PocketBase login, logout and signed-out redirect 2026-09-16 09:43:18 +02:00
30c1405f72 feat(activity): derive audit rows from card patches 2026-09-16 09:42:42 +02:00
6a6df8076b feat(cards): positive field whitelist for client-manager writes 2026-09-16 09:42:26 +02:00
d14694ceab feat(auth): pure access predicates for role and client scoping 2026-09-16 09:42:02 +02:00
f9e3e576f0 feat(pb): browser, server and superuser PocketBase clients 2026-09-16 09:41:46 +02:00
88a3761857 feat(ordering): fractional card positions with rebalance guard 2026-09-16 09:40:09 +02:00