bec0f4adc8
feat(ST-513): add metadata JSONB column to StoryLog
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:58:49 +02:00
62572b84f6
feat(ST-513): expose lowercase status on API and accept lowercase in PATCH /api/tasks
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:48:40 +02:00
405abc3094
feat(ST-513): add task and story status mappers for API boundary
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:43:42 +02:00
dc5df2e271
docs(ST-513): add backlog entry for API hardening for Claude Code
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:43:17 +02:00
1a5301c724
docs(ST-512): mark ST-512 as done
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:37:13 +02:00
03fda05be3
feat(ST-512): extend REST API with code, description and implementation_plan
...
- GET /api/products returns code, description and definition_of_done
- GET /api/products/:id/next-story returns story.code and per-task code + implementation_plan
- GET /api/sprints/:id/tasks returns description, implementation_plan, story_code and derived per-task code
- POST /api/todos accepts and returns optional description (max 2000)
All changes are additive — existing clients ignore unknown keys.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:36:55 +02:00
80d1f30615
docs(ST-512): add backlog entry for REST API code/description/implementation_plan extensions; mark ST-511 done
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:33:33 +02:00
4e45314dd0
fix(ST-511): read create-state errors in Story dialog fieldError
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:25:32 +02:00
440c7da8fd
fix(ST-511): surface field errors for code and title in PBI dialog
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:24:58 +02:00
2663819eef
fix(ST-511): retry on auto-code unique conflict in story and pbi create
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:24:24 +02:00
c62de4c0d0
fix(ST-511): add createWithCodeRetry helper to handle P2002 race on auto codes
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:23:16 +02:00
d48227ba23
docs(ST-511): add backlog entry for entity codes feature
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 21:21:36 +02:00
a8adac127f
Merge pull request #1 from madhura68/feat/codes-todo-desc-misc
...
Entity codes (Product/Pbi/Story/Task), Todo description, M3.5 not-done seed, ProfileEditor email fix
2026-04-26 21:01:15 +02:00
f880cd3c8f
docs(ST-355): add Solo Paneel implementation spec
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:49:29 +02:00
f994219957
fix(ST-507): split server-only code helpers into lib/code-server to keep client bundle clean
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:42:55 +02:00
b71eb53fa8
feat(ST-507): show code badges on cards, lists and dialogs across the app
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:36:59 +02:00
66063f035a
feat(ST-507): add code input to Product, Pbi and Story forms
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:36:47 +02:00
9da9f6ae56
feat(ST-507): split code from title in backlog parser and seed Scrum4Me with codes
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:36:45 +02:00
16a3b139ae
feat(ST-507): persist code in product, pbi and story actions with auto-default and uniqueness
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:36:35 +02:00
8ffbc526d5
feat(ST-507): add code-helpers and CodeBadge component
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:36:33 +02:00
33d66bc7c4
feat(ST-507): add optional code fields to Product, Pbi and Story
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 20:36:26 +02:00
c45ba1d0c2
feat(ST-509): add description textarea to Todo create and edit cards
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:59:55 +02:00
856a051b2f
feat(ST-509): persist Todo description in create and update actions
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:59:53 +02:00
318cb1e1f9
feat(ST-509): add optional description column (max 2000 chars) to Todo
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:59:52 +02:00
af76453dc1
feat(ST-004): force M3.5 stories and tasks to not-done in seed regardless of backlog checkbox
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:53:56 +02:00
34e6334051
fix(ST-507): remount email Input on prop change to silence base-ui uncontrolled warning
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:46:53 +02:00
a1ecf096a3
fix(ST-507): trigger logout via form ref to avoid base-ui native button warning
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:42:19 +02:00
338a5edf11
fix(ST-507): wrap UserMenu role label in DropdownMenuGroup to satisfy base-ui
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:40:06 +02:00
0dc907b75c
feat(ST-507): add email input to settings and surface in user menu
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:37:51 +02:00
5ed3645ecb
feat(ST-507): persist email in updateProfileAction with Zod validation
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:37:49 +02:00
1187117e05
feat(ST-507): add optional email field to User schema
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:37:38 +02:00
e887f796c7
feat(ST-507): replace navbar roles/settings/logout with avatar user menu
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:31:21 +02:00
8a5076a5ed
feat(ST-611): add tour screenshots to public/screenshots
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:22:52 +02:00
3977b89ca7
feat(ST-611): add tour with screenshots, Solo Paneel and Sprint Board to landing page
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 19:04:57 +02:00
767476aa8e
docs: sync architecture doc with current codebase
...
- Add REVIEW to TaskStatus enum
- Fix stores list: remove phantom files, add solo-store and product-store
- Fix SelectionStore method names (selectPbi/selectStory)
- Add solo board route and product layout to file tree
- Mark sprint/planning as redirect, not a full page
- Update Zustand store count from 3 to 5
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 18:21:43 +02:00
e6e6c96261
feat: default split pane to 20%, persist position in cookie
...
Replaced localStorage with document.cookie (1-year expiry, samesite=lax).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 18:17:33 +02:00
34848588a8
refactor: extract BacklogCard component, use for stories and PBIs
...
Single card component with priority border, selected state, badge
and actions slots. Replaces duplicate inline card markup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 18:13:03 +02:00
6671f3118c
feat: change story grid to 3 columns
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 18:08:22 +02:00
3a78018e31
feat: story cards match solo task card style, 4-column grid layout
...
Replaced fixed w-28 blocks with priority-border cards identical to
solo task cards. Grid layout (grid-cols-4) replaces flex-wrap.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 18:07:53 +02:00
9a5cc484b7
feat: center product name in navbar
...
Three-section layout (flex-1 left, center, flex-1 right) keeps
the product name truly centered regardless of sidebar content.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 18:02:38 +02:00
991e9c0a4b
feat: add hover tooltips to roles and product name in navbar
...
Roles show full names (e.g. Product Owner), product shows full name.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:59:36 +02:00
29ed4f2773
feat: show active product name in navbar, links to product page
...
Sub-layout sets product in Zustand store; NavBar reads it.
getAccessibleProduct wrapped with React cache to avoid double DB call.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:56:50 +02:00
bc91e3c169
fix: nav order always Producten, Sprint, Solo, Todo's on all pages
...
Sprint is dimmed when no product is active in the URL.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:51:51 +02:00
abb42a7046
feat: fix nav link order to Producten, Sprint, Solo, Todo's
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:49:25 +02:00
d684732ec8
feat: show tasks with priority and status in unassigned stories sheet
...
Tasks are always visible under each story. Click a task to expand
its description.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:49:19 +02:00
a5f81fce70
feat(ST-004): emit one task per backlog sub-bullet, not per story
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 17:39:11 +02:00
1abbd4e5e4
fix: set lastProductId cookie in proxy instead of Server Component
...
Cookies can only be written in Server Actions or Route Handlers.
Moved the write to proxy.ts where NextResponse.cookies.set is allowed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:25:17 +02:00
d27c55c7fc
fix: sprint board accessible to product members, not only owners
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:25:10 +02:00
af4a357709
fix: product backlog page accessible to members, not only owners
...
Replaced owner-only query (user_id = session.userId) with
getAccessibleProduct which also accepts product members.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 17:15:26 +02:00
928328b380
fix(ST-102): show products via membership on dashboard, not just owned
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 17:12:42 +02:00