kolaente
da3bf0e7cd
docs(api/v2): tag CalDAV token fields for the v2 schema
2026-06-10 17:55:52 +00:00
kolaente
e271f75cad
feat(init): use the hierarchical fuzzy picker for project selection
...
Replaces the flat numbered project list during 'veans init' with the interactive picker. --project <id> still bypasses it; non-TTY stdin fails cleanly asking for --project.
2026-06-10 13:51:46 +02:00
kolaente
3462e24ec7
feat(picker): add hierarchical fuzzy project picker
...
Interactive bubbletea picker that renders projects as an indented tree (siblings by position then title, orphans re-parented to root) and fuzzy-filters as you type, keeping matched rows' ancestors visible as dimmed context. Pure tree/flatten logic is split from the TUI and unit-tested.
2026-06-10 13:51:46 +02:00
kolaente
a221a15ec3
feat(client): add parent_project_id and position to Project wire type
...
The init project picker needs the parent/child relationship and sibling ordering to render projects hierarchically like the web sidebar.
2026-06-10 13:51:46 +02:00
kolaente
a1621fec37
feat(api/v2): add task attachments on /api/v2
2026-06-10 10:22:39 +00:00
kolaente
dc935f263c
docs(api/v2): tag task attachment fields for the v2 schema
2026-06-10 10:22:39 +00:00
kolaente
cec74717fc
refactor(task-attachment): share upload+download via pkg/web/files for v1+v2
2026-06-10 10:22:39 +00:00
kolaente
5cdc785b49
fix(api/v2): return ErrProjectDoesNotExist for unknown project identifiers
2026-06-10 10:12:09 +00:00
kolaente
0a879e56a8
feat(api/v2): add task CRUD on /api/v2
2026-06-10 10:12:09 +00:00
kolaente
4316554b27
docs(api/v2): tag task fields for the v2 schema
2026-06-10 10:12:09 +00:00
kolaente
328de89c0b
feat(api/v2): add bulk label replacement on /api/v2
2026-06-10 11:56:05 +02:00
kolaente
0e0ececa2d
docs(api/v2): tag bulk label fields for the v2 schema
2026-06-10 11:56:05 +02:00
kolaente
25a294d7bc
feat(api/v2): add task position updates on /api/v2
2026-06-10 11:55:51 +02:00
kolaente
a6a073329f
docs(api/v2): tag task position fields for the v2 schema
2026-06-10 11:55:51 +02:00
kolaente
e16d120236
fix(time-tracking): cap smart-fill start at now so the range is never inverted
...
Smart-fill set the From time to the configured default start (09:00) when there
was no recent entry to continue from. Before that time of day the default lands
in the future, after the To time of now, producing an inverted range the backend
rejects (end_time before start_time). The save then failed silently and the
entry never appeared.
This surfaced as a flaky time-tracking e2e suite: the smart-fill specs failed
only when CI happened to run before 09:00 UTC.
2026-06-10 11:47:47 +02:00
renovate[bot]
6d505e360b
chore(deps): update dev-dependencies to v40.10.3
2026-06-10 11:47:27 +02:00
Frederick [Bot]
8502c541a6
chore(i18n): update translations via Crowdin
2026-06-10 00:33:40 +00:00
Frederick [Bot]
12f290905a
[skip ci] Updated swagger docs
2026-06-09 23:32:10 +00:00
kolaente
1e82c62ff7
feat(api/v2): add reactions on /api/v2
2026-06-09 21:34:22 +00:00
kolaente
f5e7e9ddde
docs(api/v2): tag reaction fields for the v2 schema
2026-06-09 21:34:22 +00:00
kolaente
2e02fe11ac
feat(api/v2): add task relations on /api/v2
2026-06-09 20:42:00 +00:00
kolaente
da76d393d9
docs(api/v2): tag task relation fields for the v2 schema
2026-06-09 20:42:00 +00:00
kolaente
5c960fccd5
feat(api/v2): add bulk task updates on /api/v2
2026-06-09 20:13:02 +00:00
kolaente
711545e9f2
docs(api/v2): tag bulk task fields for the v2 schema
2026-06-09 20:13:02 +00:00
kolaente
1aa9493bc3
feat(api/v2): add project duplication on /api/v2
2026-06-09 20:11:43 +00:00
kolaente
d5bcbe39b4
docs(api/v2): tag project duplication fields for the v2 schema
2026-06-09 20:11:43 +00:00
kolaente
51e5c86f69
feat(api/v2): add kanban task-bucket moves on /api/v2
2026-06-09 20:01:20 +00:00
kolaente
9eca20fe43
docs(api/v2): tag task bucket fields for the v2 schema
2026-06-09 20:01:20 +00:00
kolaente
aa144b9a39
feat(api/v2): add task read-status marking on /api/v2
2026-06-09 19:50:58 +00:00
kolaente
bf2a65dcaf
feat(api/v2): add bulk assignee replacement on /api/v2
2026-06-09 19:42:16 +00:00
kolaente
732cd115a5
docs(api/v2): tag bulk assignee fields for the v2 schema
2026-06-09 19:42:16 +00:00
renovate[bot]
cb0d24dae1
chore(deps): update dev-dependencies to v8.61.0
2026-06-09 11:47:14 +00:00
Claude
c9c2c58c16
feat(labels): let bot owners manage labels created by their bots
...
Bot owners inherit read/update/delete permission on labels created by
bots they own, mirroring the bot-owner branch already used by API tokens
(see api_tokens_permissions.go). Without this, a label a bot creates is
permanently locked to that bot and the human owner cannot maintain it.
https://claude.ai/code/session_016x6mUPJuuQEeXpHY814iLh
2026-06-09 11:40:04 +00:00
kolaente
e1512b6b53
chore(deps): update devenv
2026-06-09 10:54:20 +02:00
Frederick [Bot]
df6a56b195
chore(i18n): update translations via Crowdin
2026-06-09 00:26:57 +00:00
Frederick [Bot]
9e181bfc55
[skip ci] Updated swagger docs
2026-06-08 14:15:20 +00:00
kolaente
00bbdbf95b
refactor(time-tracking): drop the now-redundant duration clamp in the entry list
2026-06-08 13:54:09 +00:00
kolaente
0bd7f956f5
fix(time-tracking): reject inverted time-entry intervals
2026-06-08 13:54:09 +00:00
kolaente
4390af4773
test(time-tracking): add end-to-end coverage
2026-06-08 13:54:09 +00:00
kolaente
2d334e56c7
i18n(time-tracking): add the time-tracking UI strings
2026-06-08 13:54:09 +00:00
kolaente
7c021dd663
feat(time-tracking): configure the smart-fill start time in settings
2026-06-08 13:54:09 +00:00
kolaente
e948b191b0
feat(time-tracking): add the time-tracking view
2026-06-08 13:54:09 +00:00
kolaente
2ef898e89d
feat(time-tracking): add the task-detail time-tracking section
2026-06-08 13:54:09 +00:00
kolaente
8febfac742
feat(time-tracking): add the sidebar navigation entry
2026-06-08 13:54:09 +00:00
kolaente
212d891fa1
feat(time-tracking): show a running-elsewhere badge in the header
2026-06-08 13:54:09 +00:00
kolaente
1832d0d3ee
feat(time-tracking): add the timer badge
2026-06-08 13:54:09 +00:00
kolaente
bb4f19da27
feat(time-tracking): add the time-entry list
2026-06-08 13:54:09 +00:00
kolaente
ab8189e927
feat(time-tracking): add the time-entry form
2026-06-08 13:54:09 +00:00
kolaente
8c34676946
feat(time-tracking): extract the smart-fill start computation
2026-06-08 13:54:09 +00:00
kolaente
e4b0a487fc
feat(date): accept a null modelValue in DatepickerWithRange
2026-06-08 13:54:09 +00:00