Commit graph

1182 commits

Author SHA1 Message Date
777genius
906942cb7a perf: isolate messages panel logic exports 2026-05-29 12:26:09 +03:00
777genius
3c37b22379 perf: debounce messages scroll persistence 2026-05-29 12:26:04 +03:00
777genius
4458ec1fd7 fix(opencode): wire junction diagnostics on dev 2026-05-28 13:12:02 +03:00
777genius
8abf4ea7dd fix(opencode): harden Windows junction retry 2026-05-28 13:08:55 +03:00
ComradeSwarog
b12106d8f4 fix(test): use expect.any(String) for junction error message assertions
The failure.message passed to ensureOpenCodeProfileNodeModulesJunction
comes from normalizeCommandFailure which may produce a JSON-escaped
string when the error contains structured JSON in stdout. Using the
raw runtimeMessage literal causes a mismatch in CI. Switch to
expect.any(String) to accept any string value for the errorMessage
parameter while still verifying the call happens.
2026-05-28 13:08:55 +03:00
ComradeSwarog
cc3c9f7dc7 fix(opencode): address code review feedback — extract paths from error message, fix test imports
- Extract symlink source/target paths directly from the error message
  instead of reconstructing them from process.env (Codex P2 review)
- Add extractSymlinkSourcePath and extractSymlinkTargetPath functions
- Update ensureOpenCodeProfileNodeModulesJunction to accept optional
  errorMessage parameter and use extracted paths from it
- Fix unused imports in test (remove 'os', replace 'beforeEach' with
  'afterEach' per CodeRabbit review)
- Widen fs.statSync mock signatures to use Parameters<typeof fs.statSync>
  per CodeRabbit review
- Add tests for new extraction functions
- Pass errorMessage to ensureOpenCodeProfileNodeModulesJunction calls
  in CLI client tests
2026-05-28 13:08:55 +03:00
ComradeSwarog
597c690dbc fix(opencode): add Windows junction fallback for node_modules EPERM symlink error (#187)
On Windows 10 without Developer Mode, the OpenCode runtime fails to create
a symlink from shared-cache/config-node_modules to the profile's
node_modules directory. The EPERM error blocks the entire OpenCode provider
catalog, leaving it unavailable.

Changes:
- New openCodeWindowsNodeModulesJunction module that pre-creates a Windows
  directory junction (no Developer Mode required) before the runtime call
  when an EPERM symlink error is detected
- On Windows, loadView and loadProviderDirectory now detect EPERM symlink
  errors, extract the profile ID, create the junction, and retry the
  runtime command once before falling back to the error response
- Updated diagnostic hints to accurately reflect that the runtime does not
  yet include junction fallback, and that the next runtime update will
  include it
- Added unit tests for the junction module and retry behavior
2026-05-28 13:08:54 +03:00
777genius
1126b1ee38 fix(ci): restore dev validation 2026-05-28 01:47:43 +03:00
infiniti
fa36d7f3c0
fix(opencode): extend summary status timeout 2026-05-28 00:39:53 +03:00
infiniti
0cbba46083
fix(team): speed up provider runtime preflight 2026-05-27 23:54:10 +03:00
iliya
209b9c72ad fix: count OpenCode inventory fallback as connected 2026-05-27 23:43:25 +03:00
infiniti
c9e7e49a78
fix: show OpenCode inventory fallback as available 2026-05-27 23:00:32 +03:00
infiniti
e06c24a041
fix: add OpenCode status inventory fallback 2026-05-27 22:41:43 +03:00
777genius
3e45600e0e Merge branch 'dev' of https://github.com/777genius/agent-teams-ai into dev 2026-05-27 22:03:50 +03:00
iliya
21404894c2 fix: add Windows provider status fallback 2026-05-27 21:54:24 +03:00
777genius
46a525aea1 fix(cli-status): refresh auth after terminal close 2026-05-27 21:53:47 +03:00
777genius
877a81439b fix(member-log-stream): simplify member logs view 2026-05-27 21:53:27 +03:00
777genius
77e08af03f fix(team): propagate managed runtime settings env 2026-05-27 18:56:24 +03:00
777genius
7cc1a59bbc fix(team): preserve mixed provider runtime settings 2026-05-27 18:22:10 +03:00
infiniti
ebcc0e717f
fix(team): reconcile provisioned-but-not-alive bootstrap state 2026-05-27 12:16:41 +03:00
777genius
9d5f176597 test: stabilize runtime provider management assertion 2026-05-27 01:07:07 +03:00
Илия
3849c01955
fix(provenance): classify synthetic user turns
* fix(provenance): classify synthetic user turns

* fix(provenance): keep assistant display rendering intact

* fix(provenance): preserve source tool result rows
2026-05-26 23:51:17 +03:00
777genius
ab6ab1fc4c test(team): cover provisioned runtime recovery 2026-05-26 23:44:40 +03:00
777genius
c79b7d4234 fix(team): suppress unverified relay state claims 2026-05-26 23:44:40 +03:00
777genius
b15de780cb fix(codex-account): keep account snapshots fresh 2026-05-26 23:44:40 +03:00
777genius
f237318c29 fix(agent-teams): surface OpenCode runtime permissions 2026-05-26 19:46:24 +03:00
777genius
636beb5e42 fix(scripts): quote Windows shell invocations 2026-05-26 19:46:13 +03:00
777genius
58a0eb603d build(runtime): require Node 24 toolchain 2026-05-26 19:44:23 +03:00
777genius
5355570f2c test(context): cover unchanged lazy init 2026-05-26 19:01:43 +03:00
777genius
1eae8305ea fix(context): reset lazy project scope 2026-05-26 18:54:17 +03:00
777genius
1b36d1daa6 fix(context): clear project loading on ssh reset 2026-05-26 18:47:16 +03:00
777genius
2fdbf301b4 fix(context): guard project fetches by scope 2026-05-26 18:33:47 +03:00
777genius
636d121f5f fix(team): guard cross-team targets by context 2026-05-26 18:21:23 +03:00
777genius
7514bf05eb fix(recent-projects): guard context-scoped refreshes 2026-05-26 17:56:10 +03:00
777genius
d32db985b5 fix(context): clear switch state on direct ssh reset 2026-05-26 17:42:12 +03:00
777genius
c04a259cea fix(context): ignore stale team request scopes 2026-05-26 17:35:17 +03:00
777genius
255fa5aa47 fix(context): align first-visit switch state 2026-05-26 17:04:51 +03:00
777genius
e46868b6d7 fix(context): reset team caches on context changes 2026-05-26 17:00:41 +03:00
777genius
b46b53d667 fix(recent-projects): scope client cache by context 2026-05-26 16:35:28 +03:00
777genius
72633daa6e perf(recent-projects): stream codex session discovery 2026-05-26 16:08:25 +03:00
777genius
031e5eda2f fix(recent-projects): skip oversized codex session cache 2026-05-26 16:04:08 +03:00
777genius
8c86def84d fix(recent-projects): avoid stale scan diagnostics regressions 2026-05-26 13:46:33 +03:00
777genius
c2bc20bebd perf(recent-projects): bound codex session discovery 2026-05-26 13:24:49 +03:00
777genius
4640e1eea4 fix(startup): ignore stale opencode probe results 2026-05-26 10:39:50 +03:00
777genius
a8ac52b6f3 perf(startup): dedupe opencode version probes 2026-05-26 10:32:46 +03:00
777genius
b88ca42fe3 fix(startup): serialize provider runtime checks 2026-05-26 09:12:05 +03:00
777genius
b5d7da1ea8 fix(attachments): support claude gif delivery 2026-05-25 23:43:29 +03:00
777genius
0d4e6f5047 perf(startup): avoid provider refresh version probe 2026-05-25 23:37:12 +03:00
777genius
33463d3479 perf(startup): skip deferred cli version probe 2026-05-25 23:25:21 +03:00
777genius
a6dd0061a8 perf(startup): defer heavy startup work 2026-05-25 23:14:59 +03:00
777genius
43afc9f907 fix(jsonl): align count-only baseline parsing 2026-05-25 22:58:07 +03:00
777genius
13b3ace4fd test(jsonl): format baseline count imports 2026-05-25 22:36:14 +03:00
777genius
b0b2fa2d13 fix(jsonl): count baseline entries without materializing messages 2026-05-25 22:32:09 +03:00
777genius
e64fff8af0 fix(watcher): baseline large existing jsonl files 2026-05-25 22:26:55 +03:00
777genius
e88d3a1e98 feat(team): open persisted attachments in editor 2026-05-25 21:30:56 +03:00
777genius
63e16d1043 fix(workspace-trust): canonicalize git worktree trust roots 2026-05-25 21:30:56 +03:00
777genius
86e700f031 fix(team): require revision notice before editing 2026-05-25 20:57:04 +03:00
777genius
7e0520cb4c fix(logs): restore member process log source 2026-05-25 17:17:11 +03:00
777genius
5513531053 fix(team): preserve task labels and change presence 2026-05-25 15:43:07 +03:00
777genius
62ef88300a feat(logs): compact team log source controls 2026-05-25 14:54:28 +03:00
777genius
79faaf1f9f fix(team): keep launch pending for dead runtime entries 2026-05-25 14:53:45 +03:00
777genius
c033a0cb87 fix(team): persist incomplete launch state before cleanup 2026-05-25 14:53:05 +03:00
777genius
53dec55b1d fix(runtime): gate codex install prompt on runtime status 2026-05-25 14:52:50 +03:00
777genius
8f4a4dd502 fix(member-work-sync): recover stale nudge payload conflicts 2026-05-25 14:34:14 +03:00
infiniti
2cee9cabaf
fix(opencode): harden local runtime bridge support 2026-05-25 14:31:57 +03:00
777genius
26a57f87d4 test(team): cover sent message revision flow 2026-05-25 01:22:57 +03:00
777genius
c04871747c fix(runtime-provider): clarify opencode model routes ux 2026-05-25 01:22:57 +03:00
infiniti
2b3a184bef
fix(opencode): recover empty bridge output sends
* fix(opencode): handle empty readiness bridge output

* fix(opencode): retry read-only bridge no-output

* fix(opencode): recover empty bridge output sends

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
2026-05-25 00:41:54 +03:00
777genius
1bc8ccc07a fix(ci): restore workspace validation 2026-05-25 00:14:43 +03:00
infiniti
50f876f863
fix(opencode): retry read-only bridge no-output
* fix(opencode): handle empty readiness bridge output

* fix(opencode): retry read-only bridge no-output

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
2026-05-24 23:22:34 +03:00
infiniti
47cea58543
feat(i18n): add expanded app locale support
* feat(i18n): add CJK app locale support

* feat(i18n): add Spanish Hindi and Portuguese locales

* feat(i18n): add French Arabic and Bengali locales

* feat(i18n): add Urdu Indonesian and German locales

* feat(i18n): add landing locales for Bengali Urdu and Indonesian

* fix(i18n): address locale review feedback

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
2026-05-24 22:10:47 +03:00
777genius
776957b607 fix(team): keep runtime adapter lead activity idle 2026-05-24 20:43:11 +03:00
777genius
bbe09eb42e merge(dev): pull origin dev into refactor branch 2026-05-24 17:13:34 +03:00
777genius
a324f6cc66 fix(team): show stopped runtime from spawn status 2026-05-24 17:03:01 +03:00
777genius
4a4c67fcb9 fix(team): reconcile bootstrap runtime snapshots 2026-05-24 17:02:36 +03:00
Илия
049bc2ce7c
feat: add team log member filtering Merge pull request #151 from 777genius/feat/team-log-member-filter
feat: add team log member filtering
2026-05-24 16:59:11 +03:00
Илия
f2a5429a4b
refactor(team): extract provisioning service policies Merge pull request #149 from 777genius/refactor/team-provisioning-policies
refactor(team): extract provisioning service policies

Merge pull request #149 from 777genius/refactor/team-provisioning-policies
2026-05-24 16:10:05 +03:00
777genius
5abd096c61 fix: address log filter review feedback 2026-05-24 16:05:57 +03:00
777genius
7e8f4b377d feat(logs): add compact lead log source selector
- Add avatar trigger mode to MemberSelect for dense toolbar surfaces.

- Render the lead log source selector beside compact sidebar log search and filters.

- Cover toolbar accessory rendering, avatar trigger behavior and lead alias detection.
2026-05-24 15:58:38 +03:00
777genius
57931c0abd fix(renderer): defer model validation while providers load
- Treat checking, deferred and loading provider model catalog states as pending instead of unavailable.

- Show selected provider activity inside create and launch dialogs while keeping ready providers visible during checks.

- Remove the global provider status header so provider activity is scoped to launch flows.
2026-05-24 15:58:22 +03:00
777genius
7aa87f2278 fix(team): heal stale confirmed bootstrap diagnostics
- Carry bootstrap run ids from bootstrap-state into member evidence and compare them with current run identity.

- Allow small confirmation clock skew for delayed Anthropic app acceptance without accepting stale rapid relaunch evidence.

- Clean confirmed bootstrap members that only have stale persisted runtime pid diagnostics.

- Cover process-table unavailable, post-stop stale pid and mixed launch reconcile cases.
2026-05-24 15:57:50 +03:00
777genius
421997c457 chore: merge dev into team log member filter
# Conflicts:
#	src/renderer/components/layout/TeamTabSectionNav.tsx
#	src/renderer/components/team/ClaudeLogsFilterPopover.tsx
#	src/renderer/components/team/ClaudeLogsSection.tsx
#	src/renderer/components/team/members/MemberDetailDialog.tsx
#	src/renderer/components/ui/MemberSelect.tsx
2026-05-24 15:55:56 +03:00
Илия
e7a1070ce3
feat(i18n): add localization foundation Merge pull request #150 from 777genius/feat/ui-localization-foundation
feat(i18n): add localization foundation

Merge pull request #150 from 777genius/feat/ui-localization-foundation
2026-05-24 15:40:37 +03:00
777genius
3a7f9ea10b feat: add team log member filtering 2026-05-24 15:40:31 +03:00
777genius
6855d63ec6 feat(i18n): add localization foundation
Refs https://github.com/777genius/agent-teams-ai/issues/139
2026-05-24 15:37:24 +03:00
777genius
f6b2bc4cec fix(team): reject failed opencode session handles 2026-05-24 12:21:58 +03:00
777genius
95652c8990 refactor(team): extract provisioning service policies 2026-05-24 11:37:37 +03:00
777genius
cbf5356fdc fix(runtime): prefer shell node for GUI launches 2026-05-24 01:00:03 +03:00
777genius
e9cebe64ff feat: improve provider status startup hydration
Keep connected provider details visible while refreshes are in flight, restore reusable provider status UI, and separate fast startup summaries from heavier provider hydration. Replace the fixed 30s startup wait with an idle-aware scheduler with a 30s safety cap and cover the Electron timer binding crash.
2026-05-24 00:23:04 +03:00
777genius
91b153459a feat: add resilient cross-platform file watching
Share watcher fallback behavior across project, todo, team, and task file monitoring. Add polling fallback coverage for watcher-limit and startup failure cases so Linux EMFILE conditions degrade instead of amplifying renderer crashes.
2026-05-24 00:22:48 +03:00
777genius
b9cbdde502 fix(team): include runtime logs in launch failure artifacts
Refs: 777genius/agent-teams-ai#140
2026-05-23 23:33:54 +03:00
777genius
9518ce920a fix(startup): prevent recovery regressions 2026-05-23 17:22:52 +03:00
777genius
2be35c74ec fix(startup): repair deferred runtime refresh paths 2026-05-23 17:08:13 +03:00
777genius
ef77f36b8f fix(startup): hydrate deferred provider statuses 2026-05-23 16:31:46 +03:00
777genius
08725c4e33 perf(startup): lazy load dashboard runtime surfaces 2026-05-23 15:52:47 +03:00
777genius
6ac95505bc perf(startup): defer hidden renderer work 2026-05-23 15:34:30 +03:00
777genius
b4f2be87df perf(startup): shrink participant avatar assets 2026-05-23 15:13:02 +03:00
777genius
34a1b86b21 perf(startup): defer noncritical startup probes 2026-05-23 15:04:05 +03:00
777genius
a4861fa77d perf(startup): defer provider status checks 2026-05-23 14:23:57 +03:00
777genius
64fdfd2422 chore: checkpoint existing workspace changes 2026-05-23 13:48:35 +03:00