Commit graph

185 commits

Author SHA1 Message Date
777genius
d766d174e3 fix(ci): stabilize windows mcp preflight cleanup 2026-04-18 22:49:00 +03:00
777genius
61556a5a77 fix(ci): restore checks and lead model selection 2026-04-18 22:28:53 +03:00
777genius
dac7b4f875 Merge remote-tracking branch 'origin/dev' into spike/team-snapshot-split-plan 2026-04-18 21:08:41 +03:00
777genius
2088ddcdaa Merge branch 'dev' of https://github.com/777genius/claude_agent_teams_ui into dev 2026-04-18 21:06:16 +03:00
777genius
d1c33cec64 feat(team): add live task log stream count badge 2026-04-18 21:04:15 +03:00
Илия
dc4efde401
Merge pull request #62 from sardorb3k/fix/team-progress-payload-cap
fix(team): cap renderer IPC payloads to prevent OOM crashes
2026-04-18 20:52:35 +03:00
777genius
82ca8e29c2 chore(merge): sync local dev into spike/team-snapshot-split-plan 2026-04-18 20:26:36 +03:00
777genius
372d744879 refactor(team): store runtime identity structurally 2026-04-18 20:14:49 +03:00
777genius
571b7fb0f5 feat(team): add member runtime diagnostics and restart controls 2026-04-18 19:17:58 +03:00
777genius
452948b260 fix(team): refine bootstrap and provider diagnostics 2026-04-18 18:32:21 +03:00
777genius
2fd06fcd48 Merge branch 'dev' into spike/team-snapshot-split-plan 2026-04-18 18:21:25 +03:00
777genius
b7547e5d87 feat(team): expand task and member execution logs 2026-04-18 18:13:37 +03:00
777genius
cb603aaf37 fix(activity): make new session boundaries exact 2026-04-18 16:58:44 +03:00
Mike
297bd8f533 fix(team): cap renderer IPC payloads to prevent OOM crashes
Users with long-running teams (37+ tasks, 10+ agents for an hour) were
hitting constant renderer crashes (issue #36). Two hot paths were
serializing unbounded histories across IPC on every tick:

- Provisioning progress: emitLogsProgress and updateProgress both
  joined the full provisioningOutputParts array (~20 event-driven call
  sites) plus the full CLI log tail, then fanned that out to the
  renderer. After an hour, each tick shipped multi-megabyte payloads
  and Zustand OOM'd on the immutable state clone.

- Session detail cache: SessionDetail.messages (the raw parsed JSONL)
  was being cached and returned over IPC/HTTP even though the renderer
  only reads session/chunks/processes/metrics. This roughly doubled
  the per-entry cache footprint on large sessions.

Fixes:

- Add progressPayload helpers that cap the log tail to 200 lines and
  assistant output to the last 20 parts; empty/whitespace joins
  collapse to undefined so the noop guard is explicit rather than
  coincidental.

- Apply the cap inside emitLogsProgress, updateProgress, and the two
  inline emission paths (stall warning, retry error). Throttle the
  log-progress tick 300ms -> 1000ms so Zustand can keep up.

- Add stripSessionDetailMessages and call it at every SessionDetail
  production site that crosses IPC/HTTP (both sessions.ts routes,
  both cache stores).

- Raise MAX_CACHE_SESSIONS 5 -> 20 now that the per-entry SessionDetail
  footprint is bounded. Previously 5 forced constant re-parsing on
  every session switch.

Tests: 15 new unit tests covering the helpers (tail slicing, empty
parts, whitespace-only parts, non-mutation of inputs).
2026-04-18 17:44:39 +05:00
777genius
bff5f43da9 Merge branch 'dev' into spike/team-snapshot-split-plan 2026-04-18 15:03:02 +03:00
777genius
0a1831bc5e fix(team): validate agent-teams MCP via direct stdio preflight 2026-04-18 15:00:47 +03:00
777genius
ce60831758 Merge branch 'dev' into spike/team-snapshot-split-plan
# Conflicts:
#	src/renderer/components/sidebar/GlobalTaskList.tsx
#	src/renderer/components/team/members/MemberMessagesTab.tsx
#	src/renderer/components/team/messages/MessagesPanel.tsx
#	test/main/services/team/BoardTaskLogStreamIntegration.test.ts
2026-04-18 14:23:18 +03:00
777genius
5a7d5ea310 test(team): add real-jsonl coverage for task log fallback 2026-04-18 14:13:15 +03:00
777genius
39be3bce75 fix(team): restore task log fallback and block launch auto-assignment 2026-04-18 14:13:15 +03:00
777genius
4f97e9d2d8 Merge branch 'dev' of https://github.com/777genius/claude_agent_teams_ui into spike/team-snapshot-split-plan 2026-04-18 13:55:59 +03:00
Илия
d293ff4802
fix: unify context usage metrics
Merge pull request #61 from 777genius/research/context-usage-audit
2026-04-18 13:54:56 +03:00
777genius
f22373d4a9 Merge branch 'dev' into spike/team-snapshot-split-plan 2026-04-18 13:13:07 +03:00
777genius
82566162fc fix(team): restore task log fallback and block launch auto-assignment 2026-04-18 13:11:13 +03:00
777genius
bfc6a38668 fix(context): unify context usage metrics 2026-04-18 12:10:51 +03:00
777genius
51376e2620 chore(merge): sync dev into spike/team-snapshot-split-plan 2026-04-18 11:32:29 +03:00
777genius
78c6824d69 feat(team): merge live lead messages and repair transcript resolution 2026-04-18 11:02:21 +03:00
SardorBek Sattarov
a42ab3096f
feat(team): auto-resume rate-limited teams when the limit resets 2026-04-18 10:21:23 +03:00
777genius
351244ffdb fix(team): harden refresh races and loading state 2026-04-17 23:03:58 +03:00
777genius
bb60bbb0ec fix(ci): restore workspace validation 2026-04-16 22:52:56 +03:00
777genius
d8672c32f6 fix(team): suppress replayed member spawn inbox churn 2026-04-16 22:15:49 +03:00
777genius
82a0e3e6bb Merge branch 'dev' into spike/team-snapshot-split-plan 2026-04-16 21:03:13 +03:00
777genius
ece2991f96 feat(team): enhance team provisioning with runtime model handling
- Added support for live runtime model metadata in team provisioning.
- Implemented functions to extract and manage CLI flag values for team members.
- Updated member specifications to include effective models based on provider defaults.
- Enhanced UI dialogs to check selected providers in parallel, improving responsiveness.
- Added tests for handling model unavailability during team bootstrap and launch processes.
2026-04-16 21:02:33 +03:00
777genius
6cf0c0d65e chore(merge): sync dev into team snapshot split spike 2026-04-16 19:44:01 +03:00
777genius
ac1c99ac1f feat(cliInstaller): add model verification for providers
- Introduced CLI_INSTALLER_VERIFY_PROVIDER_MODELS IPC channel for on-demand model verification.
- Implemented handler for verifying provider models in the CliInstallerService.
- Enhanced CLI installation status management with model verification state and availability.
- Updated related components to support model verification feedback in the UI.
2026-04-16 19:41:23 +03:00
777genius
1173a4942a refactor(team): split team detail snapshot from messages activity 2026-04-15 21:54:38 +03:00
777genius
2cfbfef3b3 fix(team): recover root member session logs 2026-04-15 17:39:11 +03:00
777genius
8398d29fc0 fix(team): recover root member session logs 2026-04-15 17:38:21 +03:00
777genius
03dda6b486 refactor(agent-graph): replace store usage with context hooks for team data retrieval
- Updated components in the agent-graph renderer to utilize context hooks instead of the store for accessing team data.
- Introduced `useGraphActivityContext` and `useGraphMemberPopoverContext` hooks to streamline data management.
- Refactored `GraphBlockingEdgePopover`, `GraphNodePopover`, and `GraphTaskCard` components for improved performance and readability.
- Enhanced imports in `MemberDetailDialog` for better organization.
2026-04-15 16:42:05 +03:00
777genius
af1caf90e8 Merge branch 'worktree/tmux-hybrid-installer-plan' into dev
# Conflicts:
#	docs/FEATURE_ARCHITECTURE_STANDARD.md
#	eslint.config.js
#	src/preload/index.ts
#	src/renderer/api/httpClient.ts
#	src/renderer/components/dashboard/TmuxStatusBanner.tsx
#	tsconfig.node.json
2026-04-14 22:11:41 +03:00
777genius
ef44542f1d feat(tmux): add hybrid installer flow 2026-04-14 20:07:57 +03:00
Diego Serrano
080e0af55a
fix(team): resolve stuck "reconciling" state and skip resume when teammates never spawned (#55)
* fix(team): resolve stuck "reconciling" state and skip resume when teammates never spawned

Addresses #54.

When a team launch fails to bootstrap teammates, the team gets stuck showing
"Last launch is still reconciling" indefinitely, and retrying with --resume
reconnects the lead but does not re-spawn the dead teammates. The only
workaround was enabling "Clear context (fresh session)", which loses the
lead's prior conversation context.

Two root causes addressed:

1. createPersistedLaunchSnapshot counted members still in 'starting' state
   (agentToolAccepted=false) as 'pending' regardless of launchPhase. When
   launchPhase was 'finished' with never-spawned members, the aggregate
   state stayed as 'partial_pending' forever, rendered as "still reconciling".
   Fix: when launchPhase != 'active', promote such members to
   'failed_to_start' so the aggregate becomes 'partial_failure'
   ("Launch failed partway"), which correctly signals a terminal state.

2. TeamProvisioningService._launchTeamInner always used --resume when a
   previous leadSessionId existed, even if the previous launch had no
   teammates successfully spawned. The CLI's deterministic reconnect path
   restores lead context but does not re-spawn dead teammates, so the team
   stays broken across relaunches. Fix: before adding --resume, read the
   persisted launch state. If every expected teammate is 'starting' (never
   spawned) or 'failed_to_start', skip --resume so the CLI performs a full
   fresh bootstrap that spawns all teammates.

Verified manually on Linux: a team stuck in "still reconciling" correctly
transitions to "failed partway" after the first fix, and the next Launch
(without "Clear context") fully bootstraps and brings teammates online.

* fix(team): narrow skip resume to never-spawned teammates

---------

Co-authored-by: 777genius <quantjumppro@gmail.com>
2026-04-14 18:31:09 +03:00
777genius
a0c8db4771 feat(graph-controls): integrate tooltip support, refine button styles, and enhance task creation functionality 2026-04-13 20:51:45 +03:00
777genius
ce0eb75429 feat(session-search): add search functionality and provider filtering to DateGroupedSessions component; enhance task activity detail rendering logic 2026-04-13 20:00:18 +03:00
777genius
804e92419f feat(activity-detail): implement task activity detail retrieval and UI integration 2026-04-13 19:19:52 +03:00
777genius
36d499001d test(ci): stabilize stale summary invalidation race 2026-04-13 17:19:07 +03:00
777genius
e5d6911025 test(task-logs): align stream sanitization expectations 2026-04-13 07:58:24 +03:00
777genius
32cea2a927 feat(task-logs): add board task activity and task log stream 2026-04-12 22:13:43 +03:00
777genius
02d516cb4e fix: harden provider-aware cli env handling 2026-04-12 13:18:49 +03:00
777genius
69489912f4 test(team): use platform path delimiter in resolver tests 2026-04-12 00:16:37 +03:00
777genius
067f8266d3 test(runtime): normalize cross-platform path fixtures 2026-04-12 00:12:42 +03:00