Ayaan Zaidi
930caeaafb
fix(chat): preserve sender labels in dashboard history
2026-03-08 09:17:02 +05:30
Peter Steinberger
380eb1c072
refactor: reuse shared gateway probe auth
2026-03-08 03:02:25 +00:00
Peter Steinberger
9d7d961db8
fix: restore Telegram webhook-mode health after restarts
...
Landed from contributor PR #39313 by @fellanH.
Co-authored-by: Felix Hellström <30758862+fellanH@users.noreply.github.com >
2026-03-08 02:27:18 +00:00
Peter Steinberger
1e05f14f3a
fix: land health-monitor disconnected reason label ( #36436 ) (thanks @Sid-Qin)
2026-03-08 02:02:19 +00:00
SidQin-cyber
066d589b8a
fix(gateway): distinguish disconnected from stuck in health-monitor restart reason
...
resolveChannelRestartReason did not handle the "disconnected" evaluation
reason explicitly, so it fell through to "stuck". This conflates a clean
WebSocket drop (e.g. Discord 1006) with a genuinely stuck channel, making
logs misleading and preventing future policy differentiation.
Add "disconnected" to ChannelRestartReason and handle it before the
catch-all "stuck" return.
Closes #36404
2026-03-08 02:02:19 +00:00
Peter Steinberger
08597e817d
fix(ci): stabilize detect-secrets baseline
2026-03-08 01:25:15 +00:00
Peter Steinberger
da88d92099
fix(gateway): fail closed for config-first secretrefs
2026-03-08 01:13:28 +00:00
Peter Steinberger
f236742dc1
fix(gateway): block cached device token override fallback
2026-03-08 01:13:28 +00:00
Vincent Koc
ac02529844
Gateway Auth: allowlist connection auth precedence fixtures
2026-03-07 16:43:22 -08:00
Josh Avant
25252ab5ab
gateway: harden shared auth resolution across systemd, discord, and node host
2026-03-07 18:28:32 -06:00
Vincent Koc
27b6b0c119
Gateway Secrets: allowlist unresolved secret ref label
2026-03-07 16:27:00 -08:00
Vincent Koc
a7c605ec4a
Gateway Credentials: allowlist precedence fixtures
2026-03-07 16:27:00 -08:00
Vincent Koc
ace64831e0
Gateway Credentials: allowlist password fixtures
2026-03-07 16:27:00 -08:00
Vincent Koc
889a60e122
Gateway Auth: allowlist bootstrap password references
2026-03-07 16:27:00 -08:00
Peter Steinberger
eed403dc74
refactor(agents): unify spawned metadata and extract attachments service
2026-03-08 00:23:45 +00:00
Peter Steinberger
ab54532c8f
fix(agents): land #39247 from @jasonQin6 (subagent workspace inheritance)
...
Propagate parent workspace directories into spawned subagent runs, keep workspace override internal-only, and add regression tests for forwarding boundaries.
Co-authored-by: jasonQin6 <991262382@qq.com >
2026-03-07 23:56:37 +00:00
Peter Steinberger
fecca6fd8d
refactor: unify gateway SecretRef auth resolution paths
2026-03-07 23:27:50 +00:00
Peter Steinberger
7ab49a7fb7
test(regression): cover recent landed fix paths
2026-03-07 23:07:16 +00:00
Peter Steinberger
c76d29208b
fix(node-host): bind approved script operands
2026-03-07 23:04:00 +00:00
Peter Steinberger
265367d99b
fix(gateway): land #28428 from @l0cka
...
Landed from contributor PR #28428 by @l0cka.
Co-authored-by: Daniel Alkurdi <danielalkurdi@gmail.com >
2026-03-07 22:51:08 +00:00
Peter Steinberger
ab704b7aca
fix(gateway): explain provider-object password bootstrap errors ( #39230 , thanks @ademczuk)
...
Co-authored-by: ademczuk <andrew.demczuk@gmail.com >
2026-03-07 22:44:44 +00:00
Peter Steinberger
3a74dc00bf
fix(gateway): land #38725 from @ademczuk
...
Source: #38725 / 533ff3e70b by @ademczuk.
Thanks @ademczuk.
Co-authored-by: ademczuk <andrew.demczuk@gmail.com >
2026-03-07 22:35:38 +00:00
Peter Steinberger
b4bac484e3
fix(gateway): stop webchat route inheritance on channel sessions ( #39175 , thanks @widingmarcus-cyber)
...
Co-authored-by: Marcus Widing <widing.marcus@gmail.com >
2026-03-07 22:22:23 +00:00
Peter Steinberger
6181fe22c7
fix(ci): refresh detect-secrets allowlists and baseline
2026-03-07 21:30:04 +00:00
Peter Steinberger
7649712356
fix(config): degrade gracefully on missing env vars ( #39050 , thanks @akz142857)
...
Co-authored-by: ziy <ziyang.liu@wahool.com >
2026-03-07 21:12:26 +00:00
Peter Steinberger
a91731a831
refactor: centralize gateway auth env credential readers
2026-03-07 21:09:26 +00:00
Peter Steinberger
f17f2f918c
fix(gateway): order bootstrap cache clear after embedded run wait
...
Landed from #38873 by @MumuTW.
Co-authored-by: MumuTW <clothl47364@gmail.com >
2026-03-07 20:42:33 +00:00
Peter Steinberger
ac86deccee
fix(gateway): harden plugin HTTP route auth
2026-03-07 19:55:06 +00:00
Peter Steinberger
43b36bfe8c
fix(gateway): flush chat delta before tool-start events ( #39128 )
...
Co-authored-by: john <john.j@min123.net >
2026-03-07 19:46:04 +00:00
Peter Steinberger
2f59a3cff3
fix(gateway): land #39064 from @Narcooo
...
Co-authored-by: Narcooo <Narcooo@users.noreply.github.com >
2026-03-07 18:52:42 +00:00
Tak Hoffman
52e7d4295e
fix(gateway): clear stale Slack socket state after disconnect ( #39083 )
...
* fix(gateway): restore stale-socket recovery
* test(slack): cover clean socket disconnect status
2026-03-07 12:37:32 -06:00
Vincent Koc
e4d80ed556
CI: restore main detect-secrets scan ( #38438 )
...
* Tests: stabilize detect-secrets fixtures
* Tests: fix rebased detect-secrets false positives
* Docs: keep snippets valid under detect-secrets
* Tests: finalize detect-secrets false-positive fixes
* Tests: reduce detect-secrets false positives
* Tests: keep detect-secrets pragmas inline
* Tests: remediate next detect-secrets batch
* Tests: tighten detect-secrets allowlists
* Tests: stabilize detect-secrets formatter drift
2026-03-07 10:06:35 -08:00
Peter Steinberger
44820dcead
fix(hooks): gate methods before auth lockout accounting
2026-03-07 18:05:09 +00:00
Peter Steinberger
19245dd547
refactor(gateway): dedupe blocked chat reply mock setup
2026-03-07 17:58:31 +00:00
Peter Steinberger
4cdf867cb1
refactor(gateway): dedupe maintenance timer test setup
2026-03-07 17:58:31 +00:00
Peter Steinberger
0de6778f13
refactor(gateway): dedupe legacy migration validation assertions
2026-03-07 17:58:31 +00:00
Peter Steinberger
f7a7f08e15
refactor(gateway): dedupe probe route assertion loops
2026-03-07 17:58:31 +00:00
Peter Steinberger
25efbdafce
refactor(gateway): dedupe missing-local-token fixture tests
2026-03-07 17:58:31 +00:00
Peter Steinberger
49df8ab7b6
refactor(gateway): dedupe invalid image request assertions
2026-03-07 17:58:31 +00:00
Peter Steinberger
4113a0f39e
refactor(gateway): dedupe readiness healthy snapshot fixtures
2026-03-07 17:58:31 +00:00
Peter Steinberger
4204c96105
refactor(gateway): share input allowlist normalizer
2026-03-07 17:05:23 +00:00
Peter Steinberger
3c71e2bd48
refactor(core): extract shared dedup helpers
2026-03-07 10:41:05 +00:00
Tak Hoffman
8873e13f1e
fix(gateway): stop stale-socket restarts before first event ( #38643 )
...
* fix(gateway): guard stale-socket restarts by event liveness
* fix(gateway): centralize connect-time liveness tracking
* fix(web): apply connected status patch atomically
* fix(gateway): require active socket for stale checks
* fix(gateway): ignore inherited stale event timestamps
2026-03-07 00:58:08 -06:00
ql-wade
a5c07fa115
fix(gateway): skip stale-socket restarts for Telegram polling (openclaw#38405)
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: ql-wade <262266039+ql-wade@users.noreply.github.com >
2026-03-07 00:20:34 -06:00
Vincent Koc
ba9eaf2ee2
fix(media): retain inbound media with recursive cleanup TTL ( #38292 )
...
* Config: add media retention TTL setting
* Media: recurse persisted media cleanup
* Gateway: add persisted media cleanup timer
* Media: harden retention cleanup sweep
* Media: make recursive retention cleanup opt-in
* Media: retry writes after empty-dir cleanup race
2026-03-06 22:06:09 -05:00
Vincent Koc
563a125c66
fix(gateway): stop shared-main chat.send from inheriting stale external routes ( #38418 )
...
* fix(gateway): prevent webchat messages from cross-routing to external channels
chat.send always originates from the webchat/control-UI surface. Previously,
channel-scoped session keys (e.g. agent:main:slack:direct:U…) caused
OriginatingChannel to inherit the session's stored external route, so the
reply dispatcher would route responses to Slack/Telegram instead of back to
the gateway connection. Remove the route-inheritance logic from chat.send and
always set OriginatingChannel to INTERNAL_MESSAGE_CHANNEL ("webchat").
Closes #34647
Made-with: Cursor
* Gateway: preserve configured-main connect gating
* Gateway: cover connect-without-client routing
* Gateway: add chat.send session key length limit
* Gateway: cap chat.send session key schema
* Gateway: bound chat.send session key parsing
* Gateway: cover oversized chat.send session keys
* Update CHANGELOG.md
---------
Co-authored-by: SidQin-cyber <sidqin0410@gmail.com >
2026-03-06 21:59:08 -05:00
Vincent Koc
42e3d8d693
Secrets: add inline allowlist review set ( #38314 )
...
* Secrets: add inline allowlist review set
* Secrets: narrow detect-secrets file exclusions
* Secrets: exclude Docker fingerprint false positive
* Secrets: allowlist test and docs false positives
* Secrets: refresh baseline after allowlist updates
* Secrets: fix gateway chat fixture pragma
* Secrets: format pre-commit config
* Android: keep talk mode fixture JSON valid
* Feishu: rely on client timeout injection
* Secrets: allowlist provider auth test fixtures
* Secrets: allowlist onboard search fixtures
* Secrets: allowlist onboard mode fixture
* Secrets: allowlist gateway auth mode fixture
* Secrets: allowlist APNS wake test key
* Secrets: allowlist gateway reload fixtures
* Secrets: allowlist moonshot video fixture
* Secrets: allowlist auto audio fixture
* Secrets: allowlist tiny audio fixture
* Secrets: allowlist embeddings fixtures
* Secrets: allowlist resolve fixtures
* Secrets: allowlist target registry pattern fixtures
* Secrets: allowlist gateway chat env fixture
* Secrets: refresh baseline after fixture allowlists
* Secrets: reapply gateway chat env allowlist
* Secrets: reapply gateway chat env allowlist
* Secrets: stabilize gateway chat env allowlist
* Secrets: allowlist runtime snapshot save fixture
* Secrets: allowlist oauth profile fixtures
* Secrets: allowlist compaction identifier fixture
* Secrets: allowlist model auth fixture
* Secrets: allowlist model status fixtures
* Secrets: allowlist custom onboarding fixture
* Secrets: allowlist mattermost token summary fixtures
* Secrets: allowlist gateway auth suite fixtures
* Secrets: allowlist channel summary fixture
* Secrets: allowlist provider usage auth fixtures
* Secrets: allowlist media proxy fixture
* Secrets: allowlist secrets audit fixtures
* Secrets: refresh baseline after final fixture allowlists
* Feishu: prefer explicit client timeout
* Feishu: test direct timeout precedence
2026-03-06 19:35:26 -05:00
Vincent Koc
ab5fcfcc01
feat(gateway): add channel-backed readiness probes ( #38285 )
...
* Changelog: add channel-backed readiness probe entry
* Gateway: add channel-backed readiness probes
* Docs: describe readiness probe behavior
* Gateway: add readiness probe regression tests
* Changelog: dedupe gateway probe entries
* Docs: fix readiness startup grace description
* Changelog: remove stale readiness entry
* Gateway: cover readiness hardening
* Gateway: harden readiness probes
2026-03-06 15:15:23 -05:00
Vincent Koc
d070c44091
fix(gateway): keep probe routes reachable with root-mounted control ui ( #38199 )
...
* fix(gateway): keep probe routes reachable with root-mounted control ui
* Changelog: add root-mounted probe precedence fix entry
* Update CHANGELOG.md
2026-03-06 12:13:20 -05:00
Vincent Koc
9521e61a22
Gateway: follow up HEIC input image handling ( #38146 )
...
* Media: scope HEIC MIME sniffing
* Media: hermeticize HEIC input tests
* Gateway: fix HEIC image budget accounting
* Gateway: add HEIC image budget regression test
* Changelog: note HEIC follow-up fix
2026-03-06 11:53:59 -05:00