Commit graph

270 commits

Author SHA1 Message Date
777genius
e90886316f perf(main): cache runtime resource telemetry 2026-05-30 23:59:56 +03:00
777genius
7be9158eb3 fix(team): prevent composer recipient overflow 2026-05-30 18:46:21 +03:00
777genius
a7606032fc fix(runtime): preserve provider status during refresh failures 2026-05-30 18:44:31 +03:00
777genius
2dcd5cb6a8 perf: align ps process-table cache TTL with the 2s consumer window
The runtime process table is read through a module-level executor cache (1s TTL)
but its consumers rebuild on a 2s snapshot-cache cadence and fire constantly during
a launch (every team file change invalidates a per-team snapshot). A 1s table TTL
is shorter than the 2s read cadence, so 'ps -ax' was re-spawned on essentially every
consumer rebuild for no freshness benefit -- a top main-thread cost in the warm
launch profile (~5-8%). Raise the table TTL to 2s to match the consumer window so
the spawn coalesces to at most once per consumer cycle.

Safe: liveness is identity-matched (team+agent+command), not bare-PID, and OpenCode
host cleanup re-validates each PID against live state before killing, so a ~2s-stale
table cannot cause a wrong liveness verdict or an unsafe kill -- it only widens an
already-tolerated display-staleness window by ~1s. No test asserts the TTL value.
2026-05-30 14:29:21 +03:00
777genius
126a485477 wip: team messages panel updates and runtime usage cache refinements
Checkpoint of in-progress work:
- renderer: team messages panel/composer, messagesPanelLogic, teamSlice,
  AnimatedHeightReveal plus their tests
- main: runtime process usage-stats caching (ignoreCachedMisses, bounded
  eviction), alive-run-id helpers, team watch-scope notify wiring

Note: the getTeamAgentRuntimeSnapshot rssBytes expectation in
TeamAgentLaunchMatrix.safe-e2e is environment-dependent and still red.
2026-05-30 12:54:11 +03:00
777genius
d06ea7f265 perf: cache runtime process table to stop ps spawn storm
listRuntimeProcesses spawned a full `ps -ax` on every call with no caching.
It is invoked very frequently while a team runs: runtime liveness/telemetry
snapshots are rebuilt whenever a team file changes (invalidateRuntimeSnapshotCaches
fires from ~25 sites), so the main process ended up forking ps dozens of times
per second, which is expensive from the large Electron main process and pegged
its CPU.

Add a 1s TTL cache plus in-flight coalescing on the single ps spawn point.
Liveness/telemetry callers already tolerate ~2s staleness via their own snapshot
caches and the OS process table changes negligibly within a second, so this caps
ps to <=1/s without affecting liveness correctness. Measured posix_spawn dropped
from ~146/s to ~11/s with a team running.
2026-05-29 23:46:22 +03:00
777genius
169ac8bb68 perf: include process table usage metrics 2026-05-29 12:34:13 +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
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
6fbba5feb9 fix(runtime): default provider panel to providers 2026-05-28 00:27:54 +03:00
infiniti
c9e7e49a78
fix: show OpenCode inventory fallback as available 2026-05-27 23:00:32 +03:00
777genius
0339e9d183 chore(runtime): polish provider settings 2026-05-27 21:54:34 +03:00
777genius
877a81439b fix(member-log-stream): simplify member logs view 2026-05-27 21:53:27 +03:00
infiniti
ebcc0e717f
fix(team): reconcile provisioned-but-not-alive bootstrap state 2026-05-27 12:16:41 +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
b15de780cb fix(codex-account): keep account snapshots fresh 2026-05-26 23:44:40 +03:00
777genius
1cae11da34 refactor(agent-attachments): use agent image mime types directly 2026-05-26 23:44:40 +03:00
777genius
7514bf05eb fix(recent-projects): guard context-scoped refreshes 2026-05-26 17:56:10 +03:00
777genius
96478a604f fix(recent-projects): close context switch response race 2026-05-26 16:40:24 +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
b5d7da1ea8 fix(attachments): support claude gif delivery 2026-05-25 23:43:29 +03:00
777genius
63e16d1043 fix(workspace-trust): canonicalize git worktree trust roots 2026-05-25 21:30:56 +03:00
777genius
7e0520cb4c fix(logs): restore member process log source 2026-05-25 17:17:11 +03:00
777genius
62ef88300a feat(logs): compact team log source controls 2026-05-25 14:54:28 +03:00
777genius
8f4a4dd502 fix(member-work-sync): recover stale nudge payload conflicts 2026-05-25 14:34:14 +03:00
777genius
5aba24c400 feat(team): support revising sent messages 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
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
6ebe375cf9 fix: restore runtime status ci expectations 2026-05-24 16:43:16 +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
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
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
2be35c74ec fix(startup): repair deferred runtime refresh paths 2026-05-23 17:08:13 +03:00
777genius
34a1b86b21 perf(startup): defer noncritical startup probes 2026-05-23 15:04:05 +03:00
777genius
64fdfd2422 chore: checkpoint existing workspace changes 2026-05-23 13:48:35 +03:00
777genius
eb99baee23 fix(runtime): sanitize provider error output 2026-05-22 21:04:50 +03:00
777genius
0e8ccf2905 feat(runtime): filter free provider models 2026-05-22 21:04:50 +03:00
777genius
077c749cb7 fix(windows): harden elevated runtime detection 2026-05-22 18:43:50 +03:00
777genius
6fb0c714ef fix(runtime-provider-management): surface provider diagnostics 2026-05-22 15:42:25 +03:00
777genius
ad984a859b fix(ci): stabilize runtime release checks 2026-05-22 00:55:29 +03:00
777genius
13b14762bc fix(runtime): bound binary path discovery 2026-05-22 00:17:54 +03:00
777genius
3c427ac617 feat(runtime): support anthropic compatible endpoints 2026-05-22 00:16:52 +03:00
777genius
3d1b329221 feat(discovery): bound recent project scans 2026-05-22 00:15:57 +03:00
777genius
9ad4269ebc feat(runtime): harden MCP launch orchestration 2026-05-21 19:03:47 +03:00