Changelog
- ed42687 Improve local CLI auth and skills UX
- 6da87dd Merge pull request #135 from multica-ai/forrestchang/rename-super-mutica
- a997bcf Merge pull request #136 from multica-ai/NevilleQingNY/logging-and-ui-polish
- aa3f927 Merge pull request #138 from multica-ai/feat/cli-browser-login
- e9ae040 Merge pull request #139 from multica-ai/refactor/remove-repos-root
- 8684156 Merge pull request #140 from multica-ai/NevilleQingNY/fix-resizable-panels
- 6fd0e2b Merge pull request #141 from multica-ai/forrestchang/fix-012-migration
- 82bd10c Merge pull request #142 from multica-ai/NevilleQingNY/rm-monorepo
- 8a1067e Merge pull request #143 from multica-ai/forrestchang/import-skill
- aeccd0a Merge pull request #144 from multica-ai/forrestchang/local-runtime-tab
- 88de467 Merge pull request #145 from multica-ai/NevilleQingNY/rm-monorepo
- a6e9bb1 Merge pull request #146 from multica-ai/forrestchang/rm-knowledge-base
- 7e74c7b Merge pull request #147 from multica-ai/feat/add-claude-skills
- da2f794 Merge pull request #148 from multica-ai/forrestchang/rm-agent-skills
- 327973b Merge pull request #149 from multica-ai/feat/cli-issue-commands
- 8bd476f Merge pull request #150 from multica-ai/fix/pr-149-review-fixes
- 6395a74 Merge pull request #152 from multica-ai/forrestchang/paperclip-audit
- 88294fa Merge pull request #153 from multica-ai/forrestchang/skill-add-ux-review
- e860691 Merge pull request #154 from multica-ai/forrestchang/skills-tree-view
- 1b505c3 Merge pull request #155 from multica-ai/forrestchang/codex-token-parse
- 14ae1b9 Merge pull request #156 from multica-ai/forrestchang/agent-issue-flow
- fd9d2e2 Merge pull request #157 from multica-ai/forrestchang/kanban-redesign
- 5fc03c6 Merge pull request #158 from multica-ai/forrestchang/theme-card-selector
- 3bb7956 Merge pull request #159 from multica-ai/naiyuan/subscriber-notifications
- 1981036 Merge pull request #160 from multica-ai/naiyuan/activity-log
- 26318f6 Merge pull request #161 from multica-ai/forrestchang/explore-cli-cmds
- 586c3bf Merge pull request #162 from multica-ai/naiyuan/realtime-sync-refactor
- c5fed18 Merge pull request #163 from multica-ai/forrestchang/test-agent-review
- 6871163 Merge pull request #164 from multica-ai/forrestchang/fix-runtime-status
- 42f7237 Merge pull request #165 from multica-ai/forrestchang/feature-audit
- e819898 Merge pull request #166 from multica-ai/forrestchang/readable-issue-ids
- 4ceb7c2 Merge pull request #167 from multica-ai/forrestchang/runtime-review
- 5211947 Merge pull request #168 from multica-ai/forrestchang/agent-arch-review
- 6b84186 Merge pull request #169 from multica-ai/NevilleQingNY/invite-inbox-realtime
- ab4058b Merge pull request #170 from multica-ai/NevilleQingNY/ui-polish
- 3b58dff Merge pull request #171 from multica-ai/forrestchang/issue-resume-qa
- a10515f Merge pull request #172 from multica-ai/forrestchang/agent-repo-context
- 663dec5 Merge pull request #173 from multica-ai/forrestchang/fix-cli-login-token
- 00c5423 Merge pull request #174 from multica-ai/forrestchang/inbox-hide-sidebar
- cbf8f95 Merge pull request #175 from multica-ai/forrestchang/agent-comment-identity
- e1e4079 Merge pull request #176 from multica-ai/forrestchang/daemon-stuck-task
- c2af664 Merge pull request #177 from multica-ai/forrestchang/task-queue-readability
- 810f2df Merge pull request #179 from multica-ai/forrestchang/daemon-log-readability
- 681da9d Merge pull request #180 from multica-ai/agent/lambda/6f41715a
- 3f2b345 Merge pull request #182 from multica-ai/agent/lambda/532f6d3d
- f9b1be0 Merge pull request #183 from multica-ai/forrestchang/batch-issue-ops
- c27715d Merge pull request #184 from multica-ai/NevilleQingNY/ui-fixes-batch
- 038dac7 Merge pull request #185 from multica-ai/NevilleQingNY/issue-draft-persist
- 9da4f0d Merge pull request #188 from multica-ai/NevilleQingNY/workspace-isolation-and-agent-parity
- eeb4fee Merge remote-tracking branch 'origin/main' into forrestchang/import-skill
- c1fc5c7 chore(web): remove knowledge base module and fix worktree port conflicts
- e7fe6ea feat(activity): unified activity timeline with comment reply support
- 5b2c61c feat(agent): add instructions field for agent persona/identity
- ffda18c feat(agent): add per-task session persistence for Claude Code resumption
- 32f795e feat(agent): trigger agent on member comment (on_comment trigger)
- 9ede795 feat(api): strict workspace isolation + agent parity fixes
- feb62ae feat(auth): add browser-based CLI login flow
- 5c9c2f6 feat(auth): email verification login and personal access tokens
- 669b18e feat(auth): skip email verification for CLI login when already authenticated
- 765ba8e feat(cli): add issue management commands
- 4a62b98 feat(cli): add workspace get and members commands
- 38d595d feat(cli): restructure CLI commands for better UX
- 40aa3f6 feat(cli): support app_url in CLI config (#186)
- cdc1ac7 feat(daemon): agent-driven repo checkout with bare clone cache
- 4614464 feat(daemon): inject skills into agent-native directories
- 4210fe6 feat(daemon): multi-workspace support with hot-reload
- ce2b263 feat(daemon): reuse workdir across tasks on same agent+issue pair
- e72f5f0 feat(inbox): add priority/due_date notifications, structured details, and hover card
- 63fd7ef feat(inbox): hide issue detail sidebar by default
- 4126073 feat(inbox): scope all inbox queries by workspace_id
- 8d34e07 feat(invite): show toast when invited to workspace
- 10f88c5 feat(issues): add batch operations for issue list view
- 9fbac49 feat(issues): add human-readable issue identifiers (e.g. JIA-1)
- f050ab1 feat(issues): add inline property editing on kanban cards and calendar date picker
- bf379b2 feat(issues): persist create-issue draft with sidebar indicator
- 7cd9110 feat(issues): redesign kanban board with drag sorting, filters, and display settings
- 586a491 feat(issues): rewrite issues page with component decomposition and persisted filters
- 8983a9f feat(logging): add structured logging across server and SDK
- bfe9498 feat(notifications): replace hardcoded inbox notifications with subscriber-driven model
- 9236674 feat(realtime): WS invalidation + refetch pattern, inbox bugfixes, UI polish
- 4914f1d feat(realtime): route personal events to target user only
- 903fbee feat(runtimes): add Runtimes tab with usage tracking and connection test
- 36798b1 feat(runtimes): add usage charts, activity heatmap, and hourly distribution
- d41b986 feat(server): distinguish agent vs human CLI actions (#181)
- afbbf6f feat(settings): redesign members tab with dropdown menu
- 1d08057 feat(settings): replace theme buttons with visual preview card selector
- 9bc0366 feat(skills): add skill import from ClawHub and Skills.sh
- f4ff012 feat(skills): improve import skill UX with source cards
- 8de7006 feat(skills): replace skill detail with file-browser tree view
- 05c0471 feat(subscribers): interactive subscriber management with AvatarGroup + Command popover
- b112d1f feat(tasks): add coalescing queue and task lifecycle guards
- 59816b8 feat(ui): Linear-style status icons with progress circle base
- 572d033 feat(ui): comprehensive UI consistency fixes and list view accordion redesign
- 459d974 feat(ui): route persistence, sidebar active fix, header spacing
- bae2926 feat(web): add repos management UI to workspace settings
- 8311176 feat(workspace): add repos JSONB field for GitHub repository URLs
- acf9c62 feat: add Claude Code skills for UI/UX development
- bc39abc feat: inbox actor tracking, issue detail extraction, UI polish
- 655aa40 feat: issue detail extraction, inbox enhancements, misc UI polish
- 2cf088d feat: resizable sidebar, issue detail rewrite, package consolidation
- 4052017 feat: settings redesign, rich text mentions, inbox listeners, and UI polish
- ba3c8e1 fix(activity): address code review feedback
- b2ee151 fix(activity): address code review feedback and improve timeline UX
- 9e2cb40 fix(agents): show error toast on agent creation failure
- b9a4fa1 fix(auth): add CSRF state param, scheme validation, and .envrc to gitignore
- de322f7 fix(auth): improve CLI login callback page to match frontend design
- de1b7e3 fix(auth): reduce verification code rate limit from 60s to 10s
- 8366e91 fix(auth): restore email verification login flow from main
- 788ba50 fix(auth): validate cli_callback to localhost and URL-encode callback param
- 26d3ecd fix(ci): replace turbo commands with direct pnpm calls
- c3a9190 fix(cli): always update server_url on login
- 16e0645 fix(cli): daemon reads server_url from config file (#187)
- daecf79 fix(cli): propagate API errors in resolveAssignee and fix rune-safe truncation
- 673ba09 fix(cli): rune-safe truncateID, consistent client construction, add --output to status cmd
- 6cc8f75 fix(comments): cascade delete replies in DB when parent comment is deleted
- 8a9ae01 fix(comments): cascade delete replies when parent comment is deleted
- 5d2e62c fix(comments): fix padding, separate CommentInput from ReplyInput
- 12dec9f fix(daemon): add reload guard and atomic config writes
- 241acb3 fix(daemon): fix Codex token usage parsing from session logs
- 9b2ded6 fix(daemon): improve agent execution log readability
- e4a905c fix(daemon): improve error handling in auth and workspace loading
- 67f1f49 fix(daemon): prevent stuck tasks from blocking queue and add concurrent execution
- e263064 fix(daemon): remove dead code and improve UX feedback
- fa6b5b5 fix(db): make inbox_actor migration idempotent
- 072ee83 fix(db): renumber inbox_actor migration to resolve 009 conflict
- a4c8bbb fix(handler): attribute agent CLI actions to agent identity
- f5519e4 fix(handler): set issue_prefix when auto-creating workspace on first login
- 6a09714 fix(inbox): add missing notification type labels for subscriber-driven notifications
- cd34b82 fix(issues): UI polish batch — comment input, card gap, board title, activity coalescing
- 168d9ab fix(issues): add consistent spacing between list header and items
- cc19cfb fix(issues): unify activity/comment timeline spacing with flex-col gap
- 632ff1f fix(issues): update test mocks and workspace switch ordering
- 5b9241b fix(notifications): address code review feedback
- b3bbf92 fix(runtime): add server-side sweeper to detect stale runtimes
- 8a96aa6 fix(subscribers): deduplicate members list in subscriber popover
- df6f658 fix(subscribers): fix duplicate key error, add agents to subscriber popover
- 89c617b fix(subscribers): only show Creator and Assignee labels in subscriber popover
- b8fa714 fix(subscribers): pass user_type to subscribe/unsubscribe API for correct agent handling
- f410799 fix(subscribers): prevent duplicate subscriber entries from optimistic update + WS race
- c2e8071 fix(subscribers): remove all reason labels from subscriber popover
- 2ec3e4e fix(subscribers): use composite key (user_id + user_type) in subscriber:removed WS handler
- 395814b fix(test): update daemon tests after removing acceptance_criteria/context_refs
- 488b41f fix(test): update issues page test for empty state behavior change
- a3d20d3 fix(test): update login tests to match email verification flow
- 6b93e3b fix(tests): update issue page tests for new header and view store shape
- b611987 fix(ui): improve board card hover with shadow and text contrast
- b0a6489 fix(ui): polish issue detail — wider content, thinner comment border, smaller props text
- 04cba6f fix(ui): restore issue identifier in breadcrumb
- abe3c59 fix(ui): switch issue title to inline editable input
- 852d18c fix(web): add null checks for CLI auth callback and token
- ed56b85 fix(web): improve agent task queue readability
- 46708e8 fix(web): resolve duplicate tiptap Link extension warning
- 5696b78 fix(web): show empty board/list view when no issues match filters
- 4d8b2ed fix: address PR #149 review findings
- 939415d fix: resolve merge conflict in login page, adopt main's CLI auth flow
- f70b34a fix: resolve merge conflicts with main, preserve PAT functionality
- 3a8aec7 merge: resolve conflict in issue-detail breadcrumb
- 781c3d1 merge: resolve conflict with RequireWorkspaceMember middleware
- 6ee034c merge: resolve conflicts after merging main
- 99ada27 merge: resolve conflicts with main (workdir reuse)
- 01ac0a8 refactor(agent): remove auto-init issue on agent creation
- 87b482e refactor(cli): move watch/unwatch under workspace subcommand
- 844522a refactor(cli): split workspace list and daemon watch commands
- 0c87386 refactor(comments): flat thread layout in one Card (Linear-style)
- 1deae2a refactor(daemon): remove context snapshot, let agent fetch data via CLI
- 7b4a73c refactor(daemon): remove global ReposRoot, use per-task RepoPath from server
- b9d2b88 refactor(daemon): remove pairing flow, use CLI auth token instead
- ec188a3 refactor(issues): move subscribers UI from sidebar to Activity header (Linear-style)
- ceba855 refactor(runtimes): split monolithic page, add zustand store, time range selector, and delete support
- f4a6e7c refactor(server): consolidate workspace permission checks into middleware
- 56c06ec refactor(timeline): use avatar for activity entries, remove filter, allow nested replies
- 6d2a0b4 refactor: decouple task lifecycle from issue status (#151)
- a500001 refactor: remove acceptance_criteria and context_refs from issues
- d1f73bf refactor: remove unused monorepo tooling
- 87e7607 revert(runtimes): remove runtime delete functionality
- fb2e286 test(cli): add unit tests for PostJSON API client method
- 6733262 test(cli): add unit tests for issue command helpers
- 9ff1921 test(issues): update page tests for new component structure