Commit graph

1411 commits

Author SHA1 Message Date
777genius
41ca9fc0cb fix(runtime-provider-management): harden provider directory interactions 2026-04-25 19:48:23 +03:00
777genius
4b77c648bf feat(runtime-provider-management): show directory provider models 2026-04-25 19:24:45 +03:00
777genius
a8e876ada5 feat(runtime-provider-management): expose provider directory search 2026-04-25 19:22:31 +03:00
777genius
7fb5c8cf85 feat(runtime-provider-management): add provider directory bridge 2026-04-25 19:20:59 +03:00
iliya
f2b7024226 fix(windows): support path mentions and editor launch 2026-04-25 19:12:11 +03:00
777genius
2eba377be2 fix(opencode): pass project path to provider management 2026-04-25 18:27:08 +03:00
777genius
351ae4f4ed fix(opencode): explain missing openrouter catalog provider 2026-04-25 18:01:49 +03:00
777genius
661f308ab4 fix(opencode): accept openrouter nested model aliases 2026-04-25 17:44:28 +03:00
777genius
523d450bc8 feat(app): improve runtime provider and tmux flows 2026-04-25 17:28:56 +03:00
iliya
75f9e6bcec feat: add teammate runtime compatibility notices and test coverage 2026-04-25 17:19:30 +03:00
777genius
19b6937446 feat(opencode): harden delivery and provider UI 2026-04-25 14:30:10 +03:00
777genius
ade312ad87 fix(agent-graph): tune stable slot spacing 2026-04-25 09:47:14 +03:00
777genius
465b031873 fix(ci): stabilize windows team runtime tests 2026-04-25 00:56:30 +03:00
777genius
2f37be4bd0 fix(opencode): harden runtime projection delivery 2026-04-25 00:41:27 +03:00
777genius
dec0eaba18 feat(team): harden messaging tools and runtime bootstrap 2026-04-24 23:44:44 +03:00
777genius
e6e3ae9f54 fix(team): harden launch failure recovery copy 2026-04-24 23:25:53 +03:00
777genius
5c5b5c7afc fix(opencode): expire stale host leases on startup 2026-04-24 23:04:09 +03:00
777genius
84412066e8 feat(opencode): add host cleanup lifecycle bridge 2026-04-24 22:57:58 +03:00
777genius
4d1a6149b0 Merge branch 'dev' into feat/opencode-semantic-messaging-seam
# Conflicts:
#	agent-teams-controller/src/internal/crossTeam.js
#	mcp-server/src/tools/messageTools.ts
#	mcp-server/src/tools/taskTools.ts
#	src/main/services/team/opencode/bridge/OpenCodeReadinessBridge.ts
#	src/main/services/team/opencode/e2e/OpenCodeProductionE2EEvidence.ts
#	test/main/services/team/OpenCodeProductionE2EEvidence.test.ts
#	test/main/services/team/OpenCodeProductionGate.live.test.ts
#	test/main/services/team/OpenCodeReadinessBridge.test.ts
2026-04-24 22:48:59 +03:00
777genius
64c9ddc78c feat(opencode): add semantic messaging seam 2026-04-24 22:41:16 +03:00
777genius
3fe9a24e41 feat(team): harden launch liveness and recovery 2026-04-24 22:34:08 +03:00
777genius
2c286a453e test: align opencode project evidence notes 2026-04-24 20:59:47 +03:00
777genius
1f557712f1 fix: handle opencode project evidence prepare 2026-04-24 20:53:22 +03:00
777genius
ebb7b5289d fix: harden team runtime liveness 2026-04-24 20:52:26 +03:00
777genius
d517f2b320 feat(team): harden member runtime liveness 2026-04-24 16:18:12 +03:00
777genius
267a192329 fix(notifications): recover corrupted history writes 2026-04-24 12:24:21 +03:00
777genius
1c07e0fdb6 feat(team): expand opencode review and release support 2026-04-24 12:05:54 +03:00
777genius
ba4de3775b fix(ci): stabilize team launch reconciliation 2026-04-24 01:28:11 +03:00
777genius
bc2e1e43d8 feat: refine team provisioning and task log UX 2026-04-24 00:40:11 +03:00
777genius
55b369de96 fix(ci): stabilize team runtime lane validation 2026-04-23 22:17:20 +03:00
777genius
9d3e7ef99b fix(team): narrow opencode readiness models 2026-04-23 21:41:46 +03:00
777genius
0bde66b032 fix(runtime): pass provider args through codex probes 2026-04-23 21:29:19 +03:00
777genius
501074e8c3 fix(team): stabilize opencode launch and task logs 2026-04-23 21:08:28 +03:00
777genius
70dd17c784 fix(runtime): honor stored Anthropic API key state 2026-04-23 20:08:17 +03:00
777genius
e01e099c6c fix(opencode): harden bridge delivery and bump runtime 2026-04-23 19:24:02 +03:00
777genius
9ebc4368d0 fix: stabilize opencode team launch recovery 2026-04-23 18:27:03 +03:00
777genius
f4e4ecca2e fix(team): degrade failed opencode prelaunch lanes 2026-04-23 13:28:46 +03:00
777genius
fa8bbcbb38 test(team): add opencode mixed recovery smoke 2026-04-23 13:25:38 +03:00
777genius
fe830da37d fix(team): sync mixed launch state back into live runs 2026-04-23 11:14:28 +03:00
777genius
b955901e15 fix(team): keep persisted launch failure details visible 2026-04-23 04:30:33 +03:00
777genius
e309eb8a0d fix(team): keep permission launch updates in store 2026-04-23 04:26:33 +03:00
777genius
6ea8b469f0 fix(team): map suffixed runtime metadata to launch statuses 2026-04-23 04:22:58 +03:00
777genius
560e14d5ad fix(team): include richer launch members in runtime snapshot 2026-04-23 04:20:01 +03:00
777genius
9766a2b7fc fix(team): match suffixed inbox senders during launch 2026-04-23 04:17:00 +03:00
777genius
b29adf1008 fix(team): match suffixed live agents during reconcile 2026-04-23 04:11:59 +03:00
777genius
1223fa236a fix(team): reconcile richer persisted launch members 2026-04-23 04:09:08 +03:00
777genius
be76b332c9 fix(team): expose richer launch member sets 2026-04-23 04:06:01 +03:00
777genius
8332e416a2 fix(team): preserve expected members on opencode heartbeat 2026-04-23 04:02:52 +03:00
777genius
98751a2cfc fix(team): prefer richer persisted launch snapshots 2026-04-23 04:00:17 +03:00
777genius
33f51b68a7 fix(team): keep launch summary projection aligned 2026-04-23 03:57:05 +03:00
777genius
f036cf0386 fix(team): prefer persisted join state over missing live entries 2026-04-23 03:01:34 +03:00
777genius
02419ec8ee fix(team): use persisted launch member union 2026-04-23 02:40:29 +03:00
777genius
82d4f094f4 fix(team): use persisted launch counts in pending copy 2026-04-23 02:38:39 +03:00
777genius
d8f0d78358 fix(team): trust persisted permission state in renderer 2026-04-23 02:36:35 +03:00
777genius
34dd669d88 fix(team): trust persisted permission launch state 2026-04-23 02:31:56 +03:00
777genius
842a929a83 fix(team): trust permission request ids in launch copy 2026-04-23 02:30:04 +03:00
777genius
146b839b9c fix(team): keep permission-pending launches from reading ready 2026-04-23 02:26:50 +03:00
777genius
e8ebe68576 fix(team): keep member launch labels consistent 2026-04-23 02:22:20 +03:00
777genius
0821b182e2 fix(team): keep member detail launch labels honest 2026-04-23 02:14:32 +03:00
777genius
006c242dc3 fix(team): keep missing opencode members bootstrap-pending 2026-04-23 02:11:06 +03:00
777genius
55021880e0 fix(team): preserve opencode member diagnostics 2026-04-23 02:08:56 +03:00
777genius
3f8276147e fix(team): make permission-pending launch copy honest 2026-04-23 02:04:55 +03:00
777genius
400eaf9acd fix(team): keep launch summary aligned with persisted members 2026-04-23 02:01:56 +03:00
777genius
72517418d9 fix(team): keep persisted launch members in spawn statuses 2026-04-23 01:59:59 +03:00
777genius
53d45c5e30 fix(team): keep launch loader for runtime-pending members 2026-04-23 01:56:38 +03:00
777genius
15f7219997 fix(team): clear permission state after approval 2026-04-23 01:48:25 +03:00
777genius
80beb3c877 fix(team): clear stale permission launch state 2026-04-23 01:44:55 +03:00
777genius
76fca31fb1 fix(team): make launch summary copy honest 2026-04-23 01:40:51 +03:00
777genius
3e53391a73 fix(team): preserve launch error and permission details 2026-04-23 01:36:52 +03:00
777genius
65fa117626 fix(team): preserve pure opencode permission state 2026-04-23 01:31:09 +03:00
777genius
a123b2e247 fix(team): surface permission-blocked launch state in graph 2026-04-23 01:13:17 +03:00
777genius
cfc50df5a1 fix(team): preserve opencode permission-blocked launch state 2026-04-23 01:10:05 +03:00
777genius
8cd3f04c20 fix(team): align permission-blocked launch state 2026-04-23 01:05:54 +03:00
777genius
2b96adda33 fix(team): avoid stale launch join mismatches 2026-04-23 00:51:34 +03:00
777genius
d3baf501f6 fix(team): keep launch join state aligned with pending roster 2026-04-23 00:47:37 +03:00
777genius
065ec81466 fix(team): keep launch failure copy without live details 2026-04-23 00:43:35 +03:00
777genius
1cb9af3fc7 fix(team): tighten pending launch runtime reporting 2026-04-23 00:36:22 +03:00
777genius
9005deb05c fix(team): prefer live launch truth over stale summary 2026-04-23 00:30:01 +03:00
777genius
2db49d694c fix(team): harden team launch and create flows 2026-04-23 00:21:26 +03:00
777genius
6211fd95ab fix(team): recover stale mixed opencode lane state 2026-04-22 20:34:42 +03:00
777genius
7cdee429ec fix(team): avoid leaking lead backend into mixed member summary 2026-04-22 20:16:27 +03:00
777genius
5ab14682a2 feat(team): support mixed runtime lanes and improve preflight UX 2026-04-22 20:10:20 +03:00
777genius
185789cc0a fix(opencode): tighten readiness and create-team preflight 2026-04-22 02:14:23 +03:00
777genius
83a9db5313 fix(ci): satisfy opencode lint gate 2026-04-21 23:59:29 +03:00
777genius
6a9f281eca fix(opencode): preserve loading state during runtime hydration 2026-04-21 23:24:09 +03:00
777genius
94b97c4930 fix(team): preserve worktree isolation in edit snapshots 2026-04-21 22:47:19 +03:00
777genius
708e1c3bf2 merge(team): integrate teammate worktree isolation ui 2026-04-21 22:35:32 +03:00
777genius
339fb072e5 feat(team): add teammate worktree isolation controls 2026-04-21 22:35:18 +03:00
777genius
db94a08712 Merge remote-tracking branch 'origin/dev' into dev 2026-04-21 22:23:14 +03:00
777genius
796c529439 feat(runtime): add provider fast mode support 2026-04-21 22:22:47 +03:00
777genius
dc4d117a8e feat(opencode): enable managed runtime defaults 2026-04-21 22:17:11 +03:00
777genius
28b64ec467 fix(opencode): scope model preflight by provider 2026-04-21 21:22:40 +03:00
777genius
09004df72c feat(opencode): add production proof workflow 2026-04-21 21:03:48 +03:00
777genius
5e31bd1c06 feat(opencode): add team runtime integration 2026-04-21 20:28:22 +03:00
777genius
2e87e12774 fix(ci): satisfy runtime catalog lint gate 2026-04-21 19:02:15 +03:00
777genius
1c5fce5f0a fix(task-change-ledger): preserve synthetic slash paths on Windows 2026-04-21 18:27:50 +03:00
777genius
e0d32d59ff fix(task-change-ledger): normalize fixture paths on Windows 2026-04-21 18:19:29 +03:00
777genius
95b62d6013 fix(task-change-ledger): read long hashed task artifacts 2026-04-21 18:02:40 +03:00
777genius
f40ea4f738 feat(agent-teams): add derived task queue agenda 2026-04-21 17:22:54 +03:00
777genius
7b486b7fea feat(task-change-ledger): merge review hardening 2026-04-21 17:22:01 +03:00
777genius
c69b7e4212 feat(task-change-ledger): harden review flow 2026-04-21 17:21:29 +03:00
777genius
7374108a71 fix(teams): preserve explicit provider during relaunch 2026-04-21 17:16:49 +03:00
777genius
1db7e501a0 feat(teams): introduce fast mode configuration for Anthropic provider and enhance related UI components 2026-04-21 16:44:18 +03:00
777genius
331166216e feat(team-runtime): snapshot catalog-backed picker baseline 2026-04-21 15:29:23 +03:00
777genius
7a337b6268 feat(codex): add app-server model catalog 2026-04-21 12:45:34 +03:00
777genius
99102565f3 feat(ledger): integrate task change ledger functionality into file content resolution and review application processes 2026-04-21 12:25:42 +03:00
777genius
98a9c25cfe fix(validate): normalize provider backend ids 2026-04-20 22:07:02 +03:00
Илия
4931115b7a
feat(codex): rewrite to app-server rich variant Merge pull request #80 from 777genius/spike/codex-native-runtime-plan
Merge pull request #80 from 777genius/spike/codex-native-runtime-plan
2026-04-20 20:54:35 +03:00
777genius
19e7ea995e fix(ci): stabilize workspace test suite 2026-04-20 20:38:12 +03:00
777genius
a76404fec7 feat(agent-graph): add activity visibility toggle 2026-04-20 20:33:34 +03:00
777genius
5683973c04 feat(codex): add app-server account management and polish native UX 2026-04-20 20:18:21 +03:00
777genius
8093201b78 Merge remote-tracking branch 'origin/dev' into spike/codex-native-runtime-plan
# Conflicts:
#	docs/research/codex-native-runtime-integration-decision.md
2026-04-20 19:42:49 +03:00
777genius
8fa107d055 style(ci): normalize provisioning error throw formatting 2026-04-20 11:08:40 +03:00
777genius
5f05ab0919 fix(ci): restore dev validate after virtualization merge 2026-04-20 11:06:40 +03:00
Илия
6929ab2a34
Merge pull request #75 from sardorb3k/perf/virtualization-threshold-tests
perf(team): enable virtualization past threshold + tests
2026-04-20 09:00:07 +03:00
777genius
63bc5ed866 fix(team): stabilize activity timeline virtualization 2026-04-20 08:59:38 +03:00
Mike
05f68ced44 perf(team): enable virtualization past threshold + tests
Final step of the virtualization plan. Turns the virtualized render
path on in production behind a row-count threshold, and adds regression
tests covering every gate.

- `VIRTUALIZATION_ROW_THRESHOLD = 60`. Short lists stay on the direct
  render path (no wrapper, no position: absolute, no measurement
  churn). Above the threshold the virtualizer takes over. Threshold is
  sized so conversations under ~one session of activity don't pay the
  virtualization cost; it activates once scrolling through a longer
  history.
- `shouldVirtualize` now requires `renderRows.length >= threshold` in
  addition to the existing opt-in and scroll-ref checks.
- `MessagesPanel` opts into virtualization for every layout it wires
  (inline / sidebar / bottom-sheet). The internal threshold then
  decides when to actually enable it, so callers don't need per-layout
  heuristics.
- Tests: adds a new `ActivityTimeline virtualization threshold` block
  covering (a) below-threshold list stays on the direct path,
  (b) no viewport → direct path regardless of count, (c) above
  threshold + viewport with `virtualizationEnabled` flips to the
  virtualized render path (simulated by clicking "show all" past
  pagination).

With this in, #70#74 combine to deliver:
- correct IntersectionObserver roots in scroll containers
- atomic render rows with stable keys
- windowed rendering with DOM-measured scrollMargin and measureElement
- auto-on when the cost of direct rendering actually shows up
2026-04-20 00:56:28 +05:00
Mike
b9c2dd5480 perf(team): measureElement + suppress remount animation on virtualized rows
Fifth step of the virtualization plan. Two small, coupled changes that
make the virtualized path stable without a merged-ref helper.

- Attach `rowVirtualizer.measureElement` to the existing virtualizer
  wrapper div. Because the wrapper carries no padding or margin, its
  bounding box matches the inner row, so the observer ref (which stays
  on the inner AnimatedHeightReveal node) and the measure ref (on the
  outer wrapper) address the same effective height. No merged ref
  callback is needed.
- Suppress mount-based entry animation inside the virtualized path.
  The virtualizer mounts and unmounts rows as the user scrolls them in
  and out; without this, the "new item" fade would replay every time
  an older row re-entered the viewport. `renderTimelineRow` now takes
  an optional `suppressEntryAnimation` flag and forwards `isNew=false`
  to both `LeadThoughtsGroupRow` and `MemoizedMessageRowWithObserver`
  when set. The direct render path is unchanged.

Still dormant in this release — `viewport.virtualizationEnabled` stays
false at every call site. PR #6 adds the threshold gate, tests, and
opt-in wiring.
2026-04-20 00:49:48 +05:00
Mike
7c4247bc73 perf(team): virtualizer skeleton + measured scrollMargin (gated)
Fourth step of the virtualization plan. Adds `useVirtualizer` wiring
with a DOM-measured `scrollMargin`, gated behind
`viewport.virtualizationEnabled`. Dormant in this release — no caller
flips the flag yet — so behavior is unchanged.

- Imports `useVirtualizer` from `@tanstack/react-virtual`. Fixed
  per-kind estimates (`ROW_SIZE_ESTIMATES`) drive `estimateSize`. Keys
  come from `row.key`, so row identity matches the renderRows model.
- `shouldVirtualize` requires all of: contract says enabled, a scroll
  element ref is present, and there is at least one row. Otherwise the
  render falls back to the direct `renderRows.map(...)` path from PR
  #72.
- Measures `scrollMargin` via `ResizeObserver` on both the scroll
  element and the timeline root, plus `scroll` and `resize` listeners,
  all rAF-batched. Avoids hand-summed heights that drift when
  composer/status/padding change.
- Virtualized path renders an absolute-positioned list inside a sized
  container (`height = getTotalSize()`). `translateY` subtracts
  `scrollMargin` so rows align to the timeline's own origin rather
  than the scroll container's top.

This PR intentionally does *not* enable `measureElement` (PR #5) or
flip `virtualizationEnabled` for any layout (PR #6) — both rely on
this wiring landing first.
2026-04-20 00:48:23 +05:00
Mike
a43fedcaab refactor(team): flatten ActivityTimeline render into atomic rows
Third step of the virtualization plan. Pure refactor — no UI change, no
virtualization yet. Prepares the timeline for row-level windowing.

- Introduces `TimelineRow`, a discriminated union of `session-separator`,
  `lead-thought-group` (pinned and non-pinned), `compaction-divider`,
  and `message-row`. Each row maps 1:1 to a single visual element.
- Adds a `renderRows` useMemo that walks `timelineItems` once and emits
  atomic rows, hoisting session separators out of the Fragment bundle
  that used to pair them with their owning item. This is the shape a
  windowing layer needs: each row measurable and addressable
  independently.
- Extracts a `renderTimelineRow(row)` helper that switches on `row.kind`
  and returns the same JSX the previous inline render produced. Logic
  per kind is identical — keys, memoization, collapse props, pinned
  thought "live" semantics — so there is no visual diff.
- The render body collapses from two blocks (pinned + `.slice().map()`)
  into a single `renderRows.map(renderTimelineRow)` call.

Follow-ups will virtualize `renderRows` with measured row heights and
tighten observer/animation wiring; pagination, collapse state, zebra
striping, and `groupTimelineItems` are untouched.
2026-04-20 00:47:02 +05:00
777genius
1794e5be4e refactor(runtime): finalize codex native-only config contract 2026-04-19 22:44:48 +03:00
777genius
ee7deb15f7 fix(runtime): remove stale codex phase 4 branches 2026-04-19 22:39:16 +03:00
777genius
cb62acb4fb fix(team): harden restart and session refresh flows 2026-04-19 22:34:43 +03:00
777genius
5d014b375b fix(runtime): tighten codex native-only phase 4 truth 2026-04-19 22:29:26 +03:00
777genius
1f7dd2100f refactor(runtime): remove legacy codex lanes 2026-04-19 22:22:13 +03:00
Mike
d4f518e8c5 refactor(team): viewport contract + observer root for ActivityTimeline
Second step of the virtualization plan. No virtualization yet. This PR
makes IntersectionObserver-based visibility tracking correct inside
scroll containers (sidebar, bottom-sheet), which is a prerequisite for
virtualizing the timeline.

- Introduces `TimelineViewport` — a grouped contract passed as a single
  `viewport` prop on `ActivityTimeline`. Holds `scrollElementRef`,
  `observerRoot`, `scrollMargin`, and `virtualizationEnabled`.
- `MessageRowWithObserver` and `LeadThoughtsGroupRow` now create their
  `IntersectionObserver` with `root = observerRoot?.current ?? null`
  instead of defaulting to the document viewport. Unread marking now
  fires when rows enter their real scroll parent.
- `MessagesPanel` resolves the active scroll owner from `position`
  (inline from parent ref, sidebar from `sidebarScrollRef`, bottom-sheet
  from `bottomSheetScrollRef`) and passes it into ActivityTimeline.
- Tests: stubs `IntersectionObserver` to capture `options.root` and
  asserts null when no viewport is passed, and the provided element when
  `viewport.observerRoot` is set.

`scrollMargin` and `virtualizationEnabled` are included in the contract
but not consumed yet — they land in follow-up PRs (#4/#5).
2026-04-20 00:17:04 +05:00
777genius
4cab3052eb Merge branch 'dev' of https://github.com/777genius/claude_agent_teams_ui into dev 2026-04-19 22:05:40 +03:00
777genius
e9dd7e0920 refactor(team): simplify cache expiration logic in TeamMessageFeedService
- Removed unnecessary line break in cache expiration condition for improved readability.
2026-04-19 22:05:19 +03:00
777genius
41f0b0d1d1 feat(team): enhance TeamMessageFeedService caching and logging
- Introduced caching mechanism with expiration for message feeds to improve performance.
- Added logging for cache expiration events to aid in debugging.
- Updated MessagesPanel to reopen search bar when participant filters are active.
- Added test cases for handling tmux server errors and message panel behavior with filters.
2026-04-19 22:04:44 +03:00
777genius
83748673af fix(team): dedupe project path options 2026-04-19 21:49:40 +03:00
Mike
49e029163b refactor(team): wire scroll owners for MessagesPanel layouts
First step toward virtualizing ActivityTimeline. Makes the real scroll
container observable per layout, without changing behavior.

- `TeamDetailView` forwards `contentRef` to `MessagesPanel` as
  `inlineScrollContainerRef`. `MessagesPanel` accepts it as an optional
  prop (unused in this release) so a follow-up can wire the inline
  viewport to virtualization consumers.
- `MessagesPanel` creates `bottomSheetScrollRef` and passes it to
  `Sheet.Content scrollRef`. react-modal-sheet merges it with its
  internal scroll ref, so the element stays the same DOM node; this
  only exposes it to us.
- Sidebar already owns `sidebarScrollRef`; no change there.

Behavior is unchanged — this only exposes refs for the follow-up that
will thread a viewport contract into ActivityTimeline.
2026-04-19 23:41:33 +05:00
777genius
e90bdc5b7f feat(runtime): switch codex default to native with hidden fallback 2026-04-19 21:21:29 +03:00
777genius
358496c353 merge: integrate task stall monitor shadow rollout into dev 2026-04-19 21:17:25 +03:00
777genius
a8cca65658 feat(team): add task stall monitor shadow rollout 2026-04-19 21:17:09 +03:00
777genius
52677b55d0 feat(team): enhance team messaging functionality and UI
- Integrated pending replies state management for team members.
- Updated TeamDetailView to initialize pending replies from state.
- Added logic to refresh team messages and member activity on tab focus.
- Improved UI components by increasing dialog content width for better layout.
- Enhanced member draft rows with avatar support for better visual representation.
- Implemented reconciliation logic for pending replies based on message history.
- Updated tests to cover new functionality and ensure reliability.
2026-04-19 20:57:13 +03:00
777genius
b5dfa14868 feat(runtime): enable codex-native limited internal unlock 2026-04-19 20:49:29 +03:00
777genius
1d3d7e1f1f fix(team): harden teammate restart lifecycle 2026-04-19 20:17:41 +03:00
777genius
92a3124e3f fix(runtime): preserve codex-native lane state truth 2026-04-19 19:46:00 +03:00
777genius
30fce3c64d feat(runtime): surface codex-native internal rollout states 2026-04-19 19:41:36 +03:00
777genius
ba37c1caf5 feat(runtime): add codex-native phase 0 app integration 2026-04-19 19:33:37 +03:00
777genius
cd52660f88 feat: switch team member avatars to local assets 2026-04-19 17:33:44 +03:00
777genius
481965f1b4 feat(team): add relaunch flow and stabilize edit member colors 2026-04-19 16:46:56 +03:00
777genius
1e2241aead chore: checkpoint workspace before relaunch flow 2026-04-19 16:08:38 +03:00
777genius
fbf299f276 fix(team): update package manager and enhance member color handling
- Bumped pnpm version to 10.33.0 in package.json.
- Added existing members to EditTeamDialog for better context.
- Improved buildMemberDraftColorMap to reserve colors for existing members and predict colors for new drafts.
- Added tests to ensure color assignment logic works correctly for existing and new members.
2026-04-19 11:56:53 +03:00
Илия
b13ab71857
perf(team): precompute ActivityTimeline session anchors once per render Merge pull request #68 from sardorb3k/perf/activity-timeline-session-precompute
perf(team): precompute ActivityTimeline session anchors once per render
2026-04-19 09:16:09 +03:00
777genius
98657f8b5f fix(team): harden retained log cleanup fallback 2026-04-19 09:00:45 +03:00
Илия
2552e87a39
improvement(extesnsions): handle legacy multimodel MCP diagnostics Merge pull request #67 from artemrootman/fix/mcp-diagnostics-runtime-fallback
Merge pull request #67 from artemrootman/fix/mcp-diagnostics-runtime-fallback
2026-04-19 08:17:01 +03:00
Mike
4c359d5185 perf(team): precompute ActivityTimeline session anchors once per render
Replace the per-item backward scan that located the most recent session
anchor with a single forward pass via useMemo.

Before: for every timeline item the render loop walked backward until
it found a lead-thought anchor, so N items produced up to N * N anchor
lookups on every render pass.

After: a single O(n) sweep builds previousSessionAnchorByIndex; render
time lookup is O(1). getItemSessionAnchorId is hoisted to module scope
so it is not recreated per render.

Behavior is unchanged. The three existing separator tests still pass,
and four new cases cover three-session transitions, long runs of
non-anchor items between thought groups, consecutive same-session
thoughts, and single-item lists.
2026-04-19 09:00:59 +05:00
Artem Rootman
2c62909e89
Handle legacy multimodel MCP diagnostics 2026-04-18 23:07:45 +00:00
777genius
6ff9a28ccc feat(team): enhance Claude logs handling and improve retrieval logic
- Updated `getClaudeLogs` method to support asynchronous fetching of logs.
- Introduced new interfaces for retained logs and transcript cache entries.
- Added logic to retain and retrieve Claude logs even after cleanup of live runs.
- Implemented fallback mechanism to use persisted transcripts when no live run exists.
- Updated tests to cover new log retention and retrieval scenarios.
2026-04-19 01:38:58 +03:00
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
93a6ae74b0 refactor(activity): reuse markdown rendering in compact previews 2026-04-18 21:57:59 +03:00
777genius
fd0c936244 fix(ui): finalize team activity and kanban polish 2026-04-18 21:40:47 +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
Mike
fb474af2a7 refactor(team): narrow PR to progress payload cap only
Remove the SessionDetail.messages stripping and related cache-size
change per maintainer feedback. The session-detail optimization will
follow separately after PR #58 lands with the right architectural
pattern (lightweight snapshot + separate endpoints).

This PR now contains only:
- progressPayload helpers (buildProgressLogsTail, buildProgressAssistantOutput)
- cap applied to emitLogsProgress, updateProgress, stall warning, retry error
- throttle raised 300ms -> 1000ms
- tests for the progress payload behavior
2026-04-18 22:19:09 +05: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
c25097a781 fix(sidebar): soften unread task highlight 2026-04-18 18:32:40 +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
2e062e4432 fix(agent-graph): route lead tasks and tighten lead spacing 2026-04-18 17:28:27 +03:00
777genius
ad8cddabcd feat(agent-graph): center transient handoff cards 2026-04-18 17:13:57 +03:00
777genius
cb603aaf37 fix(activity): make new session boundaries exact 2026-04-18 16:58:44 +03:00
Mike
ca5791b801 chore: restore alphabetical import sort in TeamProvisioningService
Autofix-only change. The OOM-fix commit inserted the progressPayload
import into the wrong position relative to AutoResumeService /
idleNotificationMainProcessSemantics, which failed the
simple-import-sort ESLint rule enforced by CI.
2026-04-18 17:57:55 +05: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
8d5ee7d5ab chore(dev): sync pending branch updates 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
52d45f87c1 feat(sidebar): improve project task grouping 2026-04-18 14:13:15 +03:00
777genius
9675f9b331 fix(recent-projects): show active projects during provisioning 2026-04-18 14:11:17 +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
1ee5dd38a5 fix(ci): refactor transcript project discovery 2026-04-18 13:22:20 +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
416c4acf04 feat(sidebar): improve project task grouping 2026-04-18 13:09:51 +03:00
777genius
d2ef5965e2 fix(ci): simplify activity item memoization 2026-04-18 12:54:03 +03:00
777genius
4178645e2c Merge remote-tracking branch 'origin/dev' into spike/team-snapshot-split-plan 2026-04-18 12:45:16 +03:00
777genius
cca644a1d2 fix(team): restore anthropic opus 4.6 option 2026-04-18 12:42:25 +03:00
777genius
e1a85786e7 fix(ci): resolve branch lint errors 2026-04-18 12:32:44 +03:00
777genius
42850e5e97 Merge remote-tracking branch 'origin/dev' into spike/team-snapshot-split-plan 2026-04-18 12:29:28 +03:00
777genius
f536e7e715 fix(ci): restore workspace validation 2026-04-18 12:20:37 +03:00
777genius
bfc6a38668 fix(context): unify context usage metrics 2026-04-18 12:10:51 +03:00
777genius
1a04b49d24 fix(team): support anthropic opus 4.7 team models 2026-04-18 12:09:26 +03:00
777genius
0eb38387a3 fix(extensions): finalize stash merge reconciliation 2026-04-18 11:44:55 +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
777genius
72f8d4e786 Merge remote-tracking branch 'origin/dev' into dev 2026-04-18 10:38:21 +03:00
777genius
787f5f28ed chore: rename app branding to Agent Teams UI 2026-04-18 10:34:47 +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
18d9f2b4a4 fix(ci): restore workspace checks 2026-04-17 22:45:19 +03:00
777genius
c70ebfe9a5 fix(extensions): clarify multimodel plugin roadmap 2026-04-17 21:36:16 +03:00
777genius
79050cc318 fix(extensions): tone down script-only skill advisories 2026-04-17 21:32:04 +03:00
777genius
0648509a82 fix(extensions): keep provider placeholders during bootstrap 2026-04-17 21:17:47 +03:00
777genius
6f4fd254cf fix(extensions): show provider loading placeholders 2026-04-17 21:10:26 +03:00
777genius
14ee2fc550 fix(extensions): reset stale codex skill filters 2026-04-17 21:07:11 +03:00
777genius
b0c4319ba3 fix(extensions): wait for runtime hydration before mcp diagnostics 2026-04-17 21:05:27 +03:00
777genius
f8c11af5b9 fix(extensions): harden mcp diagnostics runtime guards 2026-04-17 21:03:12 +03:00
777genius
c17a08c2d3 fix(extensions): use legacy-safe provider capability fallback 2026-04-17 21:00:23 +03:00
777genius
19c6144ef5 fix(extensions): keep skills banner provider-aware 2026-04-17 20:57:59 +03:00
777genius
4775d4bc45 fix(extensions): use runtime-aware detail copy 2026-04-17 20:55:22 +03:00
777genius
767dfde4cb fix(extensions): use provider-aware runtime copy 2026-04-17 20:51:25 +03:00
777genius
0287f83274 fix(extensions): avoid misleading mcp diagnostics command copy 2026-04-17 20:30:09 +03:00
777genius
e2c5c8e99b fix(extensions): avoid success banner when no visible providers remain 2026-04-17 20:28:35 +03:00
777genius
7c21d14bdf fix(extensions): keep dashboard banner provider-aware 2026-04-17 20:26:44 +03:00
777genius
1ee139b66a fix(extensions): keep extensions entry points available before auth 2026-04-17 20:24:45 +03:00
777genius
7b16cfe73b fix(extensions): treat multimodel flavor as runtime-aware before hydration 2026-04-17 20:22:29 +03:00
777genius
3446ef0100 fix(extensions): harden hidden provider runtime handling 2026-04-17 20:20:27 +03:00
777genius
12f6f90701 fix(extensions): hide runtime-injected mcp diagnostics 2026-04-17 20:07:35 +03:00
777genius
27a54f7f32 fix(extensions): tighten plugin applicability copy 2026-04-17 19:47:41 +03:00
777genius
88ac0acdf8 fix(extensions): preserve mcp dialog state on runtime hydration 2026-04-17 15:06:36 +03:00
777genius
1b1c27e9c6 fix(extensions): preserve api key writes on refresh failures 2026-04-17 15:03:34 +03:00
777genius
8075ed10e7 fix(extensions): enforce runtime capability guards for mcp writes 2026-04-17 14:58:09 +03:00
777genius
14a38212c2 fix(extensions): gate codex skill overlays by runtime 2026-04-17 14:51:58 +03:00
777genius
8423656b97 fix(extensions): use safe legacy multimodel capability fallback 2026-04-17 14:46:43 +03:00
777genius
5007f3eebb fix(extensions): scope mcp api key autofill by install target 2026-04-17 14:44:05 +03:00
777genius
24782411f3 fix(extensions): scope plugin operation state by project 2026-04-17 14:39:26 +03:00
777genius
33917a3161 fix(extensions): support project-scoped api keys 2026-04-17 14:34:46 +03:00
777genius
489e3eb967 fix(extensions): scope mcp renderer state by project 2026-04-17 14:28:25 +03:00
777genius
81c59440bf fix(extensions): harden mcp diagnostics output 2026-04-17 14:21:17 +03:00
777genius
fd4fd135a1 fix(extensions): hide gemini runtime card 2026-04-17 13:53:39 +03:00
777genius
22209ba958 feat(extensions): support multimodel global mcp scope 2026-04-17 13:23:30 +03:00
777genius
e01858ac98 feat(extensions): add codex-only skills overlays 2026-04-17 13:09:30 +03:00
777genius
f7c1dc16c4 fix(sidebar): polish project group headers 2026-04-17 12:43:51 +03:00
777genius
2bb290bf8a fix(tasks): default global task grouping to project 2026-04-17 10:15:41 +03:00
777genius
b3427a64ab feat(extensions): surface provider-aware capabilities in UI 2026-04-17 10:08:33 +03:00
777genius
096437b2fd feat(extensions): add provider-aware runtime adapters 2026-04-17 10:08:13 +03:00
777genius
a5c79518fb fix(ci): repair validate and windows checks 2026-04-17 09:12:49 +03:00
777genius
f92b77e3af chore(merge): sync dev into team snapshot split spike 2026-04-17 08:54:27 +03:00
777genius
1de59cb84f fix(extensions): validate skill import source paths locally 2026-04-16 23:18:02 +03:00
777genius
2cc7dc5178 fix(extensions): validate skill folder names before review 2026-04-16 23:15:09 +03:00
777genius
1d2e33f5d9 fix(extensions): preserve skill detail refresh context 2026-04-16 23:13:22 +03:00
777genius
2201b54f28 fix(extensions): reset stale skill review state on close 2026-04-16 23:11:13 +03:00
777genius
2142518461 fix(extensions): avoid premature skill import folder defaults 2026-04-16 23:09:15 +03:00
777genius
86bc4ce4e8 fix(extensions): sanitize suggested skill folder names 2026-04-16 23:08:00 +03:00
777genius
4578f11dd7 fix(extensions): unlock structured skill editing after reset 2026-04-16 23:06:05 +03:00
777genius
3e5ec7c173 fix(extensions): preserve skill project context in dialogs 2026-04-16 23:03:55 +03:00
777genius
c02a12b3f6 fix(extensions): keep skill import destination in sync 2026-04-16 23:01:33 +03:00
777genius
66cf1443b2 fix(extensions): scope mcp operation state by install scope 2026-04-16 22:57:22 +03:00
777genius
bb60bbb0ec fix(ci): restore workspace validation 2026-04-16 22:52:56 +03:00
777genius
94291f50f0 fix(extensions): require project context for local mcp scope 2026-04-16 22:51:05 +03:00
777genius
a3c5b7dca9 fix(extensions): honor local mcp scope precedence 2026-04-16 22:48:43 +03:00
777genius
7418643dc9 fix(extensions): make mcp scope actions scope-aware 2026-04-16 22:45:34 +03:00
777genius
be8f4f45d2 fix(extensions): scope mcp installed cache by project 2026-04-16 22:41:10 +03:00
777genius
0420428281 fix(extensions): support project-scoped mcp installs 2026-04-16 22:39:03 +03:00
777genius
3f03bc720a fix(extensions): dedupe MCP detail API key lookups 2026-04-16 22:32:47 +03:00
777genius
0d6276ea0b fix(extensions): honor installed MCP targets in manage actions 2026-04-16 22:31:56 +03:00
777genius
acabe52ae7 fix(extensions): stop MCP browse auto-retries after errors 2026-04-16 22:28:08 +03:00
777genius
113f9105fb fix(extensions): ignore stale MCP search responses 2026-04-16 22:26:03 +03:00
777genius
495d8514c1 fix(extensions): clear detail selections on sub-tab switch 2026-04-16 22:23:46 +03:00
777genius
0d19e5174f fix(extensions): use tab project context for plugin actions 2026-04-16 22:22:05 +03:00
777genius
743dbec36d fix(extensions): surface cli healthcheck failures in action tooltips 2026-04-16 22:17:41 +03:00
777genius
57f546bab0 fix(extensions): scope plugin operation state by install scope 2026-04-16 22:16:38 +03:00
777genius
d8672c32f6 fix(team): suppress replayed member spawn inbox churn 2026-04-16 22:15:49 +03:00
777genius
821e23e633 Merge branch 'dev' into spike/team-snapshot-split-plan 2026-04-16 22:11:16 +03:00
777genius
4502152427 fix(extensions): support local plugin scope actions 2026-04-16 22:09:52 +03:00
777genius
2b8062dfa3 fix(extensions): cancel stale plugin success timers 2026-04-16 22:07:22 +03:00
777genius
560174d98c fix(extensions): reset stale plugin action state on project switch 2026-04-16 22:05:28 +03:00
777genius
09b5b4626f fix(extensions): tighten plugin catalog fallback state 2026-04-16 22:04:02 +03:00
777genius
afad52f506 fix(extensions): prevent stale plugin catalog races 2026-04-16 22:01:59 +03:00
777genius
6e875e5a40 fix(extensions): harden plugin action states 2026-04-16 21:59:23 +03:00
777genius
847643828d fix(extensions): make plugin actions scope-aware 2026-04-16 21:56:12 +03:00
777genius
f2c5d52bdc fix(extensions): scope plugin install state to active project 2026-04-16 21:55:50 +03:00
777genius
57ba5b57b5 fix(agent-graph): harden pan and launch stepper visibility 2026-04-16 21:26:56 +03:00
777genius
58644b24c6 fix(agent-graph): harden pan and launch stepper visibility 2026-04-16 21:26:15 +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
53c4204d89 fix(agent-graph): add launch status labels and pan guards 2026-04-16 20:58:40 +03:00
777genius
47eb461730 fix(types): resolve post-merge regressions 2026-04-16 19:45:31 +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
0b97cc0794 fix(agent-graph): stabilize startup slots and launch hud 2026-04-16 14:57:42 +03:00
777genius
19463edfc9 fix(agent-graph): center launch stepper hud 2026-04-16 13:40:21 +03:00
777genius
fd76944141 chore(merge): sync dev into team snapshot split spike 2026-04-16 13:19:20 +03:00
777genius
345fd3e41d fix(recent-projects): recover codex projects after degraded startup 2026-04-16 13:17:07 +03:00
777genius
9437220133 fix(recent-projects): recover codex projects after degraded startup 2026-04-16 13:16:28 +03:00
777genius
4630442149 fix(agent-graph): stabilize slot layout interactions 2026-04-16 13:05:16 +03:00
777genius
c303a236a5 feat(agent-graph): unify lead slot layout defaults 2026-04-16 11:26:30 +03:00
777genius
77d3e9f7d8 fix(agent-graph): stabilize member slot layout 2026-04-15 22:40:15 +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
aed08113e6 feat(agent-graph): integrate stable slot layout for improved node positioning and interaction
- Added stable slot layout support in various components, enhancing the layout and interaction of nodes.
- Updated TypeScript configuration to include new paths for the agent-graph package.
- Refactored layout logic in activity lanes and kanban to accommodate stable slot assignments.
- Enhanced GraphView and GraphControls to support sidebar visibility toggling and owner slot drop handling.
- Introduced new types for layout management in GraphDataPort and related files.
- Updated README to include stable slot layout documentation.
2026-04-15 16:18:11 +03:00
777genius
363fef224d fix: allow slower codex app-server initialization 2026-04-15 13:24:04 +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
ff9344c85a fix(tmux): polish installer banner state 2026-04-14 22:08:10 +03:00
777genius
e5d85ec873 Merge branch 'dev' of https://github.com/777genius/claude_agent_teams_ui into dev 2026-04-14 22:07:15 +03:00
777genius
90b637c6d8 refactor: update README and security documentation; enhance activity lane layout and kanban integration 2026-04-14 22:06:50 +03:00
777genius
898a795182 fix(tmux): tighten windows reboot flow 2026-04-14 21:58:55 +03:00
777genius
80221884ed fix(tmux): collapse installer banner by default 2026-04-14 21:52:06 +03:00