Commit graph

1685 commits

Author SHA1 Message Date
777genius
032ddbbe2c fix(team): clear sent composer draft before paint 2026-05-05 09:15:52 +03:00
777genius
066ffe79ef feat(landing): add documentation links 2026-05-05 09:15:47 +03:00
777genius
7ab57bc8be fix(ci): stabilize opencode delivery checks 2026-05-05 01:16:55 +03:00
777genius
c8edfc6026 fix(team): harden opencode launch diagnostics 2026-05-05 00:47:05 +03:00
777genius
3d8d2395a4 feat(landing): polish docs and hero visuals 2026-05-04 22:59:01 +03:00
777genius
77c1fcc4e8 fix(team): preserve opencode bootstrap stall snapshots 2026-05-04 21:17:27 +03:00
777genius
dad9fefdc7 fix(team): handle partial opencode bootstrap stalls 2026-05-04 21:12:14 +03:00
777genius
cde85c0396 fix(team): stabilize mixed launch runtime states 2026-05-04 21:03:41 +03:00
777genius
d20fe2a538 feat: docs + optmizitation + improve launch 2026-05-04 17:21:05 +03:00
777genius
5c65f55067 feat(team): retry failed opencode secondary lanes 2026-05-04 14:48:55 +03:00
777genius
b1b2e696e5 perf(team): defer enrichments after first paint 2026-05-04 14:47:46 +03:00
777genius
f57d15c68f fix(team): preserve mixed launch failure diagnostics 2026-05-04 11:26:55 +03:00
777genius
b1d27c1382 perf(renderer): suppress launch structural refreshes 2026-05-04 11:12:20 +03:00
777genius
24d96b5bec fix(ci): handle windows-only test behavior 2026-05-04 09:37:58 +03:00
777genius
92a1c2067b fix(ci): restore dev validation gates 2026-05-04 09:12:53 +03:00
Илия
b92c8c2f54
Merge pull request #97 from sardorb3k/fix/globaltasklist-memo-rerender-test
fix(test): repair GlobalTaskList memo re-render test
2026-05-04 08:43:43 +03:00
777genius
eda62c3ab3 fix(team): stabilize mixed provider runtime auth 2026-05-03 23:51:49 +03:00
Mike
75c7bf47f3 fix(test): repair GlobalTaskList memo re-render test
React.memo blocks root.render() re-renders when props are unchanged,
so storeState task updates were invisible to the memoized component.
Switch useStore mock to a subscription model (useState + useEffect)
so notifyStoreUpdate() forces a proper re-render in the expansion test.
2026-05-04 01:47:11 +05:00
Илия
e500d26a34
Merge pull request #95 from sardorb3k/fix/ci-test-failures
fix(ci): resolve two test failures introduced in dev branch
2026-05-03 22:01:29 +03:00
777genius
1a872b592a fix: clear stale team launch reconciliation 2026-05-03 15:00:16 +03:00
Mike
8d17864fd6 fix(ci): resolve two test failures introduced in dev branch
- Guard `run.progress` before calling `retainProvisioningProgress` in
  `TeamProvisioningService.cleanupRun` — test mocks omit the field,
  causing 4 crashes with "Cannot read properties of undefined (reading
  'warnings')".

- Invalidate the `TeamConfigReader` list-teams cache immediately after a
  successful team launch so `GET /api/teams` returns the fully-created
  team (no `pendingCreate`) rather than a 5-second-stale entry from
  before `config.json` was written.
2026-05-03 16:21:04 +05:00
777genius
d495f8d8f2 feat(team): improve team orchestration diagnostics 2026-05-03 13:27:48 +03:00
777genius
d0341e58af fix(team): retain launch status and clarify notifications 2026-05-03 13:18:53 +03:00
777genius
69a47fda07 test(team): cover stalled bootstrap runtime rows 2026-05-03 13:09:21 +03:00
777genius
e3c62eb620 fix(team): harden runtime status and opencode bootstrap 2026-05-03 13:09:21 +03:00
777genius
7e55fdd9cd chore(team): instrument refresh fanout diagnostics 2026-05-03 13:07:34 +03:00
Илия
e21d89a057
perf(renderer): performance improvements — React.memo + test stabilization Merge pull request #93 from sardorb3k/improve/v1.3
Merge pull request #93 from sardorb3k/improve/v1.3
2026-05-03 13:02:14 +03:00
Mike
bb03a12a48 fix(perf): suppress Show raw toggle in bare mode MarkdownViewer 2026-05-03 14:53:03 +05:00
Mike
f2231d7dad fix(perf): fix remaining lazy-loading and dead toggle issues from PR review
- Gate TeamListView dialogs with showCreateDialog/launchDialogOpen
- Gate SchedulesView and ScheduleSection lazy dialogs with dialogOpen
- Fix import order in SchedulesView (import type before lazy constant)
- Add Show raw toggle button to MarkdownViewer rendered view
2026-05-03 14:42:49 +05:00
777genius
b99be7d007 fix(team): lazy load lead context detail 2026-05-03 10:52:38 +03:00
777genius
9421fad08d fix(team): surface stalled OpenCode bootstrap lanes 2026-05-03 10:32:37 +03:00
777genius
1339629da2 fix(team): scope log source tracking 2026-05-03 10:25:38 +03:00
777genius
2fde1ad7fc fix(team): avoid full session scan on team open 2026-05-03 09:42:14 +03:00
777genius
511e4178be fix(team): streamline opencode secondary lane launch 2026-05-03 09:30:56 +03:00
777genius
90d887fcce chore: merge dev into improve/v1.3 2026-05-03 09:15:14 +03:00
Mike
053caed8b6 fix(perf): resolve all PR #93 review blockers
- Fix react/display-name in DisplayItemList, MarkdownViewer, SessionItem,
  SidebarTaskItem, TeamDetailView, TeamListView, KanbanBoard, GlobalTaskList,
  MemberCard, TaskRow — all anonymous arrows inside memo() replaced with
  named function form
- Fix simple-import-sort violations in TeamDetailView, TeamListView,
  SchedulesView, ScheduleSection — static imports moved before lazy() consts
- Gate all lazy dialogs in TeamDetailView by their open flag so dynamic
  import() only fires when the dialog is actually opened:
  launchDialogOpen, createTaskDialog.open, sendDialogOpen,
  selectedTask !== null, reviewDialogState.open
2026-05-03 08:57:59 +05:00
777genius
ad7c4e24ad perf(team): reduce launch status IO churn 2026-05-02 23:55:09 +03:00
777genius
fcb9179990 perf(team): reduce launch IO pressure 2026-05-02 23:15:34 +03:00
777genius
b187bbcdd0 perf: add launch IO governor for team summaries 2026-05-02 22:14:08 +03:00
777genius
a652c44794 perf(team): reduce verified config reads 2026-05-02 21:29:22 +03:00
Mike
49006ee589 perf: memo CodeBlockViewer, DiffViewer, CompactBoundary
These are the most expensive render components (syntax highlighting, diff
computation) — memoizing them prevents re-renders when parent tool items
toggle expand/collapse or parent chat group updates.
2026-05-02 22:33:29 +05:00
Mike
4c8a093200 perf: memo MemberHoverCard, ActiveTasksBlock, PendingRepliesBlock 2026-05-02 22:29:00 +05:00
777genius
4385b0c679 perf(team): cache team data reads safely 2026-05-02 20:24:46 +03:00
Mike
5cd890dcdd perf: lazy-load TaskDetailDialog, SendMessageDialog, CreateTaskDialog, ChangeReviewDialog
Defers parsing 4575 lines of heavy dialog code until first use, reducing
initial bundle parse time for TeamDetailView.
2026-05-02 22:24:03 +05:00
Mike
5d6667b23d perf: memo chat items, tool viewers, CollapsibleTeamSection, TaskTooltip
Wraps BaseItem, StatusDot, MetricsPill, LinkedToolItem, TeammateMessageItem,
SlashItem, all linkedTool viewers (Default/Edit/Read/Skill/Write/ToolError,
CollapsibleOutputSection), CollapsibleTeamSection, and TaskTooltip in
React.memo to prevent unnecessary re-renders when chat history updates.
2026-05-02 22:17:12 +05:00
Mike
193def1d59 perf: stabilize MemberCard callbacks via MemberCardRow wrapper
Extract per-member rendering into a memo'd MemberCardRow component with
useCallback handlers, so MemberCard never re-renders from new inline
lambda references when MemberList re-renders for an unrelated member.
2026-05-02 21:43:24 +05:00
Mike
e300d4cbd5 perf: memoize MemberBadge, CurrentTaskIndicator, MemberPresenceDot, ReplyQuoteBlock, GlobalTaskList
Prevent unnecessary re-renders on these frequently-rendered components
that appear in MemberCard rows, activity feeds, and the sidebar task list.
2026-05-02 21:28:17 +05:00
Mike
8b30930c04 perf: memoize KanbanBoard, KanbanGridLayout, MemberCard, TaskRow, SidebarTaskItem
Wrap five hot-path components in React.memo to prevent unnecessary
re-renders when parent state changes don't affect their props.
2026-05-02 21:20:25 +05:00
Mike
2bda324e1a perf(renderer): stable callbacks and lazy-load large dialogs
Move toggleSidebarSessionSelection into SessionItem's own store
subscription, eliminating the inline arrow function prop that was
breaking its memo on every sidebar render.

Lazy-load LaunchTeamDialog (2918L) and CreateTeamDialog (2208L) in all
four host components (TeamDetailView, TeamListView, SchedulesView,
ScheduleSection). These dialogs are never needed at initial mount — they
only open on user action. Deferring their parse/compile saves ~175KB of
JS from the initial render path.
2026-05-02 21:10:24 +05:00
Mike
fa38b90f9c perf(renderer): memoize chat and sidebar list item components
Wrap SessionItem, SubagentItem, ExecutionTrace, TextItem, ThinkingItem,
and DisplayItemList in React.memo. These components render repeatedly in
virtualized lists and AI chat groups — memoizing them eliminates redundant
renders when their props have not changed, reducing CPU work in active
sessions with many messages or long session sidebars.
2026-05-02 20:49:16 +05:00