Commit Graph

18274 Commits

Author SHA1 Message Date
Josh Lehman edd17c0eff
fix: harden Discord gateway metadata startup handling 2026-03-12 21:43:49 -07:00
Josh Lehman 0088b1f7b3
fix: harden Discord gateway metadata wrapping
Address PR review feedback by preserving Authorization when fetch init fields are merged into the Discord gateway metadata request and by treating response body read failures as transient wrapped fetch failures. Add a regression test for body stream errors during metadata fetch.

Regeneration-Prompt: |
  Follow up on a Discord gateway startup hardening PR after bot review comments. The code already normalizes plain-text Discord /gateway/bot failures, but two edge cases remained: spreading fetchInit after headers could let a future caller clobber the Bot Authorization header, and response.text() could throw while streaming the body and bypass the wrapper that marks startup failures as transient.
  Keep the fix narrow to the Discord gateway metadata helper and its tests. Preserve existing behavior for successful fetches and existing proxy support, but make sure both request construction and body-read failures stay inside the same wrapped error path so launchd-managed gateways do not exit on these edge cases.
2026-03-12 21:43:49 -07:00
Josh Lehman 013a15d0fd
fix: handle Discord gateway metadata fetch failures
Normalize Discord /gateway/bot startup failures so plain-text upstream 5xx responses do not crash the launchd-managed gateway. Use the same safe fetch path for proxied and non-proxied Discord startup, and expand transient unhandled-rejection detection for the exact upstream-connect error message family.

Regeneration-Prompt: |
  Investigate a launchd-managed OpenClaw gateway restart loop tied to Discord startup. Logs show GatewayPlugin.registerClient calling Discord /gateway/bot and crashing when Discord or an upstream proxy returns a plain-text 503 body like "upstream connect error or disconnect/reset before headers", which then bubbles into an unhandled rejection and exits the whole gateway.
  Keep the change additive and tightly scoped to Discord gateway startup and rejection classification. Preserve existing proxy support, but stop assuming the gateway metadata response is always JSON or HTTP 200. Treat transport and upstream 5xx failures as transient so Discord can retry without killing the entire gateway process. Add regression tests covering both normal metadata fetches and the plain-text 503 body that previously triggered the restart loop.
2026-03-12 21:43:49 -07:00
Ayaan Zaidi 8023f4c701
fix(telegram): thread media transport policy into SSRF (#44639)
* fix(telegram): preserve media download transport policy

* refactor(telegram): thread media transport policy

* fix(telegram): sync fallback media policy

* fix: note telegram media transport fix (#44639)
2026-03-13 10:11:43 +05:30
Peter Steinberger c38e7b0270 test(utils): await temp dir cleanup in async tests 2026-03-13 04:38:46 +00:00
Peter Steinberger 16ececf0a6
chore: bump version to 2026.3.13 2026-03-13 04:38:32 +00:00
Efe Büken 771066d122
fix(compaction): use full-session token count for post-compaction sanity check (#28347)
Merged via squash.

Prepared head SHA: cf4eab1c51
Co-authored-by: efe-arv <259833796+efe-arv@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-12 21:26:30 -07:00
Peter Steinberger 70d7a0854c
chore: update appcast for 2026.3.12 release 2026-03-13 04:26:20 +00:00
Peter Steinberger fc2b796f02 test(proxy): make env proxy tests windows-safe 2026-03-13 04:17:10 +00:00
Peter Steinberger 6472949f25 fix(plugins): normalize bundled provider ids 2026-03-13 04:10:06 +00:00
Cypherm 61d219cb39
feat: show status reaction during context compaction (#35474)
Merged via squash.

Prepared head SHA: 145a7b7c4e
Co-authored-by: Cypherm <28184436+Cypherm@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-12 21:06:15 -07:00
Peter Steinberger 4e872521f0
fix(ui): restore native web /status 2026-03-13 04:04:09 +00:00
Peter Steinberger 0c8ea8d987 test(ui): add jsdom runtime for vitest dom suites 2026-03-13 03:50:52 +00:00
Peter Steinberger bffce8ea4f
fix(ui): harden avatar fallback regressions 2026-03-13 03:46:30 +00:00
Peter Steinberger 4656317770
fix(ui): resolve control chat avatar fallback 2026-03-13 03:42:11 +00:00
Vincent Koc 7509c4a057 UI: fix mounted avatar meta fallback 2026-03-12 23:39:53 -04:00
Peter Steinberger c52f23f794 test(qmd): make windows cli fixtures explicit 2026-03-13 03:37:41 +00:00
Vincent Koc fd07132389 UI: fix control chat logo fallback 2026-03-12 23:36:17 -04:00
Peter Steinberger f803215474 fix(ci): restore full gate 2026-03-13 03:34:47 +00:00
scoootscooob 255414032f changelog: move ACP final-snapshot entry to active 2026.3.12 section 2026-03-12 20:31:03 -07:00
Peter Steinberger 0f290fe6d6
fix: narrow Slack outbound blocks opt type 2026-03-13 03:29:00 +00:00
scoootscooob 17c954c46e
fix(acp): preserve final assistant message snapshot before end_turn (#44597)
Process messageData via handleDeltaEvent for both delta and final states
before resolving the turn, so ACP clients no longer drop the last visible
assistant text when the gateway sends the final message body on the
terminal chat event.

Closes #15377
Based on #17615

Co-authored-by: PJ Eby <3527052+pjeby@users.noreply.github.com>
2026-03-12 20:23:57 -07:00
Peter Steinberger 2201d533fd fix: enable fast mode for isolated cron runs 2026-03-13 03:21:57 +00:00
Vincent Koc 42efd98ff8
Slack: support Block Kit payloads in agent replies (#44592)
* Slack: route reply blocks through outbound adapter

* Slack: cover Block Kit outbound payloads

* Changelog: add Slack Block Kit agent reply entry
2026-03-12 23:18:59 -04:00
Peter Steinberger 433e65711f
fix: fall back to a startup entry for windows gateway install 2026-03-13 03:18:17 +00:00
Peter Steinberger a60a4b4b5e test(gateway): avoid hoisted reply mock tdz 2026-03-13 03:17:51 +00:00
Peter Steinberger 0979264ed5 test(qmd): make windows cli fixtures explicit 2026-03-13 03:13:56 +00:00
Peter Steinberger 496ca3a637 fix(feishu): fail closed on webhook signature checks 2026-03-13 03:13:56 +00:00
Peter Steinberger ec3c20d96d
test: harden plugin fixture permissions on macos 2026-03-13 03:13:25 +00:00
Peter Steinberger fb9984a774 fix(memory): stop forcing Windows qmd cmd shims 2026-03-13 03:09:14 +00:00
Ayaan Zaidi ff2368af57 fix: stop false cron payload-kind warnings in doctor (#44012) (thanks @shuicici) 2026-03-13 08:38:52 +05:30
shuicici 42613b9baa fix(cron): compare raw value not trimmed in normalizePayloadKind 2026-03-13 08:38:52 +05:30
shuicici 3e2c776aaf fix(cron): avoid false legacy payload kind migrations 2026-03-13 08:38:52 +05:30
Peter Steinberger 21fa50f564
test: harden plugin env-scoped fixtures 2026-03-13 03:01:47 +00:00
Peter Steinberger 08da1b47ba fix: use build-stage image for docker live tests 2026-03-13 02:59:36 +00:00
Peter Steinberger 6b14e6b55b test(commands): align slash-command config persistence coverage 2026-03-13 02:51:55 +00:00
Peter Steinberger 7dc447f79f fix(gateway): strip unbound scopes for shared-auth connects 2026-03-13 02:51:55 +00:00
Peter Steinberger b858d6c3a9
fix: clarify windows onboarding gateway health 2026-03-13 02:40:40 +00:00
Dinakar Sarbada 23c7fc745f
refactor(agents): replace console.warn with SubsystemLogger in compaction-safeguard.ts (#9974)
Merged via squash.

Prepared head SHA: 35dcc5ba35
Co-authored-by: dinakars777 <250428393+dinakars777@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-03-12 19:34:55 -07:00
Peter Steinberger c8439f6587 fix: import oauth types from the oauth entrypoint 2026-03-13 02:17:00 +00:00
Peter Steinberger 296a106f49 test: stabilize hooks loader log assertion on Windows 2026-03-13 02:17:00 +00:00
Peter Steinberger 4fb3b88e57
docs: reorder latest release changelog 2026-03-13 02:11:50 +00:00
Peter Steinberger d6d01f853f
fix: align Ollama onboarding docs before landing (#43473) (thanks @BruceMacD)
(cherry picked from commit 19fa274343a102ca85c7679ec28c5a3503a99f55)
2026-03-13 02:03:54 +00:00
Bruce MacDonald f906bf58db
docs(ollama): update onboarding flow
Co-Authored-By: Jeffrey Morgan <jmorganca@gmail.com>
(cherry picked from commit e8ca2ff4e522f2d971801a537b3c4fdfecde0711)
2026-03-13 02:03:54 +00:00
Peter Steinberger 0068f55dd8
fix(memory): fail closed for Windows qmd wrappers 2026-03-13 01:56:20 +00:00
Peter Steinberger ddeb423944 fix: quiet Telegram command overflow retry logs 2026-03-13 01:45:56 +00:00
Peter Steinberger de3e6a8c5b fix(routing): require ids for slack and msteams allowlists 2026-03-13 01:44:42 +00:00
Peter Steinberger f36d8c09f1 feat(zalouser): audit mutable group allowlists 2026-03-13 01:44:42 +00:00
Peter Steinberger 88244c0942 refactor(zalouser): reuse shared name matching helper 2026-03-13 01:44:42 +00:00
Peter Steinberger c25e46a433
chore: prepare 2026.3.12 release 2026-03-13 01:38:20 +00:00