agent-ecosystem/src/renderer/components/chat
Artem Rootman da58917032
perf: offload heavy I/O to worker thread, reduce renderer re-renders
Main process — worker thread for team data:
- New team-data-worker thread handles getTeamData and findLogsForTask,
  isolating heavy file I/O (scanning 300+ subagent JSONL files) from
  Electron's main event loop. getTeamData dropped from ~2000ms on the
  main thread to ~110ms via the worker.
- Worker-side dedup and 10s result cache for findLogsForTask prevents
  redundant scans when the same task is queried multiple times.
- Discovery cache TTL raised from 5s to 30s — avoids re-scanning the
  entire project directory on every call.
- Message cap at 200 in TeamDataService to keep IPC payloads under 1MB
  (was sending 2200+ messages / ~3MB, stalling Chromium IPC serialization).
- IPC handlers fall back to main-thread execution if the worker is
  unavailable (graceful degradation).

Renderer — useShallow and memoization (55 files):
- Added useShallow to store selectors across 55 renderer files. Batched
  individual useStore() calls (e.g. 17 calls in ExtensionStoreView,
  10 in ConnectionSection) into single useShallow selectors, cutting
  unnecessary re-render checks on every store update.
- MemberLogsTab: three 5-second polling intervals now pause when the
  parent tab is hidden (display:none). Previously 5 hidden tabs × 3
  intervals = 15 polling timers firing continuously.
- KanbanColumn wrapped in React.memo to skip re-renders when props
  haven't changed.
- MemberList: memoized activeMembers/removedMembers/colorMap; replaced
  O(n×m) per-member task scan with a pre-computed reviewer map.
- Bounded timer Maps in store initialization to prevent unbounded growth
  of debounce/throttle tracking maps during long sessions.
2026-04-05 16:21:05 +00:00
..
items perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
SessionContextPanel feat: enhance task creation and management features 2026-03-11 12:54:04 +02:00
viewers perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
AIChatGroup.tsx perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
ChatHistory.tsx perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
ChatHistoryEmptyState.tsx feat: migrate to React 19 2026-03-24 17:11:55 +02:00
ChatHistoryItem.tsx feat: migrate to React 19 2026-03-24 17:11:55 +02:00
ChatHistoryLoadingState.tsx feat: migrate to React 19 2026-03-24 17:11:55 +02:00
CompactBoundary.tsx feat: refine team provisioning and UI components for improved user experience 2026-03-09 18:15:00 +02:00
ContextBadge.tsx fix: correct context badge count to sum actual items instead of injection objects (#2) 2026-02-21 01:15:55 -08:00
DisplayItemList.tsx refactor: clean up pricing.json and enhance CLI logs styling 2026-03-13 23:29:24 +02:00
LastOutputDisplay.tsx perf: replace remark-based search with plain text indexOf 2026-03-25 14:32:37 +02:00
markdownComponents.tsx fix: resolve all eslint errors across 24 files 2026-03-07 14:39:21 +02:00
searchHighlightUtils.ts perf: replace remark-based search with plain text indexOf 2026-03-25 14:32:37 +02:00
SystemChatGroup.tsx Initialize project structure with essential configuration files including .editorconfig, .gitattributes, .gitignore, and TypeScript settings. Add build and linting configurations, along with README, LICENSE, and contribution guidelines. Set up Tailwind CSS and ESLint for styling and code quality. Include initial package.json and pnpm workspace configuration for dependency management. 2026-02-11 15:52:00 +09:00
UserChatGroup.tsx perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00