agent-ecosystem/src/renderer/components/layout
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
..
CustomTitleBar.tsx feat: add FAQ section to README and improve cross-platform handling in code 2026-03-02 22:56:56 +02:00
MiddlePanel.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
MoreMenu.tsx feat: enhance task creation and management features 2026-03-11 12:54:04 +02:00
PaneContainer.tsx perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
PaneContent.tsx feat(graph): enhance GraphControls with settings toggle and improved zoom functionality 2026-03-29 00:05:29 +02:00
PaneResizeHandle.tsx perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
PaneSplitDropZone.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
PaneView.tsx feat(graph): enhance GraphControls with settings toggle and improved zoom functionality 2026-03-29 00:05:29 +02:00
SessionTabContent.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
Sidebar.tsx refactor: enhance task management protocols and UI components 2026-03-20 13:45:03 +02:00
SortableTab.tsx perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
TabBar.tsx Improve macOS title bar drag area 2026-03-27 17:21:18 +02:00
TabBarActions.tsx feat(updater): add auto-update UI with periodic checks and state guards 2026-03-22 14:00:44 +02:00
TabBarRow.tsx refactor: update README and enhance team UI components 2026-03-23 12:58:38 +02:00
TabbedLayout.tsx perf: offload heavy I/O to worker thread, reduce renderer re-renders 2026-04-05 16:21:05 +00:00
TabContextMenu.tsx merge: sync with upstream/main — session reports, cost calculation, Linux title bar, auto-expand AI groups 2026-02-24 21:04:23 +02:00
TeamTabSectionNav.tsx improvement(task-change): improve task change presence tracking and related IPC handlers 2026-03-27 17:52:39 +02:00