Skip to content

feat(chats): update status and summary#59

Merged
vitramir merged 7 commits intomainfrom
noa/issue-58
Apr 8, 2026
Merged

feat(chats): update status and summary#59
vitramir merged 7 commits intomainfrom
noa/issue-58

Conversation

@casey-brooks
Copy link
Copy Markdown
Contributor

Summary

  • remove runs/containers UI, hooks, and dead modules
  • add update chat summary/status flow and list subtitle mapping
  • add realtime chat notifications to invalidate queries

Testing

  • pnpm lint
  • pnpm typecheck
  • pnpm test
  • pnpm build

#58

@casey-brooks casey-brooks requested a review from a team as a code owner April 8, 2026 01:35
@casey-brooks
Copy link
Copy Markdown
Contributor Author

Summary

  • removed runs/containers UI, hooks, and dead modules
  • added chat summary/status update flow and list subtitle mapping
  • added realtime chat notifications to invalidate queries

Tests

  • pnpm lint (no errors)
  • pnpm typecheck (no errors)
  • pnpm test (passed: 2, failed: 0, skipped: 0)
  • pnpm build (no errors)

@rowan-stein
Copy link
Copy Markdown
Collaborator

Implementation complete for #58 — all 6 items. Build ✅, typecheck ✅, lint ✅, unit tests ✅. E2E running.

Requesting review.

Copy link
Copy Markdown

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean PR overall — the removal of runs/containers/panel code is thorough, the useUpdateChat mutation with optimistic updates is well-structured, and the WebSocket notification hook follows the existing graphSocket patterns correctly.

One major issue to address:

  • useChatNotifications registers a run_status_changed handler that invalidates a query key (['chats', chatId, 'runs']) that no longer exists after this PR's cleanup. This is dead code and should be removed.

Minor / nit items:

  • page.chats ?? [] fallback in updateChatPages is unnecessary — boundary normalization already guarantees chats is an array.
  • Extra blank line in Chats.tsx.
  • Three chat.id reset effects in ChatDetailHeader could be consolidated.

Note (not in diff, but worth a follow-up): src/api/types/chat-resources.ts still exports RunMeta, RunMessageItem, JsonValue, and JsonPrimitive which are no longer referenced anywhere in the codebase after the run-related file deletions. Consider removing these dead types in this PR or a follow-up.

Comment thread src/hooks/useChatNotifications.ts Outdated
Comment thread src/api/hooks/chat.ts Outdated
Comment thread src/pages/Chats.tsx
Comment thread src/components/screens/ChatsScreen.tsx Outdated
@casey-brooks
Copy link
Copy Markdown
Contributor Author

Summary

  • removed unused run status socket handler and dead chat-resources types
  • simplified updateChat pages mapping per normalized chats
  • consolidated chat header reset effects and cleaned layout whitespace

Tests

  • pnpm lint (no errors)
  • pnpm typecheck (no errors)
  • pnpm test (passed: 2, failed: 0, skipped: 0)
  • pnpm build (no errors)

noa-lucent
noa-lucent previously approved these changes Apr 8, 2026
Copy link
Copy Markdown

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All 4 review comments addressed and verified in code, plus the bonus cleanup of dead types from chat-resources.ts. Everything looks good — approving.

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Summary

  • added shared DEFAULT_TEST_INIT_IMAGE in e2e helpers
  • updated createAgent calls to include initImage across agent-related e2e specs
  • switched TestLLM agent init image to latest

Tests

  • pnpm lint (no errors)
  • pnpm typecheck (no errors)
  • pnpm test (passed: 2, failed: 0, skipped: 0)
  • pnpm build (no errors)

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Summary

  • added chat detail header agent test id for name text
  • updated chat-agent-response assertions to target agent label

Tests

  • pnpm lint (no errors)
  • pnpm typecheck (no errors)
  • pnpm test (passed: 2, failed: 0, skipped: 0)
  • pnpm build (no errors)

noa-lucent
noa-lucent previously approved these changes Apr 8, 2026
Copy link
Copy Markdown

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New changes verified:

  1. DEFAULT_TEST_INIT_IMAGE centralizes the init image string — eliminates the pinned 0.13.0 magic string and keeps all e2e agent creation calls consistent.
  2. data-testid="chat-detail-header-agent" correctly separates the agent name testid from the summary area (chat-detail-header-title), improving test specificity.
  3. All e2e test assertions updated to match.

Clean and straightforward. Approving.

vitramir
vitramir previously approved these changes Apr 8, 2026
@casey-brooks casey-brooks dismissed stale reviews from vitramir and noa-lucent via 6a86558 April 8, 2026 15:03
@casey-brooks
Copy link
Copy Markdown
Contributor Author

Summary

  • removed the skipped shared-chat list test block in chat-exchange e2e spec

Tests

  • pnpm lint (no errors)
  • pnpm typecheck (no errors)
  • pnpm test (passed: 2, failed: 0, skipped: 0)
  • pnpm build (no errors)

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Summary

  • restored the shared chat list test (now active) with updated dependency comment
  • removed conditional skip in org-switching no-organizations test and force mock auth when needed

Tests

  • pnpm lint (no errors)
  • pnpm typecheck (no errors)
  • pnpm test (passed: 2, failed: 0, skipped: 0)
  • pnpm build (no errors)

@casey-brooks
Copy link
Copy Markdown
Contributor Author

Summary

  • added createMembership/acceptMembership e2e helpers in chat-api
  • updated shared chat list test to add and accept membership before listing

Tests

  • pnpm lint (no errors)
  • pnpm typecheck (no errors)
  • pnpm test (passed: 2, failed: 0, skipped: 0)
  • pnpm build (no errors)

Copy link
Copy Markdown

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New commits verified:

  1. createMembership / acceptMembership helpers — follow the established postConnect + typed wire response pattern consistently with existing helpers. Clean.
  2. Un-skipped shared chat test — properly sets up org membership before creating the chat, correctly using User A's context for createMembership and User B's for acceptMembership.
  3. organization-switching.spec.ts fix — the old base.skip was misleading (the !signedIn case means "already authenticated", not "MockAuth disabled"). The { force: true } retry correctly clears stale auth state and re-authenticates as the fresh no-orgs user.
  4. No remaining test.skip across all e2e specs — dead test code fully cleaned up.

Approving.

@vitramir vitramir merged commit dda5fd6 into main Apr 8, 2026
2 of 3 checks passed
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.

4 participants