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
kolaente
8839c296a2
feat(date): show the matching preset name on the date-range button
2026-06-08 13:54:09 +00:00
kolaente
27bb80d11a
feat(input): add quick-select shortcuts to the Datepicker
2026-06-08 13:54:09 +00:00
kolaente
43d0203358
feat(time-tracking): add the time-tracking store
2026-06-08 13:54:09 +00:00
kolaente
80c21e6f40
feat(time-tracking): add the v2 time-entry service
2026-06-08 13:54:09 +00:00
kolaente
565bf97294
refactor(config): add PRO_FEATURE constants for licensed features
2026-06-08 13:54:09 +00:00
kolaente
4a558fc57a
fix(api/v2): expose v2-only token route groups via the routes endpoint
2026-06-08 13:54:09 +00:00
kolaente
74510bb00a
fix(api/v2): group time-entries token routes under their own scope
2026-06-08 13:54:09 +00:00
kolaente
2858b8b827
test(time-tracking): cover the v2 time-entry routes
2026-06-08 13:54:09 +00:00
kolaente
b8b376c53a
test(time-tracking): cover the time_entries model
2026-06-08 13:54:09 +00:00
kolaente
aef584c9fa
feat(time-tracking): let clients subscribe to timer events
2026-06-08 13:54:09 +00:00
kolaente
cf22f08974
feat(time-tracking): broadcast timer changes over websocket
2026-06-08 13:54:09 +00:00
kolaente
e197b1912f
feat(time-tracking): count tracked time entries per task
2026-06-08 13:54:09 +00:00
kolaente
0c5a0a99ec
feat(time-tracking): dispatch time-entry events
2026-06-08 13:54:09 +00:00
kolaente
9454cd3ec5
feat(time-tracking): expose time entries on the v2 API
2026-06-08 13:54:09 +00:00
kolaente
4bd6a6c4f7
feat(time-tracking): filter time entries with the task DSL
2026-06-08 13:54:09 +00:00
kolaente
42795518e9
feat(time-tracking): add the time_entries model
2026-06-08 13:54:09 +00:00
kolaente
26c067cc38
refactor: extract preprocessFilterString from task filter parsing
2026-06-08 13:54:09 +00:00
kolaente
6387d8138a
feat(time-tracking): add the time_entries table migration
2026-06-08 13:54:09 +00:00
renovate[bot]
8ff97a61de
chore(deps): update dev-dependencies
2026-06-08 07:23:10 +00:00