Skip to content

Optimize workspace list and detail loading - #1079

Draft
ferrislucas wants to merge 10 commits into
mainfrom
circus-chief/c8cd-performance-seems-have-degrade
Draft

Optimize workspace list and detail loading#1079
ferrislucas wants to merge 10 commits into
mainfrom
circus-chief/c8cd-performance-seems-have-degrade

Conversation

@ferrislucas

Copy link
Copy Markdown
Owner

Summary

  • add bounded, paginated workspace-card and member-tree projections with aggregate fields
  • move the workspace list to a stale-while-revalidate cache with Load more; defer Kanban data until needed
  • parallelize detail-shell loading and add response timing/size headers while retaining compatibility aliases

Validation

  • yarn workspace @circuschief/server test workspaces.test.js
  • yarn workspace @circuschief/web test --run src/stores/sessions.test.js
  • yarn workspace @circuschief/web build

Follow-up

  • Staged production telemetry and the three-day validation window require deployment and real traffic.

ferrislucas and others added 10 commits August 8, 2026 11:15
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
…into circus-chief/c8cd-performance-seems-have-degrade

Co-authored-by: Codex <noreply@openai.com>

# Conflicts:
#	packages/server/src/api/workspaces.js
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
…into circus-chief/c8cd-performance-seems-have-degrade
The bounded workspace-card list stopped downloading every project session,
which silently dropped several behaviors that had been riding on that
collection:

- Kanban and command-run WebSocket payloads were no longer applied to their
  stores, so lane settings appeared to not persist and inline command output
  stalled. Extract the store sync into useProjectRealtimeStoreSync and register
  it from the list view; delete the now-unused useProjectSessionSubscription.
- Kanban cards read command-run status from the session collection, so their
  status indicators disappeared. The board response now carries
  latestCommandRuns per card session, bounded by card count.
- Session cards lost the PR state badge because the list no longer fetches a
  summary per workspace. Carry prState/hasMergeConflicts/ciStatus as scalar
  fields on the card DTO.
- The workspace member projection omitted activity fields, so the chat overlay
  auto-selected by updatedAt instead of conversation recency.
- `archived: false` counted as an active filter, so an empty project rendered
  "no workspaces match the filter" instead of the empty state.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant