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
777genius
f705cd25cb
feat(member-work-sync): schedule due nudge dispatch
2026-04-29 22:43:19 +03:00
777genius
53c72e56ae
feat(member-work-sync): suppress nudges while members are busy
2026-04-29 22:43:19 +03:00
777genius
325f1ffba2
fix(member-work-sync): keep diagnostics reads passive
2026-04-29 22:43:19 +03:00
777genius
99b636fd33
feat(member-work-sync): rate limit nudge retries
2026-04-29 22:43:19 +03:00
777genius
895c3afc5e
feat(member-work-sync): dispatch nudges after reconcile
2026-04-29 22:43:18 +03:00
777genius
23714f5ca8
feat(member-work-sync): add guarded nudge dispatcher
2026-04-29 22:43:18 +03:00
777genius
3552a4ba61
feat(member-work-sync): plan nudges behind readiness
2026-04-29 22:43:18 +03:00
777genius
ec7935e593
feat(member-work-sync): add durable nudge outbox store
2026-04-29 22:43:18 +03:00
777genius
c5a97fd796
feat(member-work-sync): assess phase two readiness
2026-04-29 22:43:18 +03:00
777genius
ab459fbae0
feat(member-work-sync): show status in member details
2026-04-29 22:43:18 +03:00
777genius
98a7c915ed
feat(member-work-sync): add neutral renderer diagnostics
2026-04-29 22:43:18 +03:00
777genius
246f31bbdb
feat(member-work-sync): expose shadow metrics
2026-04-29 22:43:17 +03:00
777genius
bf1f3b6b02
fix(member-work-sync): lock pending report writes
2026-04-29 22:43:17 +03:00
777genius
99b0279841
feat(member-work-sync): add renderer status view model
2026-04-29 22:43:17 +03:00
777genius
253ddf293d
feat(member-work-sync): replay pending report intents
2026-04-29 22:43:17 +03:00
777genius
10e405573e
feat(member-work-sync): add passive event queue
2026-04-29 22:43:17 +03:00
777genius
b346a1146c
feat(member-work-sync): require report tokens for reports
2026-04-29 22:43:17 +03:00
777genius
c39167ece7
feat: add member work sync control plane
2026-04-29 22:43:17 +03:00
iliya
ff333a95e8
chore: fix ui lint blockers
2026-04-29 15:39:10 +03:00
iliya
44e7ca3cf8
fix: serialize team launch-state persistence
2026-04-29 15:01:53 +03:00
iliya
5a8a934d8d
fix: make Windows agent launches independent of tmux
2026-04-29 12:30:37 +03:00
777genius
6bf2de89c5
chore(team): refine member work sync planning
2026-04-29 11:58:56 +03:00
777genius
ca16ccecce
merge: opencode hybrid evidence ui continuation
2026-04-29 11:19:19 +03:00
777genius
93532f3ff5
feat: expose agent teams control via MCP
2026-04-29 10:55:07 +03:00
777genius
07a9f603de
fix(changes): require strict ledger hunk rejects
2026-04-29 00:14:53 +03:00
777genius
642cea8857
fix(changes): rank full text evidence by blobs
2026-04-28 23:42:35 +03:00
777genius
fdf5ddeb61
fix(changes): project opencode upgrades in detail view
2026-04-28 23:34:17 +03:00
777genius
756fd7f537
feat(team): refine team list status display
2026-04-28 23:15:32 +03:00
777genius
fe722cd8bc
fix(changes): version opencode backfill cache
2026-04-28 23:11:45 +03:00
777genius
ef82755b17
fix(changes): avoid caching stale opencode contracts
2026-04-28 23:10:41 +03:00
777genius
7b5924c8bd
fix(changes): accept opencode evidence contract version
2026-04-28 23:05:44 +03:00
777genius
33a8a5fabc
fix(changes): key opencode backfill by context hash
2026-04-28 23:01:42 +03:00
777genius
53012ed623
fix(changes): pass verified opencode delivery context
2026-04-28 22:52:05 +03:00
777genius
9d9c7fbd38
fix(changes): reread ledger after opencode backfill failure
2026-04-28 22:33:11 +03:00
777genius
ba09010fcb
fix(changes): derive opencode backfill member from delivery
2026-04-28 22:28:58 +03:00
777genius
c065dc703d
fix(changes): remove opencode evidence mode from ui bridge
2026-04-28 21:41:56 +03:00
777genius
ff506d0d96
fix(changes): fingerprint projected ledger summaries
2026-04-28 21:08:10 +03:00
777genius
4895a00474
fix(ci): restore opencode relay recovery
2026-04-28 21:03:21 +03:00
777genius
50b2c715e7
feat(changes): use default opencode evidence path
2026-04-28 20:51:05 +03:00
777genius
8ac0b43a2a
perf(runtime): speed up dashboard provider status loading
2026-04-28 20:36:17 +03:00
777genius
8da5b7f25d
feat(changes): pass opencode evidence mode
2026-04-28 20:20:07 +03:00
777genius
051bfe2319
feat: prefer orchestrator codex model catalog
2026-04-28 20:13:03 +03:00
777genius
42c9cbd227
fix(team): restart shell-only tmux teammates directly
2026-04-28 19:06:36 +03:00
777genius
4d5533585c
fix(team): reconcile teammate launch liveness
2026-04-28 18:38:46 +03:00
Илия
ec3740d9c8
Merge pull request #90 from 777genius/fix/provisioning-live-output-trace
...
feat(team): surface provisioning trace in live output
2026-04-28 17:49:18 +03:00
777genius
7bb24934a5
feat(team): enable task stall monitoring by default
2026-04-28 17:42:19 +03:00
777genius
28d0ab20c0
feat(team): support controlled opencode teammate relaunch
2026-04-28 17:42:19 +03:00
777genius
95da573081
fix(agent-graph): improve stopped team visuals
2026-04-28 17:42:18 +03:00
777genius
e87ef2dd85
fix(codex): propagate native runtime context
2026-04-28 17:42:18 +03:00
777genius
bef34983f5
fix(team): recover opencode runtime lane indexes
2026-04-28 17:42:18 +03:00
777genius
1f7f31f3ee
fix(team): preserve task log owners across codex transcripts
2026-04-28 17:41:06 +03:00
777genius
075976fd23
feat(team): surface provisioning trace in live output
2026-04-28 17:25:10 +03:00
Илия
2c2f84a00e
feat(team): make tmux optional for desktop teammates Merge pull request #89 from 777genius/feat/tmux-optional-process-backend
...
Merge pull request #89 from 777genius/feat/tmux-optional-process-backend
2026-04-28 16:42:43 +03:00
iliya
31ae128778
feat(team): make tmux optional for desktop teammates
2026-04-28 16:13:45 +03:00
Илия
a8d53ca5cb
fix(ci): restore dev validation
2026-04-28 16:08:05 +03:00
Artem Rootman
6c43380846
fix(team): propagate cross-provider member args to lead subprocess
...
* fix(team): propagate cross-provider member args to lead subprocess
When a team has an anthropic lead and codex teammates, the lead was
launched without --settings {"codex":{"forced_login_method":"chatgpt"}}.
buildInheritedCliFlags in the lead had nothing to pass to the codex
teammate, which started without knowing the required auth method and
crashed with "no CODEX_API_KEY or OPENAI_API_KEY configured".
Adds buildCrossProviderMemberArgs that collects provider launch args for
member providers that differ from the primary, and merges them into the
lead's launch args so they propagate to teammates via buildInheritedCliFlags.
* fix: log cross-provider env resolution failures instead of silently swallowing
2026-04-28 14:26:52 +03:00
777genius
82f73e58c2
fix: improve team runtime recovery and launch settings
2026-04-28 12:08:01 +03:00
777genius
e48ecf664a
fix(changes): keep metadata-only ledger events manual
2026-04-28 11:28:20 +03:00
777genius
8f7712ed74
fix(team): improve opencode task log rendering
2026-04-27 23:50:23 +03:00
777genius
531a10e34f
fix: improve opencode runtime task logs
2026-04-27 20:49:44 +03:00
777genius
376480b84f
feat(team): improve stall monitor signals
2026-04-27 20:01:05 +03:00
777genius
212cd37d3f
feat(team): improve runtime lane presence state
2026-04-27 17:40:13 +03:00
777genius
afe50439b1
refactor(team): move opencode retry policy helper
2026-04-27 13:47:04 +03:00
777genius
9fe9f81046
feat(team): add worktree readiness checks
2026-04-27 13:46:11 +03:00
777genius
ea25e6ba58
perf(team): cache board task activity records
2026-04-27 12:40:11 +03:00
777genius
11d5851953
perf(team): defer task log stream work until opened
2026-04-27 12:20:16 +03:00
777genius
ba06fba5a5
fix: remove legacy opencode prompt markers
2026-04-27 11:45:05 +03:00
777genius
9a3e17ce70
feat: add opencode task change diagnostics
2026-04-27 11:23:35 +03:00
777genius
bf51dfd3c5
perf(team): limit board task log parsing concurrency
2026-04-27 11:17:26 +03:00
777genius
068e473d2d
fix(team): clear delivered runtime message warnings
2026-04-27 11:15:57 +03:00
777genius
b26f0b05ba
fix: hide duplicate opencode runtime replies
2026-04-26 21:52:24 +03:00
777genius
dc3eae1555
fix: keep opencode follow-up messages visible
2026-04-26 21:44:39 +03:00
777genius
b67168a9e8
fix: show opencode teammate replies in messages
2026-04-26 21:35:48 +03:00
777genius
8061b66c34
merge: sync main into dev
2026-04-26 13:12:20 +03:00
777genius
06beb7f416
merge: opencode ledger bridge ui
2026-04-26 12:42:17 +03:00
777genius
f2c43dc4b3
feat: add opencode ledger bridge ui
2026-04-26 12:41:44 +03:00
777genius
17e1a448dc
merge: integrate runtime compatibility notices
2026-04-26 12:33:45 +03:00
777genius
610bfc561d
feat(opencode): persist teammate worktree context
2026-04-26 12:31:15 +03:00
iliya
2c3ee3e2e9
fix(windows): stabilize ci path and wsl checks
2026-04-26 12:04:11 +03:00
iliya
3f1c1acb4f
fix(windows): harden runtime project compatibility
2026-04-26 11:44:35 +03:00
777genius
49982a1db8
feat: improve opencode model verification ux
2026-04-26 10:21:18 +03:00
777genius
a0f1c92d18
fix(lint): satisfy path display rules
2026-04-25 23:57:06 +03:00
777genius
238900f3cf
feat(runtime-provider-management): expand opencode setup UI
2026-04-25 23:36:28 +03:00
777genius
c2e14ea9df
fix(runtime-provider-management): unify opencode provider list
2026-04-25 21:15:52 +03:00
777genius
6113e27006
fix(windows): resolve cli shim path handling
2026-04-25 20:31:14 +03:00
777genius
427f48dd71
merge: integrate runtime compatibility notices
2026-04-25 20:28:36 +03:00
iliya
645ac4573e
fix(windows): align session paths and validators
2026-04-25 20:23:03 +03:00
777genius
951c52a5d2
fix(runtime-provider-management): keep filtered provider selection explicit
2026-04-25 20:18:11 +03:00