multica/server/cmd/server
Bohan Jiang a8a8ff6eca
feat(issues): add sub-issue support (#483)
* feat(issues): add sub-issue support

- Backend: Add ListChildIssues SQL query, add parent_issue_id to UpdateIssue,
  add GET /api/issues/{id}/children endpoint
- Frontend: Display parent issue breadcrumb and link in issue detail sidebar,
  show child issues list with status icons, add "Create sub-issue" action in
  dropdown menu and sidebar, pass parent_issue_id through create issue modal
- Update test mocks for new API method

* fix(issues): add parent validation, cycle detection, and improve child refresh

- CreateIssue: validate parent issue exists in the same workspace
- UpdateIssue: validate parent exists, prevent self-referencing, detect
  circular parent chains (up to 10 levels deep)
- Frontend: derive child issues from store when available instead of
  refetching on every global issue count change
2026-04-08 15:57:13 +08:00
..
activity_listeners.go feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish 2026-03-29 13:49:40 +08:00
activity_listeners_test.go feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish 2026-03-29 13:49:40 +08:00
comment_trigger_integration_test.go fix(trigger): skip parent mention inheritance when reply @mentions only members (#421) 2026-04-05 04:44:24 +08:00
integration_test.go refactor: remove agent triggers config field (#469) 2026-04-07 22:02:28 +08:00
listeners.go feat(realtime): skip WS refetch for self-triggered events 2026-03-31 13:09:17 +08:00
main.go fix(runtime): add server-side sweeper to detect stale runtimes 2026-03-29 14:22:12 +08:00
notification_listeners.go Merge pull request #327 from multica-ai/agent/j/53c0348f 2026-04-02 14:28:26 +08:00
notification_listeners_test.go fix(inbox): remove hardcoded 50-item limit from inbox list query 2026-03-31 18:36:41 +08:00
router.go feat(issues): add sub-issue support (#483) 2026-04-08 15:57:13 +08:00
runtime_sweeper.go fix(server): broadcast sweeper task:failed events to correct workspace 2026-04-02 03:20:59 +08:00
runtime_sweeper_test.go test(server): add integration tests for sweeper event broadcasting fix 2026-04-02 03:30:32 +08:00
subscriber_listeners.go fix(server): subscribe @mentioned users in issue descriptions 2026-03-31 18:36:15 +08:00
subscriber_listeners_test.go feat(notifications): replace hardcoded inbox notifications with subscriber-driven model 2026-03-28 19:33:20 +08:00