fix(ui): list view quick filter must fetch issues from server #5691

PR
PR description

Summary

  • The project list view's quick-filter presets (Active, Backlog, Done) only filtered the already-loaded issues prop on the client.
  • Large projects exceed the default 500-item server cap, and the server's priority-first sort drops all low-priority issues past that cap โ€” so the Active preset could no longer surface them, even when they matched.
  • Mirror the board view's per-status fetching pattern in the list view: when a status filter is active, issue one server query per selected status (limit: 200) and merge before client-side filtering.
  • Reuse the same UX as boardColumnLimitReached for an analogous listStatusLimitReached hint when any status query saturates its cap.

Repro

  1. Open any project with > 500 issues whose low-priority entries would sort past rank 500 (priority first, then canonicalLastActivityAt DESC).
  2. Switch to List view, pick the Active quick filter.
  3. Observe that low-priority todo / in_progress / in_review / blocked issues never appear despite matching the preset.

After this change the matching issues are fetched from the server per-status and rendered.

Test plan

  • pnpm typecheck (ui)
  • pnpm build (ui)
  • Manual: large project, list view, toggle Active / Backlog / Done โ€” verify previously hidden issues now show, and switching back to All restores the original prop-driven list.
  • Manual: confirm the listStatusLimitReached hint renders when any status query hits the 200-item cap.

๐Ÿค– Generated with Claude Code

CUT
cutter bot commented just now

Cutter Summary

โš  Coverage limit โ€” The new listStatusLimitReached hint only renders when at least one status query saturates its 200-item cap, which fixtures can't produce.