Commit Graph

27800 Commits

Author SHA1 Message Date
Shakker
4b6c43af48 test: check media path resolver options 2026-05-11 15:37:51 +01:00
Shakker
cd5018b40e test: check export session arguments 2026-05-11 15:36:41 +01:00
Shakker
99bac079ed test: check models command workspace args 2026-05-11 15:35:50 +01:00
Shakker
8f66462125 test: verify restart sentinel payloads 2026-05-11 15:34:48 +01:00
Peter Steinberger
46e150ea68 test: tighten plugin sdk assertions 2026-05-11 15:33:31 +01:00
Shakker
69f4639aac test: check stop target payloads 2026-05-11 15:33:09 +01:00
Shakker
9139ce0652 test: inspect reply dispatch hook inputs 2026-05-11 15:32:00 +01:00
Shakker
e521f56116 test: check directive alias parsing 2026-05-11 15:30:04 +01:00
YBoy
ff8bc72c81 fix: consolidate gateway doctor service notes (#78688)
Fixes #80287.

Co-authored-by: YB0y <brianandez6@gmail.com>
2026-05-11 15:29:14 +01:00
Shakker
f9c3d683cd test: cover queued followup retargeting 2026-05-11 15:28:54 +01:00
Peter Steinberger
f994094cb4 fix(cron): sanitize target-last heartbeat wakes 2026-05-11 15:28:39 +01:00
Shakker
ec5a97467c test: cover reply routing decisions 2026-05-11 15:28:05 +01:00
Peter Steinberger
8ad588d9e6 test: tighten isolated cron assertions 2026-05-11 15:27:33 +01:00
Shakker
3255d2e09d test: check session fork headers 2026-05-11 15:27:15 +01:00
Shakker
754450cbb9 test: verify transcript replay records 2026-05-11 15:26:14 +01:00
Shakker
c4b551f85e test: check capability cli error text 2026-05-11 15:25:22 +01:00
Shakker
a4b95296ed test: exercise command policy resolvers 2026-05-11 15:22:20 +01:00
Peter Steinberger
0ddf10ff89 test: tighten cron assertions 2026-05-11 15:22:15 +01:00
Shakker
bc6b34a67a test: check mcp config messages 2026-05-11 15:19:34 +01:00
Peter Steinberger
601b70557d test: tighten config validation assertions 2026-05-11 15:17:26 +01:00
Shakker
17c75df670 test: check config guard error output 2026-05-11 15:16:59 +01:00
Peter Steinberger
9074f08fc3 test: tighten channel assertion checks 2026-05-11 15:15:12 +01:00
Shakker
5ad73cb995 test: verify default account warning copy 2026-05-11 15:14:43 +01:00
Shakker
6c19f389a8 test: spell out gateway send responses 2026-05-11 15:13:07 +01:00
Shakker
50a9f9a3ce test: cover exec safe bin warning text 2026-05-11 15:11:20 +01:00
Gabriel
83ffc1f47a fix(gateway): dedupe inflight outbound requests (#68341)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-11 15:10:21 +01:00
Peter Steinberger
281a88d6df test: tighten cli gateway assertions 2026-05-11 15:08:14 +01:00
Peter Steinberger
3dd2266723 test: tighten cli smoke assertions 2026-05-11 15:04:49 +01:00
Peter Steinberger
02eff52f16 test(plugin-sdk): align compact progress draft expectation 2026-05-11 15:04:30 +01:00
Peter Steinberger
f3f1509ee9 fix(plugin-sdk): restore compact progress draft cap 2026-05-11 15:04:30 +01:00
Shakker
1317779a05 test: pin gh config discovery results 2026-05-11 15:02:11 +01:00
Peter Steinberger
6b2b7d12e5 test: tighten media understanding assertions 2026-05-11 15:01:19 +01:00
Shakker
54edf9513b test: pin cron channel delivery calls 2026-05-11 15:00:20 +01:00
Peter Steinberger
2858afd4cf test: tighten config session assertions 2026-05-11 14:59:09 +01:00
Peter Steinberger
4615f08817 fix: harden gh config discovery 2026-05-11 14:57:42 +01:00
tmimmanuel
72b5cddbe1 fix(doctor): surface GH_CONFIG_DIR hint when gh auth lives at a different HOME
When OpenClaw spawns an agent shell with a different HOME than the user
that ran `gh auth login` (per-agent codex homes, systemd User= services,
sudo'd shells), `gh` looks at $XDG_CONFIG_HOME/gh or $HOME/.config/gh and
reports "not logged into any GitHub hosts" even though the operator HOME
has a valid hosts.yml.

Add `detectGhConfigDirMismatch` in src/agents/skills/gh-config-discovery.ts:
a pure helper that takes process env plus a fileExists probe and returns
either "auth-discoverable", "no-known-auth", "explicit-gh-config-dir-set",
or a "mismatch" with the alternate config dir, the host file path, and a
suggested GH_CONFIG_DIR value to set on the gateway service environment.
The helper checks `/root`, `$SUDO_USER`'s home, and `$USER`'s home as
candidate operator homes on Linux/macOS, and uses platform-specific path
joins so the same logic works on Windows test runners.

Wire the helper into the doctor skills health flow: when the github skill
is reported and the gh binary is present, call the discovery helper and,
on a mismatch, print a "GitHub CLI" note with the operator-actionable
fix instructions before any unavailable-skill repair prompt.

Update skills/github/SKILL.md with a troubleshooting subsection that
documents GH_CONFIG_DIR for service/agent environments where HOME differs
from the user that ran `gh auth login`.

Fixes #78063.
2026-05-11 14:57:42 +01:00
Shakker
0abf14777d test: pin cron model switch retry 2026-05-11 14:57:04 +01:00
Peter Steinberger
0c2296015c test: tighten cli assertion checks 2026-05-11 14:56:43 +01:00
Peter Steinberger
511d706cf5 test: tighten crestodian assertions 2026-05-11 14:54:32 +01:00
Feelw00
c1b59a95bf fix(cron): mark manual cron runs active (#78243)
Summary:
- Mark forced/manual cron runs active in the task registry until completion and clear them in finally.
- Add regression coverage for manual run success and failure cleanup.
- Update changelog for #78243 and apply a small lint-only test fix needed after rebasing on latest main.

Fixes #78233

Verification:
- pnpm test src/plugin-sdk/channel-streaming.test.ts src/cron/active-jobs-manual-run.test.ts
- pnpm run lint:extensions:bundled
- pnpm test extensions/codex/src/app-server/side-question.test.ts
- CI: https://github.com/openclaw/openclaw/actions/runs/25673031776

Co-authored-by: Feelw00 <dhrtn1006@naver.com>
2026-05-11 14:40:21 +01:00
Peter Steinberger
a3c7fea512 fix(agents): avoid Pi resource discovery stalls
Co-authored-by: dataCenter430 <titan032000@gmail.com>
2026-05-11 14:25:55 +01:00
Shakker
1f8d29e532 test: pin command registry checks 2026-05-11 14:25:18 +01:00
Peter Steinberger
03d9bc14b5 test: fix progress draft truncation expectations 2026-05-11 14:18:23 +01:00
Shakker
c214a5f262 test: pin self-hosted provider setup 2026-05-11 14:17:08 +01:00
Shakker
6462472358 test: pin session schema success 2026-05-11 14:14:28 +01:00
Shakker
31f128e86f test: pin tailscale bind diagnostics 2026-05-11 14:13:27 +01:00
Shakker
1dddb502a8 test: pin config schema fields 2026-05-11 14:12:14 +01:00
Shakker
98f07a5387 test: pin cron delivery targets 2026-05-11 14:09:54 +01:00
Shakker
19a040ee88 test: pin cron session entries 2026-05-11 14:08:06 +01:00
Feelw00
137d566422 fix(auto-reply): guard FOLLOWUP_QUEUES delete against late drain finally
Regression: the drain IIFE finally (`drain.ts:263-271`) performed an
unconditional `FOLLOWUP_QUEUES.delete(key)` + `clearFollowupDrainCallback(key)`
using only the key, without checking whether the captured `queue` still matched
the map entry. Under the `/stop` + immediate followup sequence, a late-returning
D1 finally could delete the map entry for a fresh Q2 and orphan it until the
next enqueue.

Fix: only remove the map entry and drain callback when `FOLLOWUP_QUEUES.get(key)
=== queue`. Mirrors the identity pattern noted in
`subagent-announce-queue.ts:62-64`.

Adds `src/auto-reply/reply/queue/drain.identity-guard.test.ts` which uses real
`enqueueFollowupRun` / `scheduleFollowupDrain` / `clearSessionQueues` (no
module mocks) and a Deferred gate to park D1 inside `runFollowup`. The test
uses `restartIfIdle=false` on the Q2 enqueue so D1's finally is the only
mutator that can touch the map entry, producing deterministic pre/post-fix
differentiation:
  pre-fix  : get(key) === undefined (Q2 orphaned), depth === 0
  post-fix : get(key) === Q2,                     depth === 1

AI-assisted (fully tested). 1082 auto-reply/reply tests pass, pnpm check +
pnpm build clean.
2026-05-11 14:07:58 +01:00