Commit Graph

591 Commits

Author SHA1 Message Date
Haze
efa76b37d3 fix(gateway): fall back to junction when symlink unavailable on Windows
ensureExtensionDepsResolvable called symlinkSync without a type argument
and without path normalization. On Windows without Developer Mode or
admin rights, plain symlinkSync throws EPERM; the failure was silently
swallowed, leaving extension-owned packages unresolvable from shared
dist/ chunks and breaking gateway startup.

Extract the link logic into electron/gateway/fs-link.ts:
- linkDirSafe prefers junction on Windows (works without elevation),
  falls back to a plain dir symlink only if junction creation fails
  (e.g. cross-volume).
- normalizeFsPath centralizes the \\?\ extended-length + UNC prefixing
  that was previously an inline helper in config-sync.ts.

Also drop the now-redundant inline fsPath helper in config-sync.ts and
replace the two bare symlinkSync calls with linkDirSafe.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-04-24 17:11:52 +08:00
Haze
6bacbd964d perf(gateway): shorten gateway.ready fallback timeout from 30s to 5s
The fallback exists as a safety net for the server-side gateway.ready
event. In practice OpenClaw's plugin bootstrap can push the real event
well past 30s (observed: handshake completes, then 30s tick by, then the
fallback fires with no event having arrived). That long tail kept the
stale gating code blocking UI state for the full 30s.

Step 1 moved sessions.list off the gatewayReady gate, so this value now
only matters as a belt-and-braces signal for any future consumer. 5s is
long enough to preserve "event wins when it actually fires on a healthy
boot" while avoiding a multi-second stall whenever the server is slow.

Updated gateway-ready-fallback.test.ts to advance timers around the new
boundary.
2026-04-24 17:04:10 +08:00
Haze
a3d5b0555f perf(gateway): gate sessions.list on state=running instead of gatewayReady
The maybeLoadSessions() guard previously waited for status.gatewayReady
to become true, which is driven by the server-side gateway.ready event
and backed by a 30s fallback timer in GatewayManager. In practice,
OpenClaw's plugin bootstrap often exceeds that window, so the fallback
fired and users stared at the loading state for ~30s after the WS
handshake had already completed.

sessions.list is a plain RPC — it needs the handshake to be done, not
plugins to be up. Gate it on state === 'running' so the session list is
fetched immediately after handshake completion. Existing throttling via
LOAD_SESSIONS_MIN_INTERVAL_MS still prevents spam on state flaps.
2026-04-24 17:03:05 +08:00
Haze
4271419abb 0.3.11 (#908) 2026-04-24 15:44:28 +08:00
paisley
01fd010a0e fix(browser): soften aggressive retry hint and add anti-hallucination prompts (#910) 2026-04-24 14:15:47 +08:00
Haze
f893f2b21b feat(provider): add DeepSeek provider with configuration and icon support (#907) 2026-04-24 11:41:47 +08:00
Felix
ae9af725b2 optimize: skills page structure (#905) 2026-04-24 10:26:33 +08:00
Haze
42a26c41a2 fix(chat): execution graph status error (#903) 2026-04-24 10:03:17 +08:00
Haze
31d4531327 fix(chat): dedupe optimistic user message against Gateway-prefixed echo (#887)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-04-23 20:40:59 +08:00
Haze
430d1d0603 style(chat): make reply bubble table headers transparent + bold in light theme (#902) 2026-04-23 19:59:29 +08:00
paisley
5137e706c9 perf: speed up initial chat, channels, skills, and cron loading (#901) 2026-04-23 18:49:47 +08:00
paisley
4b14f977fa chore: remove brave-web-search skill (#900) 2026-04-23 18:20:58 +08:00
paisley
1b75fec71c fix(gateway): only sync configured channel plugins and cleanup unconfigured extensions (#898) 2026-04-23 17:30:53 +08:00
Haze
956e943072 feat(model): update Kimi model references from k2.5 to k2.6 across the application (#897) 2026-04-23 14:23:29 +08:00
Tao Yiping
d0c79f6a0a feat(chat): optimize ui for execution graph card (#885) 2026-04-23 11:49:54 +08:00
paisley
eda34ad9ce feat: show OpenClaw sidebar entry only in developer mode (#892) 2026-04-22 17:42:27 +08:00
paisley
c29ff4dd33 fix(chat): tighten runtime internal-message filtering and add targeted tests (#891) 2026-04-22 17:23:57 +08:00
Felix
36282fce35 feat(dependencies): add tar package to dependencies and update lockfile (#890) 2026-04-22 14:25:12 +08:00
paisley
285f8202c7 Update workspace agent file (#889) 2026-04-22 13:16:48 +08:00
Haze
1ed9f77a29 feat(chat): render LaTeX math formulas in assistant messages (#886)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-04-22 12:38:46 +08:00
Haze
92144ab639 feat(release): v0.3.10 tag commit (#881) 2026-04-20 20:57:35 +08:00
Haze
9a1575114d fix(chat): thinking execution graph (#880) 2026-04-20 20:53:26 +08:00
Haze
7fa4852c1d fix(chat): separate response and thinking messages (#878)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: paisley <8197966+su8su@users.noreply.github.com>
2026-04-20 15:22:09 +08:00
Haze
1b2dccee6e refactor(chat): execution graph optimize (#873)
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-04-19 19:36:33 +08:00
paisley
2f03aa1fad fix(channels): restore dingtalk multi-account support (#874) 2026-04-19 17:39:13 +08:00
paisley
3a424ef692 fix(ui): hide recoverable gateway RPC timeouts from chat interface (#875) 2026-04-19 17:38:51 +08:00
Haze
24b43335f8 fix(chat): prevent duplicate renderer requests and thinking messages (#870)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-04-18 15:23:16 +08:00
Haze
6d67a77633 feat(openclaw): upgrade openclaw version 4.15 (#866) 2026-04-17 21:05:34 +08:00
Haze
4ac4e12aad style(channels): align status indicator with Models card style (#867)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-04-17 19:13:31 +08:00
paisley
48415db990 feat(setup): remove AI provider configuration step from onboarding wizard (#863) 2026-04-16 19:09:15 +08:00
paisley
396e9e0b03 style(channels): simplify channel status indicators (#862) 2026-04-16 17:25:25 +08:00
Haze
b884db629e feat(plugin): support enterprise extension (#861) 2026-04-16 17:15:25 +08:00
paisley
2fefbf3aba feat: default browser ssrfPolicy to allow private network access (#860) 2026-04-16 14:57:27 +08:00
Lingxuan Zuo
1f39d1a8a7 Add channel health diagnostics and gateway recovery fixes (#855) 2026-04-15 13:51:02 +08:00
paisley
6acd8acf5a release v0.3.9 (#854) 2026-04-14 17:52:55 +08:00
paisley
a20a97ad83 fix feishu plugin conflict (#852) 2026-04-14 17:47:58 +08:00
Haze
30bd8c08f9 feat(gateway): enhance gateway readiness handling and batch sync configuration (#851)
Co-authored-by: paisley <8197966+su8su@users.noreply.github.com>
2026-04-14 15:42:37 +08:00
Tao Yiping
758a8f8c94 support reasoning agentid by accountId or session for cron (#847) 2026-04-14 14:52:47 +08:00
paisley
54ec784545 fix feishu conflict (#850) 2026-04-14 13:31:25 +08:00
Haze
03c40985e1 feat(version): upgrade openclaw version 4.11 (#845) 2026-04-13 19:11:28 +08:00
Octopus
5482acd43d fix(providers): add Moonshot (Global) provider for api.moonshot.ai endpoint (#839)
Co-authored-by: octo-patch <octo-patch@github.com>
2026-04-13 18:17:29 +08:00
Lingxuan Zuo
b2c478d554 Fix multi-account channel binding drift for #836 (#841) 2026-04-13 15:30:13 +08:00
Lingxuan Zuo
4ff6861042 Fix startup chat history recovery for Issue #816 (#821) 2026-04-12 15:30:11 +08:00
Tao Yiping
87ab12849c feat(cron): allow users to associate cron jobs with specific agents (#835) 2026-04-12 11:51:29 +08:00
Lingxuan Zuo
49518300dc Fix provider API key validation trimming (#810) 2026-04-10 15:15:29 +08:00
AlexZander85
66b2ddb2dc feat(i18n): add Russian (ru) localization support (#798) 2026-04-10 13:47:42 +08:00
paisley
fc9e37c4a3 release 0.3.8 (#813) 2026-04-09 18:55:11 +08:00
paisley
467fcf7e92 Upgrade openclaw to 4.9 (#804) 2026-04-09 18:51:06 +08:00
Haze
96c9f6fe5b release(version): v0.3.7 (#799) 2026-04-08 21:38:11 +08:00
Haze
d03902dd4d fix(feishu): feishu connector name validate (#797)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Haze <hazeone@users.noreply.github.com>
2026-04-08 19:16:15 +08:00