Commit graph

1411 commits

Author SHA1 Message Date
777genius
9505ef8485 feat: add graph member log previews 2026-05-07 15:18:21 +03:00
777genius
fcca3649bf feat: add member log stream v2 2026-05-07 13:19:56 +03:00
777genius
43aba1ef11 fix(team): stabilize frontend ci checks 2026-05-07 01:57:33 +03:00
777genius
7137c24d48 fix(team): honor kanban review agenda 2026-05-07 01:47:09 +03:00
777genius
cbf2d364be fix(team): restore task automation ci 2026-05-07 01:38:28 +03:00
777genius
38b3a1e789 feat(team): update task automation state 2026-05-07 01:22:16 +03:00
777genius
2c30fd2235 feat(agent-graph): show live task log indicator 2026-05-07 01:07:06 +03:00
777genius
9b5b4023d2 perf(team): extend task log activity pulse 2026-05-07 00:44:25 +03:00
777genius
abe26ddcc4 perf(team): skip data refresh for log activity pulses 2026-05-06 23:30:51 +03:00
777genius
b7fa5443fd feat(team): show live task log activity 2026-05-06 23:15:27 +03:00
777genius
f57b1bf18b feat(opencode): surface runtime delivery diagnostics 2026-05-06 21:56:47 +03:00
777genius
3992ab0dab feat(tasks): update team task status timeline 2026-05-06 20:41:24 +03:00
777genius
9e1abb0332 chore(runtime): pin orchestrator 0.0.20 2026-05-06 20:20:26 +03:00
777genius
e96a74f4fa test(team): cover opencode repair policies 2026-05-06 19:22:14 +03:00
777genius
937999c3e3 feat(opencode): wire work sync delivery busy signals 2026-05-06 19:20:24 +03:00
777genius
2e6549620f feat(member-work-sync): add nudge activation policy 2026-05-06 19:19:43 +03:00
777genius
ac2b6c9352 fix(team): recognize native bootstrap control envelopes 2026-05-06 18:59:54 +03:00
777genius
2080e86f44 fix(team): satisfy bootstrap redaction lint 2026-05-06 18:39:17 +03:00
777genius
2a41010610 fix(team): filter internal control messages 2026-05-06 18:17:56 +03:00
777genius
1febc3448b feat(team): add app-managed native bootstrap 2026-05-06 17:34:01 +03:00
777genius
d60abd54fe chore: checkpoint team runtime work 2026-05-06 11:53:34 +03:00
777genius
dbd9ca7cf7 fix(member-work-sync): preserve materializer promise aggregation 2026-05-06 01:01:27 +03:00
777genius
cd55a7d997 fix(ui): preserve mention textarea key handler deps 2026-05-06 00:39:45 +03:00
777genius
899596b258 feat(member-work-sync): track task impact handoffs 2026-05-05 23:00:10 +03:00
777genius
bbafedf06a fix: stabilize OpenCode team runtime delivery 2026-05-05 17:07:21 +03:00
777genius
ab50c43383 perf(team): limit rendered kanban cards 2026-05-05 16:26:06 +03:00
777genius
67826eb275 perf(team): pause hidden graph projection 2026-05-05 16:25:54 +03:00
777genius
364c5c6471 perf(team): gate hidden team screen effects 2026-05-05 15:41:47 +03:00
777genius
acb7854ae7 fix(composer): keep editor active while sending 2026-05-05 14:35:09 +03:00
777genius
8558acbbc9 fix(landing): publish docs with pages build 2026-05-05 10:42:13 +03:00
777genius
b192ed4bae feat(team): improve composer persistence flow 2026-05-05 10:35:33 +03:00
777genius
032ddbbe2c fix(team): clear sent composer draft before paint 2026-05-05 09:15:52 +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
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
92a1c2067b fix(ci): restore dev validation gates 2026-05-04 09:12:53 +03:00
777genius
eda62c3ab3 fix(team): stabilize mixed provider runtime auth 2026-05-03 23:51:49 +03: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
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
Mike
f764af17d8 perf(renderer): wrap heavy view components in React.memo
TeamDetailView (3166L), TeamListView (1180L), DateGroupedSessions (1117L),
and MarkdownViewer (1198L) were re-rendering on every parent render cycle.
Wrapping them in memo() prevents cascading re-renders when their props and
store subscriptions have not changed, targeting VSCode-level UI responsiveness.
2026-05-02 20:29:19 +05:00
Mike
7609c548c5 fix(tests): resolve pre-existing test failures on non-standard environments
- TeamProvisioningServiceRelay: add missing stat fields (mode, dev, ino,
  mtimeMs, ctimeMs, birthtimeMs) to fs mock so new fingerprint-based
  TeamConfigReader cache can read config in tests
- TeamMcpConfigBuilder: export clearResolvedNodePathForTests() to reset
  module-level node path cache between tests; restore execFileMock
  implementation in beforeEach after vi.restoreAllMocks() clears it;
  broaden node binary regex to accept versioned names (node-22, node-20)
  common on Fedora/RHEL systems
- ScheduledTaskExecutor: strip CLAUDECODE at spawn site as last defence
  so nested-session detection is prevented even when buildProviderAwareCliEnv
  merges it back in from the outer process environment
2026-05-02 20:10:42 +05:00
777genius
e96f97d83d fix: stabilize team launch runtime status 2026-05-02 11:50:07 +03:00
777genius
46df757f49 fix(ci): resolve frontend validation failures 2026-05-02 00:12:02 +03:00
777genius
01b8161f41 fix(team): preserve explicit launch defaults 2026-05-01 23:43:36 +03:00
777genius
90aa2942f9 feat(task-logs): show codex native trace fallback 2026-05-01 22:43:11 +03:00
Zelen
ca21ab206e
fix(team): render agent error messages
* fix(team): render agent error messages

* test(team): cover agent error activity rendering

* fix(ci): clear ui lint gate

* test(team): reset config cache in relay suites

* test(team): harden mixed lane matrix waits

* test(team): harden ci-sensitive team assertions

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
Co-authored-by: 777genius <quantjumppro@gmail.com>
2026-05-01 21:25:03 +03:00
777genius
8f1ee5603c fix(team): polish task log rendering 2026-05-01 20:27:08 +03:00
777genius
601d51d54e fix(team): harden launch reconciliation and diagnostics 2026-05-01 20:10:14 +03:00
777genius
a0170aed39 fix(team): clear advisory timeout reliably 2026-05-01 18:48:51 +03:00
777genius
44f609ab6a fix(team): harden launch state tracking 2026-05-01 18:41:33 +03:00
777genius
511ea75c4f fix(task-logs): invalidate sources before change events 2026-05-01 17:56:33 +03:00
777genius
b584fa0403 fix(task-logs): cache transcript discovery safely 2026-05-01 17:46:49 +03:00
777genius
50ce94dcaa fix(team-runtime): suppress opencode heartbeat spawn noise 2026-05-01 17:24:24 +03:00
777genius
c536557991 fix(member-work-sync): serialize audit journal appends 2026-05-01 17:15:16 +03:00
777genius
5224fe4cda fix: harden opencode launch recovery 2026-05-01 17:00:20 +03:00
777genius
3240ea6406 fix: harden teammate runtime lifecycle handling 2026-05-01 12:23:10 +03:00
777genius
0ace2a6255 fix(team): harden opencode runtime status and effort UI 2026-04-30 23:11:22 +03:00
777genius
752ae9ea4b fix(team): materialize recovered opencode lane manifests 2026-04-30 23:11:20 +03:00
777genius
9fb9e5f66a chore: snapshot dev work sync state 2026-04-30 23:11:18 +03:00
777genius
f391dda3cb fix(opencode): pass full MCP launch args 2026-04-30 23:11:13 +03:00
777genius
0b28d8f4b2 fix(member-work-sync): ignore non-terminal opencode turns 2026-04-30 23:10:05 +03:00
777genius
0af9994c9a feat(member-work-sync): ingest opencode turn-settled events 2026-04-30 23:09:59 +03:00
iliya
62a1b0e865 fix: show effective Anthropic API key status 2026-04-30 22:21:29 +03:00
777genius
7d08205a23 fix(ci): clean member work sync validation 2026-04-30 00:05:58 +03:00