Naiyuan Qing
|
bd1fb10afa
|
chore: react-doctor cleanup — button types, useContext→use(), toSorted, error fixes (#3350)
- Add explicit type="button" to 61 <button> elements missing the attribute
- Replace useContext() with React 19 use() across 16 context consumers
- Replace [...arr].sort() with arr.toSorted() in 12 web/desktop files
(mobile excluded — Hermes lacks toSorted support)
- Fix rules-of-hooks violation: useSidebar try/catch → useSidebarSafe null check
- Fix nested component definition: useMemo wrapping HeaderRight → useCallback
- Fix missing ARIA: add aria-expanded + aria-controls to combobox in create-squad
React Doctor score: 23 → 30. No behavioral changes, no business logic modified.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-27 14:57:07 +08:00 |
|
Bohan Jiang
|
3645bdb5b6
|
feat(issues): add start_date field with progressive disclosure (MUL-2274) (#2696)
* feat(issues): add start_date field with progressive disclosure (MUL-2274)
Mirrors the existing due_date implementation end-to-end so an issue can
express a planned start in addition to a deadline. Surfaces start_date as
an optional sidebar property alongside priority / due_date / labels (added
in MUL-2275), with consistent picker, board/list/sort, activity, and inbox
plumbing.
Backs the Project Gantt work (parent MUL-1881) and keeps the
progressive-disclosure attribute experience consistent.
- DB: migration 091 adds issue.start_date TIMESTAMPTZ.
- sqlc: ListIssues / CreateIssue / UpdateIssue / CreateIssueWithOrigin /
ListOpenIssues read & write start_date.
- Backend: IssueResponse + create/update/batch-update handlers parse and
emit start_date with RFC3339 validation; new start_date_changed activity
event + subscriber notification (with prev_start_date in event payload).
- CLI: --start-date flag on `multica issue create` / `issue update`.
- Frontend: StartDatePicker component, start_date wired into Issue type,
Zod schema, draft / view stores, sort util, header sort + card-property
options, list-row / board-card display, create-issue modal, and the
issue-detail progressive-disclosure "+ Add property" surface (visibility
rule, picker row, add-property menu icon + label).
- i18n: en + zh-Hans for sort_start_date / card_start_date /
prop_start_date / activity start_date_set / start_date_removed /
picker start_date.trigger_label / clear_action / inbox labels.
- Tests: new TestNotification_StartDateChanged; existing Issue / draft /
modal fixtures extended with start_date.
Co-authored-by: multica-agent <github@multica.ai>
* feat(issues): align start_date with due_date in actions menu and CLI table
- Add Start Date submenu (today / tomorrow / next week / clear) in
actions menu, mirroring Due Date — parity with the Due Date quick
setters in list/board context and 3-dot menus.
- Add corresponding en / zh-Hans i18n keys
(actions.start_date / start_today / start_tomorrow / start_next_week
/ start_clear).
- CLI human table for `multica issue list` and `multica issue get`
now shows a START DATE column next to DUE DATE; --full-id variant
too.
Co-authored-by: multica-agent <github@multica.ai>
---------
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-17 15:01:38 +08:00 |
|
Naiyuan Qing
|
f41a0cf423
|
feat(views): extract packages/views — shared business UI + navigation adapter
- Create NavigationAdapter interface (push, replace, back, pathname, searchParams)
- Create AppLink component replacing next/link in 4 files
- Replace useRouter → useNavigation in 3 files (issue-detail, create-issue, create-workspace)
- Create WebNavigationProvider wrapping Next.js useRouter/usePathname/useSearchParams
- Move ~85 feature UI files (issues, editor, modals, my-issues, skills, runtimes) to packages/views/
- Add store singleton registration pattern (registerAuthStore, registerWorkspaceStore)
- Create data-aware wrappers in packages/views/common/ (ActorAvatar, Markdown)
- Update all app-layer imports to @multica/views/*
- Add @source directive for Tailwind to scan views package
- packages/views/ has zero next/* imports
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-09 11:49:55 +08:00 |
|