Commit graph

825 commits

Author SHA1 Message Date
777genius
756fd7f537 feat(team): refine team list status display 2026-04-28 23:15:32 +03:00
777genius
143f905b86 test(changes): cover supported opencode backfill cache 2026-04-28 23:14:22 +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
53012ed623 fix(changes): pass verified opencode delivery context 2026-04-28 22:52:05 +03:00
777genius
ee590d0a62 test(changes): ignore related opencode deliveries 2026-04-28 22:39:47 +03:00
777genius
6bc9ddbc3e test(changes): ignore display-only opencode delivery 2026-04-28 22:34:27 +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
819a1f6e8f test(changes): reset decisions on ledger evidence upgrade 2026-04-28 21:58:24 +03:00
777genius
9f785ee3b2 test(changes): keep opencode transient backfill retryable 2026-04-28 21:47:52 +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
Илия
1d19a59b12
Merge pull request #91 from 777genius/feat/tmux-optional-process-backend
test(team): strengthen tmux decoupling checks
2026-04-28 17:49:40 +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
iliya
c66923c868 test(team): strengthen tmux decoupling checks 2026-04-28 17:14:14 +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
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
6707cc3b60 test(team): stabilize windows launch matrix checks 2026-04-27 12:21:22 +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
fe3a1a3cb3 test(team): cover shared task log layout work 2026-04-27 11:18:30 +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
bf0e209d77 fix: remove duplicate opencode gauntlet property 2026-04-26 12:44:08 +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
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
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
2518445b3b test(opencode): allow live harness real credentials 2026-04-25 20:36: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
777genius
41ca9fc0cb fix(runtime-provider-management): harden provider directory interactions 2026-04-25 19:48:23 +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
825cfc00d1 test(runtime-provider-management): cover project-aware opencode flow 2026-04-25 18:40:01 +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
937b23be4b fix(ci): isolate vitest home path 2026-04-25 02:27:40 +03:00
777genius
78c49fc631 fix(ci): stabilize ubuntu runtime tests 2026-04-25 02:09:01 +03:00
777genius
f06dc16a63 fix(ci): harden windows runtime smoke tests 2026-04-25 01:35:07 +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
84412066e8 feat(opencode): add host cleanup lifecycle bridge 2026-04-24 22:57:58 +03:00
777genius
7f9afeef14 test(opencode): align semantic messaging merge tests 2026-04-24 22:52: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
665fff14b5 test: cover opencode project evidence prepare 2026-04-24 20:53:45 +03:00
777genius
ebb7b5289d fix: harden team runtime liveness 2026-04-24 20:52:26 +03:00
777genius
a39ae2fb84 test(team): cover member liveness mode 2026-04-24 16:18:47 +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
fc1daef5e6 test: remove stale launch status waits 2026-04-24 00:40:45 +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
0bde66b032 fix(runtime): pass provider args through codex probes 2026-04-23 21:29:19 +03:00
777genius
155a9f76ab test(team): resolve wrapper modules from repo root 2026-04-23 21:23:37 +03:00
777genius
bd49e9b09d test(team): wrap worker fallback with tsx register 2026-04-23 21:17:50 +03:00
777genius
c1b2f08af5 test(team): stabilize worker fallback path resolution 2026-04-23 21:13:20 +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
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
62cded28cc test(opencode): persist live production evidence 2026-04-21 20:43:39 +03:00
777genius
5e31bd1c06 feat(opencode): add team runtime integration 2026-04-21 20:28:22 +03:00
777genius
e20d74d95e test(teams): run cmd mcp preflight through shell on Windows 2026-04-21 18:42:26 +03:00
777genius
e0d32d59ff fix(task-change-ledger): normalize fixture paths on Windows 2026-04-21 18:19:29 +03:00
777genius
728603d788 test(teams): stabilize runtime launch validation mocks 2026-04-21 18:06:35 +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
66409ca56b fix(test): stabilize post-compact reminder assertion 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
Илия
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
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
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
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
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
e83e3cbcc9 test(runtime): cover codex-native phase 1 rollout truth 2026-04-19 20:01:45 +03:00