Peter Steinberger
e955d574b2
refactor: move memory tooling into memory-core extension
2026-03-26 22:00:13 +00:00
Peter Steinberger
2fc017788c
test: reduce remaining clone seams
2026-03-26 20:01:01 +00:00
Peter Steinberger
8f1716ae5a
refactor: share slack and telegram action helpers
2026-03-26 19:07:35 +00:00
Peter Steinberger
4069844795
refactor: share discord outbound session routing
2026-03-26 18:51:02 +00:00
Peter Steinberger
e774fe1286
refactor: share browser and sandbox helpers
2026-03-26 18:43:57 +00:00
Peter Steinberger
cca577a0cc
refactor: share plugin setup helpers
2026-03-26 18:34:51 +00:00
Peter Steinberger
e7e4fbcab9
test: dedupe secrets and guardrail fixtures
2026-03-26 17:39:58 +00:00
Peter Steinberger
d9a7dcec4b
test: share matrix migration fixtures
2026-03-26 16:25:23 +00:00
Peter Steinberger
65a1afb9df
test: share redact and approval fixtures
2026-03-26 15:23:12 +00:00
Jacob Tomlinson
464e2c10a5
ACP: sanitize terminal tool titles ( #55137 )
...
* ACP: sanitize terminal tool titles
Co-authored-by: nexrin <268879349+nexrin@users.noreply.github.com >
* Config: refresh config baseline and stabilize restart pid test
---------
Co-authored-by: nexrin <268879349+nexrin@users.noreply.github.com >
2026-03-26 14:12:24 +00:00
pomelo
dad68d319b
Remove Qwen OAuth integration (qwen-portal-auth) ( #52709 )
...
* Remove Qwen OAuth integration (qwen-portal-auth)
Qwen OAuth via portal.qwen.ai is being deprecated by the Qwen team due
to traffic impact on their primary Qwen Code user base. Users should
migrate to the officially supported Model Studio (Alibaba Cloud Coding
Plan) provider instead.
Ref: https://github.com/openclaw/openclaw/issues/49557
- Delete extensions/qwen-portal-auth/ plugin entirely
- Remove qwen-portal from onboarding auth choices, provider aliases,
auto-enable list, bundled plugin defaults, and pricing cache
- Remove Qwen CLI credential sync (external-cli-sync, cli-credentials)
- Remove QWEN_OAUTH_MARKER from model auth markers
- Update docs/providers/qwen.md to redirect to Model Studio
- Update model-providers docs (EN + zh-CN) to remove Qwen OAuth section
- Regenerate config and plugin-sdk baselines
- Update all affected tests
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
* Clean up residual qwen-portal references after OAuth removal
* Add migration hint for deprecated qwen-portal OAuth provider
* fix: finish qwen oauth removal follow-up
---------
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
Co-authored-by: Frank Yang <frank.ekn@gmail.com >
2026-03-26 16:32:34 +08:00
kevinlin-openai
432d5f863c
fix: add slack upload-file action ( #54987 ) (thanks @kevinlin-openai)
...
* feat(slack): add upload-file action
Co-authored-by: Codex <noreply@openai.com >
* fix(slack): guard upload-file routing
Co-authored-by: Codex <noreply@openai.com >
* fix(slack): tighten upload-file validation
---------
Co-authored-by: kevinlin-openai <kevin@dendron.so >
Co-authored-by: Codex <noreply@openai.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-26 13:37:58 +05:30
Devin Robison
6a79324802
Filter untrusted CWD .env entries before OpenClaw startup ( #54631 )
...
* Filter untrusted CWD .env entries before OpenClaw startup
* Add missing test file
* Fix missing and updated files
* Address feedback
* Feedback updates
* Feedback update
* Add test coverage
* Unit test fix
2026-03-25 15:49:26 -06:00
Tak Hoffman
79fbcfc03b
fix(ci): restore main green
2026-03-25 16:17:42 -05:00
Joseph Krug
d81593c6e2
fix: trigger compaction on LLM timeout with high context usage ( #46417 )
...
Merged via squash.
Prepared head SHA: 619bc4c1fa
Co-authored-by: joeykrug <5925937+joeykrug@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-25 12:51:36 -07:00
Tak Hoffman
6efc4e8ef2
test: fix windows tmp root assertions
2026-03-25 13:44:54 -05:00
Devin Robison
b7d70ade3b
Fix/telegram writeback admin scope gate ( #54561 )
...
* fix(telegram): require operator.admin for legacy target writeback persistence
* Address claude feedback
* Update extensions/telegram/src/target-writeback.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Remove stray brace
* Add updated docs
* Add missing test file, address codex concerns
* Fix test formatting error
* Address comments, fix tests
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-25 12:12:09 -06:00
chenxingzhen
4ae4d1fabe
fix: mid-turn 429 rate limit silent no-reply and context engine registration failure ( #50930 )
...
Merged via squash.
Prepared head SHA: eea7800df3
Co-authored-by: infichen <13826604+infichen@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-25 10:43:08 -07:00
Devin Robison
c2a2edb329
Fix local copied package installs honoring staged project .npmrc ( #54543 )
2026-03-25 09:59:33 -06:00
Peter Steinberger
ea08f2eb8c
fix(runtime): support Node 22.14 installs
2026-03-25 06:22:18 -07:00
Peter Steinberger
66c88b4c77
fix(update): preflight npm target node engine
2026-03-25 06:01:20 -07:00
Peter Steinberger
c92002e1de
fix(media): align outbound media access with fs policy
2026-03-25 05:50:21 -07:00
Ayaan Zaidi
ee0dcaa7b0
fix: unify log timestamp offsets ( #38904 ) (thanks @sahilsatralkar)
2026-03-25 16:06:33 +05:30
w-sss
247f82119c
fix: improve Telegram 403 membership delivery errors ( #53635 ) (thanks @w-sss)
...
* fix(telegram): improve error messages for 403 bot not member errors
- Detect 403 'bot is not a member' errors specifically
- Provide actionable guidance for users to fix the issue
- Fixes #48273 where outbound sendMessage fails with 403
Root cause:
When a Telegram bot tries to send a message to a channel/group it's not
a member of, the API returns 403 'bot is not a member of the channel chat'.
The error message was not clear about how to fix this.
Fix:
1. Detect 403 errors in wrapTelegramChatNotFoundError
2. Provide clear error message explaining the issue
3. Suggest adding the bot to the channel/group
* fix(telegram): fix regex precedence for 403 error detection
- Group alternatives correctly: /403.*(bot.*not.*member|bot was blocked)/i
- Require 403 for both alternatives (previously bot.*blocked matched any error)
- Update error message to cover both scenarios
- Fixes Greptile review feedback
* fix(telegram): correct regex alternation precedence for 403 errors
- Fix: /403.*(bot.*not.*member|bot was blocked)/ → /403.*(bot.*not.*member|bot.*blocked)/
- Ensures 403 requirement applies to both alternatives
- Fixes Greptile review comment on PR #48650
* fix(telegram): add 'bot was kicked' to 403 error regex and message
* fix(telegram): preserve membership delivery errors
* fix: improve Telegram 403 membership delivery errors (#53635 ) (thanks @w-sss)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-25 10:59:29 +05:30
Peter Steinberger
46d3617d25
refactor: split gateway plugin bootstrap and registry surfaces
2026-03-24 22:16:26 -07:00
Josh Avant
10161c2d79
Plugins: enforce terminal hook decision semantics for tool/message guards ( #54241 )
...
* Plugins: enforce terminal hook decision policies
* Tests: assert terminal hook behavior in integration paths
* Docs: clarify terminal hook decision semantics
* Docs: add hook guard semantics to plugin guides
* Tests: isolate outbound format label expectations
* changelog
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
---------
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-03-25 00:11:13 -05:00
VACInc
1c9f62fad3
fix(gateway): restart sentinel wakes session after restart and preserves thread routing ( #53940 ) thanks @VACInc
...
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com >
Co-authored-by: Val Alexander <68980965+BunsDev@users.noreply.github.com >
2026-03-24 23:47:21 -05:00
Peter Steinberger
1a7914521b
test: speed up infra and shared suites
2026-03-24 23:45:33 +00:00
Peter Steinberger
6f6468027a
refactor: dedupe test and runtime seams
2026-03-24 23:33:30 +00:00
Devin Robison
1d7cb6fc03
fix: close sandbox media root bypass for mediaUrl/fileUrl aliases ( #54034 )
...
* fix: close sandbox media root bypass for mediaUrl/fileUrl aliases
* Address Greptile feedback
* Fix windows test case failure
2026-03-24 17:28:53 -06:00
Peter Steinberger
bcd61f0a38
refactor: dedupe helpers and source seams
2026-03-24 21:00:36 +00:00
Peter Steinberger
4029ce738c
test: speed up targeted unit suites
2026-03-24 19:36:08 +00:00
Peter Steinberger
a4327ad544
refactor: dedupe tests and harden suite isolation
2026-03-24 19:16:19 +00:00
Vincent Koc
a9da52da50
refactor(core): make event and queue state lazy
2026-03-24 11:45:27 -07:00
Vincent Koc
e4ce1d9a0e
fix(runtime): stabilize dist runtime artifacts ( #53855 )
...
* fix(build): stabilize lazy runtime entry paths
* fix(runtime): harden bundled plugin npm staging
* docs(changelog): note runtime artifact fixes
* fix(runtime): stop trusting npm_execpath
* fix(runtime): harden Windows npm staging
* fix(runtime): add safe Windows npm fallback
2026-03-24 11:37:39 -07:00
Peter Steinberger
a37ed72829
test: preserve child_process exports in restart bun mock
2026-03-24 17:24:18 +00:00
Peter Steinberger
398d58fb8a
fix: stabilize logging config imports
2026-03-24 17:21:28 +00:00
Peter Steinberger
9f47892bef
refactor: centralize google API base URL handling
2026-03-24 10:01:22 -07:00
Peter Steinberger
781295c14b
refactor: dedupe test and script helpers
2026-03-24 15:48:35 +00:00
Peter Steinberger
d884676dd2
test: speed up whatsapp and shared test suites
2026-03-24 15:16:18 +00:00
Sally O'Malley
91adc5e718
feat(cli): support targeting running containerized openclaw instances ( #52651 )
...
Signed-off-by: sallyom <somalley@redhat.com >
2026-03-24 10:17:17 -04:00
Peter Steinberger
b1b162fcdb
test: harden threaded channel follow-ups
2026-03-24 09:24:29 +00:00
Peter Steinberger
e7817ad12a
test: continue vitest threads migration
2026-03-24 08:37:00 +00:00
Peter Steinberger
0f84aac487
fix: stabilize matrix and teams ci assertions
2026-03-24 05:29:05 +00:00
Peter Steinberger
2e1c88b728
refactor: tighten embedded prompt and sidecar guards
2026-03-23 22:09:22 -07:00
Peter Steinberger
ea62655e19
fix: land cron heartbeat prompt suppression ( #53152 ) (thanks @Protocol-zero-0)
2026-03-23 21:55:34 -07:00
Peter Steinberger
e28e520379
refactor: simplify provider inference and zoned parsing helpers
2026-03-23 21:22:30 -07:00
Peter Steinberger
0857447a5d
fix: reject nonexistent zoned cron at-times
2026-03-23 21:14:55 -07:00
Peter Steinberger
ce49d8bca9
fix: verify global npm correction installs
2026-03-23 21:04:08 -07:00
Peter Steinberger
483dc90f05
test: harden linux runtime smoke guards
2026-03-24 03:23:52 +00:00