Commit Graph

32119 Commits

Author SHA1 Message Date
Lucenx9
d8b18f1d96 fix(telegram): avoid wedging callback updates on permanent edit errors 2026-04-18 19:52:31 +01:00
Peter Steinberger
a07b9fc840 test: trim runtime import surfaces 2026-04-18 19:51:22 +01:00
Peter Steinberger
9e27d04dc3 test: narrow agent control mocks 2026-04-18 19:51:22 +01:00
Peter Steinberger
fe0055a1d1 test: dedupe pi tools schema coverage 2026-04-18 19:51:22 +01:00
Peter Steinberger
6ccac3d208 test: optimize skills workspace fixtures 2026-04-18 19:51:22 +01:00
Peter Steinberger
5e7b5cf285 perf: snapshot pi project settings 2026-04-18 19:51:22 +01:00
Peter Steinberger
ec86d0f64a fix: keep google thinking helpers within SDK boundary 2026-04-18 19:46:00 +01:00
Peter Steinberger
5dbfaa15fa refactor: keep ollama compat in extension 2026-04-18 19:42:10 +01:00
Peter Steinberger
d3eeadba94 refactor: drop private channel sdk facades 2026-04-18 19:37:15 +01:00
Peter Steinberger
858a3f72fa fix(agents): keep google compat facades in core 2026-04-18 19:35:18 +01:00
Gustavo Madeira Santana
f6d336935d Agents: keep requester origin inference light 2026-04-18 14:32:53 -04:00
Peter Steinberger
1cc9bc58a2 fix(agents): preserve ollama compat fallbacks 2026-04-18 19:27:43 +01:00
Peter Steinberger
1f1ff0567a refactor(lint): reduce map spread patterns 2026-04-18 19:27:43 +01:00
Peter Steinberger
cc919db83b chore(lint): enable async endpoint handler rule 2026-04-18 19:27:43 +01:00
Peter Steinberger
84aed919a9 fix: restore CI restart and provider compat 2026-04-18 19:24:08 +01:00
Peter Steinberger
162bf51adb refactor(google): move thinking policy into plugin 2026-04-18 19:22:27 +01:00
Peter Steinberger
28fe0296c4 fix: support Gemini latest thinking config 2026-04-18 19:22:27 +01:00
Peter Steinberger
00e613f12d refactor: move provider-specific tests to extensions 2026-04-18 19:17:27 +01:00
Peter Steinberger
7474b52584 fix: respect web search SecretRef credentials 2026-04-18 19:08:50 +01:00
Peter Steinberger
438799e929 fix: log detached service restart attempts 2026-04-18 19:08:36 +01:00
Peter Steinberger
28be124cc1 refactor: centralize restart log conventions 2026-04-18 19:08:35 +01:00
Peter Steinberger
a7e029fde9 refactor: cache provider tool runtimes 2026-04-18 19:05:00 +01:00
lukeboyett
c39314c14a fix(agents): prefer target agent's bound Matrix account for subagent spawns (#67508)
Merged via squash.

Prepared head SHA: 9300111038
Co-authored-by: lukeboyett <46942646+lukeboyett@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-18 14:02:53 -04:00
Peter Steinberger
3f3bc97cd3 chore(lint): enable warning comments rule 2026-04-18 18:55:18 +01:00
Peter Steinberger
235cdb3f81 refactor: remove ollama core facades 2026-04-18 18:53:04 +01:00
Peter Steinberger
6b525023d4 fix: polish Slack thread starter context (#68594) 2026-04-18 18:45:29 +01:00
Peter Steinberger
5cc4426f88 test: align qa multipass pnpm expectation 2026-04-18 18:39:03 +01:00
Peter Steinberger
089e038dfe fix: harden macOS update restart helper (#68492) (thanks @hclsys) 2026-04-18 18:39:03 +01:00
HCL
4a870300dd fix(update-cli): capture macOS launchctl stderr to a log file instead of /dev/null
The macOS restart helper emitted by `openclaw update` (darwin branch of
`prepareRestartScript`) wrote the gateway restart script with every
`launchctl` stderr redirected to `/dev/null` and the final fallback
`kickstart` chained with `|| true`. When bootstrap/kickstart failed
(plist-on-disk race, schema rejection, stale job, bootout recovery
edge cases), the script exited 0, the updater declared success, and
the gateway silently stayed offline.

The reporter saw a ~25 minute production outage before noticing the
messages going unanswered across Telegram/Discord/Feishu.

Route stderr to `~/.openclaw/logs/update-restart.log` via `exec 2>>`,
drop `2>/dev/null` on every launchctl call, and remove the `|| true`
swallow on the fallback kickstart so a genuine failure exits non-zero
and leaves a durable audit trail. Log directory creation is best-effort
via `mkdir -p ... 2>/dev/null || true` since it normally already exists
from the gateway's own logging path. Self-cleanup of the script file
via `rm -f "$0"` is retained because the log, not the script, is the
useful artifact after the fact.

Adds a targeted regression test `captures macOS launchctl stderr to
~/.openclaw/logs/update-restart.log` alongside the existing darwin
restart-script test. The existing test's assertions about the
kickstart/enable/bootstrap fallback chain + self-cleanup all still pass.

Fixes #68486
2026-04-18 18:39:03 +01:00
Peter Steinberger
90c1ab2cef build: add tsgo profiler 2026-04-18 18:39:01 +01:00
Peter Steinberger
16bd427cb6 test: speed apply-patch and exec approval hotspots 2026-04-18 18:33:16 +01:00
Peter Steinberger
e45a50c828 perf: narrow subagent test runtime seams 2026-04-18 18:33:15 +01:00
Peter Steinberger
4180e7cd59 test: dedupe skills and model config coverage 2026-04-18 18:33:15 +01:00
Peter Steinberger
6d776593ea perf: lazy-load skills install extraction seams 2026-04-18 18:33:15 +01:00
Peter Steinberger
df525b90f2 chore(lint): enable unnecessary type parameter rule 2026-04-18 18:31:13 +01:00
Peter Steinberger
630f2bcabe fix: harden published gateway secret placeholders 2026-04-18 18:29:10 +01:00
Coy Geek
106b770c40 Gateway: reject published placeholder tokens 2026-04-18 18:29:10 +01:00
Coy Geek
960bc52e3c fix(install): remove published gateway token placeholder
Co-authored-by: opencode <opencode@users.noreply.github.com>
2026-04-18 18:29:10 +01:00
Peter Steinberger
1a7d89e85b docs: add WeChat channel guide 2026-04-18 18:26:40 +01:00
Peter Steinberger
3d994aa03b docs: clarify tsgo typecheck lanes 2026-04-18 18:24:07 +01:00
Peter Steinberger
72979129fb build: split tsgo core and extension graphs 2026-04-18 18:22:26 +01:00
Peter Steinberger
e11039087c build: add targeted tsgo test graphs 2026-04-18 18:12:44 +01:00
Peter Steinberger
cd2ef0f3a3 chore(lint): enable low-noise rules 2026-04-18 18:09:18 +01:00
Peter Steinberger
07785c6dbc build: split tsgo prod and test graphs 2026-04-18 18:06:29 +01:00
Peter Steinberger
753183e081 build(deps): update workspace dependencies 2026-04-18 18:04:56 +01:00
Peter Steinberger
c95d6049c2 chore(lint): preserve oxlint rule baseline 2026-04-18 18:04:56 +01:00
Peter Steinberger
76891c9cf8 fix: exclude ancestor pids from stale gateway cleanup (#68517) (thanks @openperf) 2026-04-18 18:03:55 +01:00
openperf
8aadca4c3e fix(infra/restart): exclude ancestor pids from stale-gateway cleanup
The stale-gateway cleanup filter already refused to kill process.pid —
acknowledging the invariant that terminating a process whose death
cascades into the caller is never safe. That invariant was applied only
to the caller itself, not to its ancestors, which is why the
openclaw-weixin sidecar triggered an unbounded restart loop: the
sidecar's cleanup SIGTERM'd its parent gateway, the supervisor
restarted the gateway, the gateway re-spawned the sidecar, the cleanup
ran again.

Complete the invariant by excluding the full self+ancestor PID set in
both the lsof (Unix) and PowerShell/netstat (Windows) cleanup paths.
Walk uses process.ppid unconditionally (Node built-in, no spawn) and
/proc/<pid>/status on Linux for transitive ancestors, with graceful
degradation where /proc is unavailable.
2026-04-18 18:03:55 +01:00
Peter Steinberger
aad9a833c0 fix: polish Slack thread fetch diagnostics (#68594) (thanks @martingarramon) 2026-04-18 17:55:05 +01:00
Martin Garramon
6368559c02 chore(scripts): bump slack media.ts fetch-allowlist line numbers
The `lint:tmp:no-raw-channel-fetch` allowlist pins exact line numbers
(scripts/check-no-raw-channel-fetch.mjs:63-65). The previous commit
added `import { logVerbose } from "openclaw/plugin-sdk/runtime-env";`
on line 8 of `extensions/slack/src/monitor/media.ts`, shifting the
three allowlisted raw `fetch()` callsites from 96/115/120 → 97/116/121.
Updates the allowlist to match the new positions. No behavior change —
the same callsites remain allowlisted.
2026-04-18 17:55:05 +01:00