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