Commit graph

1499 commits

Author SHA1 Message Date
777genius
bcbcb621c2 fix(opencode): harden team delivery reconciliation 2026-05-09 01:52:29 +03:00
777genius
3ed6dd3159 fix(attachments): export renderer budget helpers 2026-05-09 01:49:55 +03:00
777genius
6d7df59250 feat(attachments): share renderer image intake 2026-05-09 01:49:19 +03:00
777genius
1960c5d29e fix(attachments): expose opencode attachment target 2026-05-09 01:46:35 +03:00
777genius
960beaad44 fix(attachments): enforce serialized payload budget 2026-05-09 01:45:08 +03:00
777genius
16161a2642 feat(attachments): optimize composer images 2026-05-09 01:43:21 +03:00
777genius
2ac71cd00d fix(attachments): allow live opencode image sends 2026-05-09 01:41:50 +03:00
777genius
b3d5dbca08 fix(attachments): hydrate opencode inbox payloads 2026-05-09 01:38:58 +03:00
777genius
f400fddb8f feat(attachments): route opencode image delivery 2026-05-09 01:35:11 +03:00
777genius
ee9d08a7a4 feat(attachments): route lead image delivery 2026-05-09 01:27:04 +03:00
777genius
b95033b9b7 feat(opencode): pass attachment file parts 2026-05-09 01:23:03 +03:00
777genius
c20293f4de feat(attachments): add opencode vision adapter 2026-05-09 01:18:51 +03:00
777genius
935c522846 feat(attachments): add codex native adapter 2026-05-09 01:16:08 +03:00
777genius
bc702caff2 feat(attachments): add claude delivery adapter 2026-05-09 01:11:28 +03:00
777genius
c2cb84607a feat(attachments): add agent attachment foundation 2026-05-09 01:09:48 +03:00
777genius
c79333a668 fix(team): preserve observed opencode message id 2026-05-09 00:29:41 +03:00
777genius
80acc3b663 feat(team): harden runtime delivery and diagnostics 2026-05-09 00:25:55 +03:00
777genius
88b3ea2358 chore(team): checkpoint follow-up frontend edits 2026-05-08 21:49:29 +03:00
777genius
651cfa1846 fix(team): preserve sync file locks and splash layout 2026-05-08 21:49:09 +03:00
777genius
f6e95f5b2f chore(team): checkpoint current frontend work 2026-05-08 21:48:27 +03:00
777genius
9d7542e9c4 fix(team): refine task duration timeline 2026-05-08 09:58:57 +03:00
777genius
51650dca33 fix(team): harden runtime advisory and pending sends 2026-05-08 09:49:05 +03:00
777genius
08ab7c6b6d fix(team): harden process bootstrap and codex auth 2026-05-08 09:28:28 +03:00
777genius
26baaf6924 chore: checkpoint agent launch hardening 2026-05-07 23:26:37 +03:00
777genius
5730ddc7af fix(team): harden codex login and runtime previews 2026-05-07 21:18:39 +03:00
777genius
8d06ee81c2 fix(team): stabilize launch previews and codex reconnect 2026-05-07 20:58:40 +03:00
777genius
472a1501ad fix(team): refine launch dialog previews 2026-05-07 20:36:48 +03:00
777genius
0f9f79da66 fix(logs): scope graph preview lane requests 2026-05-07 20:14:59 +03:00
777genius
7c39fbd8e7 fix(logs): refine graph preview readability 2026-05-07 19:54:31 +03:00
777genius
8bc460721f fix(logs): summarize operational tool previews 2026-05-07 19:25:34 +03:00
777genius
cade7b4fdb fix(logs): refine runtime preview summaries 2026-05-07 19:04:37 +03:00
777genius
0e080abefb fix(logs): detect additional error payload fields 2026-05-07 18:44:28 +03:00
777genius
9d419626ef fix(ci): apply frontend validation fixes 2026-05-07 18:43:37 +03:00
777genius
30a6e36976 fix(team): stabilize graph preview validation 2026-05-07 18:07:00 +03:00
777genius
b9f82f8162 fix(team): preserve log stream participant filter 2026-05-07 17:52:03 +03:00
777genius
2e05941cba test(team): align launch dialog expectations 2026-05-07 17:27:45 +03:00
777genius
9a1b01b2b6 chore(runtime): bump runtime lock to 0.0.22 2026-05-07 17:16:06 +03:00
777genius
8caa962dec merge: member log stream v2
# Conflicts:
#	src/renderer/components/team/taskLogs/TaskLogStreamSection.tsx
#	test/main/services/team/TeamMemberLogsFinder.test.ts
2026-05-07 15:24:04 +03:00
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
777genius
7fa71019b2 fix: launch dev mcp server via node 2026-04-29 22:43:42 +03:00
777genius
27a38034cc fix(member-work-sync): infer codex settled env from model 2026-04-29 22:43:42 +03:00
777genius
55ffb185c3 fix(member-work-sync): reclaim stale turn settled payloads 2026-04-29 22:43:41 +03:00
777genius
3ce183a229 fix(member-work-sync): pass codex turn settled env to mixed teams 2026-04-29 22:43:41 +03:00
777genius
8e7f7bea43 feat(member-work-sync): ingest codex turn settled events 2026-04-29 22:43:41 +03:00
777genius
10188109eb fix(team-mcp): route agent teams mcp to app state 2026-04-29 22:43:41 +03:00
777genius
7cb6cddee8 test: stabilize claude work sync live e2e 2026-04-29 22:43:20 +03:00
777genius
4d0cce601a test: add member work sync live e2e coverage 2026-04-29 22:43:20 +03:00
777genius
05d9b5a9b1 feat: add member work sync stop hook ingest 2026-04-29 22:43:19 +03:00
777genius
b2edfe5d2a test: characterize runtime settings hook merge 2026-04-29 22:43:19 +03:00
777genius
90401b41a1 chore(member-work-sync): clarify lifecycle dispatch boundary 2026-04-29 22:43:19 +03:00
777genius
d27c1bcc51 fix(member-work-sync): preserve undelivered nudge retries 2026-04-29 22:43:19 +03:00