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