multica/apps/web/features/issues/components
LinYushen ec934f3a8b
fix(web): add load-more pagination for Done column on issue board (#492)
* fix(web): add load-more pagination for Done column on issue board

The Done column was capped at 50 issues with no way to load more.
Track doneTotal in the TQ cache and add a useLoadMoreDoneIssues hook
that fetches the next page and merges it into the unified issue cache.
The Done column now shows a "Load more" button when there are
additional items.

- shared/types/api.ts: add doneTotal to ListIssuesResponse
- core/issues/queries.ts: store doneTotal from the done-status response
- core/issues/mutations.ts: add useLoadMoreDoneIssues hook, update
  create/delete mutations to maintain doneTotal
- core/issues/ws-updaters.ts: maintain doneTotal on WS events
- features/issues/components/board-column.tsx: accept optional footer
- features/issues/components/board-view.tsx: render Load more button
  in Done column

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(web): address review issues in done-column load-more

1. Fix total over-counting: loadMore no longer inflates total since
   the initial query already includes all done issues in total count.
2. Fix onIssueUpdated: maintain doneTotal when issue status changes
   to/from done via WS events.
3. Make doneTotal optional in ListIssuesResponse since it's a
   frontend-only field not returned by the backend API. All reads
   now use ?? 0 fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 14:58:51 +08:00
..
pickers feat(core): migrate workspace + runtimes to TanStack Query (Phase 3+4) 2026-04-07 17:19:52 +08:00
agent-live-card.tsx feat: support multiple agents running concurrently on the same issue 2026-04-07 18:19:57 +08:00
batch-action-toolbar.tsx refactor(issues): migrate all consumers to TanStack Query (Phase 1, Commits 5-10) 2026-04-07 15:46:08 +08:00
board-card.tsx fix(web): DnD local-state overlay, onSettled list invalidation, WS self-event filter 2026-04-08 10:25:35 +08:00
board-column.tsx fix(web): add load-more pagination for Done column on issue board (#492) 2026-04-08 14:58:51 +08:00
board-view.tsx fix(web): add load-more pagination for Done column on issue board (#492) 2026-04-08 14:58:51 +08:00
comment-card.tsx refactor(issues): use ReadonlyContent for comment readonly display 2026-04-08 13:47:03 +08:00
comment-input.tsx fix(attachment): use UUIDv7 as S3 key and link attachments on issue/comment creation 2026-04-05 07:55:17 +08:00
index.ts refactor(web): unify assignee dropdowns with ActorAvatar and shared AssigneePicker 2026-04-01 15:37:33 +08:00
issue-detail.tsx Merge pull request #471 from multica-ai/agent/j/959392dd 2026-04-08 12:45:56 +08:00
issue-mention-card.tsx fix(editor): align IssueMentionCard styling and behavior with Tiptap 2026-04-08 13:47:03 +08:00
issues-header.tsx feat(core): migrate workspace + runtimes to TanStack Query (Phase 3+4) 2026-04-07 17:19:52 +08:00
issues-page.tsx fix(web): DnD local-state overlay, onSettled list invalidation, WS self-event filter 2026-04-08 10:25:35 +08:00
list-row.tsx refactor(issues): extract hooks from issue-detail, eliminate dual source of truth 2026-03-31 13:09:17 +08:00
list-view.tsx feat(web): add kanban board + list view + filtering to My Issues page 2026-04-01 16:56:22 +08:00
priority-icon.tsx feat(ui): restyle issue status and priority with colored badges 2026-03-31 03:26:43 +08:00
reply-input.tsx fix(attachment): use UUIDv7 as S3 key and link attachments on issue/comment creation 2026-04-05 07:55:17 +08:00
status-icon.tsx feat(ui): restyle issue status and priority with colored badges 2026-03-31 03:26:43 +08:00