Commit Graph

49258 Commits

Author SHA1 Message Date
kinjitakabe
ab719c2f82 fix(telegram/groups): treat empty accounts.<id>.groups: {} as unspecified in single-account setups
`mergeTelegramAccountConfig` and the generic `resolveChannelGroups` both used
`accountGroups ?? channelConfig.groups` to fall back to root group allowlists,
which only catches the `undefined` case. An explicit empty `{}` survives
nullish coalescing and overrides the root allowlist with an empty allowlist,
which then pairs with the default `groupPolicy: "allowlist"` to silently
deny every group update — the symptom reported in #79427.

Treat an explicit empty `{}` the same as undefined for fallback purposes in
single-account setups (one or zero configured accounts). Multi-account setups
keep current semantics so per-account explicit-empty groups still scope
disable a single account without affecting its siblings. The explicit way to
block all groups for any account remains `groupPolicy: "disabled"`, which
this PR does not touch.

Fixes #79427.
2026-05-13 16:09:13 +01:00
Peter Steinberger
d540512d00 fix(gateway): satisfy node registry lint 2026-05-13 16:06:37 +01:00
Peter Steinberger
babd48b6cd docs(changelog): note v4 chat delta protocol 2026-05-13 16:06:37 +01:00
Peter Steinberger
a6497b1759 fix(gateway): avoid duplicate v4 deltas 2026-05-13 16:06:37 +01:00
Peter Steinberger
150bebcd0c fix(gateway): require v4 chat deltas 2026-05-13 16:06:37 +01:00
samzong
63724ddcfd fix(sdk): preserve replayed chat snapshots 2026-05-13 16:06:37 +01:00
samzong
10315ce215 fix(gateway): add incremental chat delta payloads 2026-05-13 16:06:37 +01:00
Vincent Koc
2a67a7f65e fix(plugins): prune managed peers on uninstall 2026-05-13 22:53:58 +08:00
Peter Steinberger
0513b285ef docs: update crabbox skill guidance 2026-05-13 15:46:50 +01:00
Pavan Kumar Gondhi
418d7afb33 gateway: pass Talk session scope to resolver [AI] (#81379)
* fix: pass talk session visibility scope

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing claude review

* addressing ci

* docs: add changelog entry for PR merge
2026-05-13 20:09:03 +05:30
Peter Steinberger
4d8aec8210 fix(plugins): attribute runtime config deprecations (#81425) (thanks @BKF-Gitty)
Co-authored-by: BKF-Gitty <bandark@mac.com>
2026-05-13 15:37:43 +01:00
Altay
a40499b21a fix(test): isolate auth profile secrets in test state (#81393)
Merged via squash.

Prepared head SHA: fde8787cb7
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-13 17:34:45 +03:00
Peter Steinberger
210c7c1b85 fix: preserve SGLang reasoning replay (#81091) 2026-05-13 15:28:07 +01:00
AI-HUB
51cd3cddeb fix(sglang): preserve reasoning replay history 2026-05-13 15:28:07 +01:00
Shakker
402b0df3b6 fix: preserve owned plugin dependencies during peer repair 2026-05-13 15:26:40 +01:00
Shakker
f4cb20300f fix: harden managed plugin peer recovery 2026-05-13 15:26:40 +01:00
Shakker
6e5042cd62 fix: avoid rescanning repaired plugin peers 2026-05-13 15:26:40 +01:00
Shakker
18ca285ed6 fix: preserve managed plugin peer dependencies 2026-05-13 15:26:40 +01:00
Peter Steinberger
1c28e4a0bb test: add docker live subagent announce proof 2026-05-13 15:21:37 +01:00
Peter Steinberger
0b8ee4616d fix(github-copilot): support Gemini image understanding
Fixes Copilot image understanding by exchanging OAuth tokens for Copilot API tokens, routing Copilot Gemini image requests through Chat Completions, and sending the prompt in user content with Copilot vision headers.

Real behavior proof:
- Old Responses route with real Copilot key reproduced `400 model gemini-3.1-pro-preview does not support Responses API`.
- Fixed route with the same real Copilot key returned `Cat`.
- Final CLI live smoke returned `ok: true` and `text: Cat` for `github-copilot/gemini-3.1-pro-preview`.

Verification:
- pnpm test src/media-understanding/image.test.ts extensions/github-copilot/models.test.ts extensions/github-copilot/stream.test.ts src/agents/pi-hooks/compaction-safeguard.test.ts -- --reporter=verbose
- pnpm check:changed via Blacksmith Testbox tbx_01krgt56pqmft8txekt017wke6, Actions run https://github.com/openclaw/openclaw/actions/runs/25803926150, exit 0.

Refs #80393, #80442.

Co-authored-by: Yang Haoyu <150496764+afunnyhy@users.noreply.github.com>
2026-05-13 15:20:27 +01:00
Peter Steinberger
6160e7a411 fix(gateway): hide unapproved node surfaces
Co-authored-by: samzong <samzong.lu@gmail.com>
2026-05-13 15:13:44 +01:00
Peter Steinberger
53d007bc87 refactor(media): centralize bounded remote downloads
Co-authored-by: samzong <samzong.lu@gmail.com>
2026-05-13 15:04:49 +01:00
Peter Steinberger
218156447c docs: add config mutation changelog 2026-05-13 15:00:07 +01:00
Peter Steinberger
ab3d61813a fix: rebase synthetic browser profiles 2026-05-13 15:00:07 +01:00
Peter Steinberger
23344fdb61 fix: avoid stale config mutation rebases 2026-05-13 15:00:07 +01:00
Peter Steinberger
756379b11d refactor: centralize config mutations 2026-05-13 15:00:07 +01:00
Peter Steinberger
c4c0b65b80 fix: rebase browser profile mutations 2026-05-13 15:00:07 +01:00
Peter Steinberger
ec998d1e95 fix: clean current dependency checks 2026-05-13 15:00:07 +01:00
Peter Steinberger
07c5e2465b fix: handle rebased config mutation races 2026-05-13 15:00:07 +01:00
Peter Steinberger
743cbc2f13 fix: mark slack channel system events untrusted 2026-05-13 15:00:07 +01:00
Peter Steinberger
66cce180c3 test: align config mutation mocks 2026-05-13 15:00:07 +01:00
Peter Steinberger
f3327ac30b fix: clean production config mutation checks 2026-05-13 15:00:07 +01:00
Peter Steinberger
2fe39ce949 refactor: rebase runtime config writes 2026-05-13 15:00:07 +01:00
Peter Steinberger
fb3aa155be fix: remove redundant config clone casts 2026-05-13 15:00:07 +01:00
Peter Steinberger
2e983e47df fix: serialize config mutation writes 2026-05-13 15:00:07 +01:00
Peter Steinberger
488a3d8e52 fix(ci): refresh stale metadata ownership 2026-05-13 14:59:47 +01:00
Peter Steinberger
5ac6b600de docs(channels): document bot loop protection 2026-05-13 14:59:47 +01:00
Peter Steinberger
4785a073d6 feat(channels): add generic bot loop protection 2026-05-13 14:59:47 +01:00
Peter Steinberger
d00e9eba65 docs: add ds4 provider guide 2026-05-13 14:45:34 +01:00
Peter Steinberger
96c0309db9 test: fix queue settings session fixtures 2026-05-13 14:24:45 +01:00
Peter Steinberger
714f62f976 test: add live subagent steering proof 2026-05-13 14:24:45 +01:00
Peter Steinberger
3cef9a65d3 fix: use in-process subagent announce handoff 2026-05-13 14:24:45 +01:00
stain lu
f1381b5312 fix(telegram): limit startup probes (#80986)
## Summary

- Limit Telegram startup `getMe` probes to two concurrent accounts.
- Add regression coverage for queued startup and queued abort behavior.
- Document the multi-account startup bound and add changelog credit.

## Verification

- `pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/channels/telegram.md extensions/telegram/src/channel.ts extensions/telegram/src/channel.gateway.test.ts extensions/telegram/src/startup-probe-limiter.ts`
- `node scripts/format-docs.mjs --check docs/channels/telegram.md`
- `git diff --check HEAD~1..HEAD`
- `env OPENCLAW_TEST_HEAVY_CHECK_LOCK_HELD=1 OPENCLAW_VITEST_MAX_WORKERS=1 pnpm --config.manage-package-manager-versions=false test extensions/telegram/src/channel.gateway.test.ts src/gateway/server-channels.test.ts`
- `env OPENCLAW_TSGO_HEAVY_CHECK_LOCK_HELD=1 pnpm --config.manage-package-manager-versions=false run tsgo:extensions`
- `env OPENCLAW_TSGO_HEAVY_CHECK_LOCK_HELD=1 pnpm --config.manage-package-manager-versions=false run tsgo:extensions:test`
- GitHub CI mostly green on `2d389e1010742efa884eacea520afd588d0b898f`; `check-test-types` red in unrelated `src/auto-reply/reply/queue/settings.test.ts` outside this PR's diff.

Co-authored-by: stainlu <stainlu@newtype-ai.org>
2026-05-13 14:23:32 +01:00
Pavan Kumar Gondhi
b17e77a22b Require approval for setup-code device pairing [AI] (#81292)
* fix: require approval for setup-code bootstrap pairing

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing ci

* addressing ci

* docs: add changelog entry for PR merge
2026-05-13 18:48:44 +05:30
Peter Steinberger
05bef5db20 docs: update changelog for docker setup path fix (#81105) 2026-05-13 14:13:57 +01:00
brokemac79
3cf296185f fix(docker): pin setup cli container paths 2026-05-13 14:13:57 +01:00
Jason
70df2b8fe2 feat: steer mid-turn prompts by default (#77023)
Summary:
- Default active-run queueing to steer while preserving explicit followup/collect modes.
- Keep `/steer` fallback behavior and migrate retired queue steering config.
- Await Codex app-server steering acceptance so rejected/aborted steering can fall back safely.
- Route active subagent announcements through intentional acceptance-aware steering, with legacy queue helpers deprecated for delivery decisions.

Verification:
- git diff --check
- rg -n "^(<<<<<<<|=======|>>>>>>>|\|\|\|\|\|\|\|)" CHANGELOG.md docs src extensions || true
- pnpm test src/agents/subagent-announce-dispatch.test.ts src/agents/subagent-announce-delivery.test.ts src/agents/pi-embedded-runner/runs.test.ts src/agents/subagent-announce.format.e2e.test.ts src/agents/subagent-announce.test.ts
- pnpm test src/auto-reply/reply/commands-steer.test.ts src/auto-reply/reply/queue/settings.test.ts src/auto-reply/reply/queue-policy.test.ts src/auto-reply/reply/agent-runner.runreplyagent.e2e.test.ts src/auto-reply/reply/get-reply-run.media-only.test.ts extensions/codex/src/app-server/run-attempt.test.ts -- -t "queued steering|explicit all-mode steering|flushes pending default queued steering|rejects queued steering|resolveActiveRunQueueAction|resolveQueueSettings|handleSteerCommand"

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-05-13 14:00:11 +01:00
Peter Steinberger
1c5c72ea24 docs: update changelog for chat action overlap (#81244) 2026-05-13 13:54:30 +01:00
JARVIS-Glasses
3b7181a38b fix(ui): prevent chat actions overlapping replies 2026-05-13 13:54:06 +01:00
Peter Steinberger
4e34c1aa47 fix(channel): refresh wecom onboarding install (#80390) (thanks @brokemac79) 2026-05-13 13:52:05 +01:00