Commit Graph

11356 Commits

Author SHA1 Message Date
Jason O'Neal
e8b4003933 fix(google): keep first login identity errors 2026-05-17 02:10:11 +08:00
Jason O'Neal
995c702b07 fix(google): wrap Gemini CLI refresh credentials
# Conflicts:
#	CHANGELOG.md
2026-05-17 02:10:11 +08:00
Jason O'Neal
b34454f5b3 fix(google): refresh Gemini CLI OAuth tokens 2026-05-17 02:10:11 +08:00
Gio Della-Libera
4003a955ee fix(telegram): normalize announce group targets (#81229) 2026-05-16 10:32:58 -07:00
Gio Della-Libera
37cd82913f fix(discord): bind delayed identify to socket generation (#82225)
* fix(discord): bind delayed identify to socket generation
* chore: refresh CI after main repairs
2026-05-16 10:19:35 -07:00
Vincent Koc
d13749b2fc test(codex): keep dynamic tool helper tests fast 2026-05-17 01:12:20 +08:00
Pavan Kumar Gondhi
6a12c6f799 fix(gateway): scope session data lookups by agent [AI] (#81386)
* fix: scope gateway session lookups by agent

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing review-skill

* addressing review-skill

* 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 codex review

* addressing ci

* addressing ci

* fix: complete root-cause handling

* addressing review-skill

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* Fix Swift protocol optional initializer defaults

* Stabilize node command lookup in approval test

* Fix browser proxy approval test node lookup

* Trim unrelated changes from issue 642 fix

* Remove unrelated formatting churn from issue 642 fix

* Fix Swift protocol generator lint

* docs: add changelog entry for PR merge
2026-05-16 22:31:02 +05:30
Vincent Koc
9a204008ba test(extensions): stabilize plugin prerelease shards 2026-05-17 01:00:43 +08:00
Peter Steinberger
bdfc078487 test(matrix): add state-after E2EE QA coverage
Adds Matrix QA coverage for the state_after E2EE regression fixed by #82631.
2026-05-16 17:59:30 +01:00
Peter Steinberger
a3e7fc7de7 test(telegram): fix cache invalidation test contexts 2026-05-16 17:56:01 +01:00
Peter Steinberger
b11f67964c test(telegram): cover bot info cache invalidation 2026-05-16 17:56:01 +01:00
Peter Steinberger
95741daeb4 fix(telegram): cache startup bot info 2026-05-16 17:56:01 +01:00
Vincent Koc
6ed16d9356 test(extensions): harden plugin prerelease shards 2026-05-17 00:40:42 +08:00
Vincent Koc
fddac1c507 test(extensions): align mocks with runtime contracts 2026-05-17 00:23:23 +08:00
Peter Steinberger
777d289979 fix(matrix): avoid state-after sync opt-in 2026-05-16 16:57:24 +01:00
Peter Steinberger
2fcaab0010 fix: clean up approval handler PR landing (#82482) 2026-05-16 16:41:07 +01:00
Feelw00
ea9793b2e1 fix(approvals): release Matrix reaction target on mid-flight cancel
Address the ClawSweeper R2 finding that the pre-bind stopped guard
introduced in this PR drops a delivered entry without any cleanup. The
prior PR comment block was correct only for adapters whose deliverPending
has no in-process side effects; Matrix registers a reaction target in
both an in-memory Map and a persistent store inside deliverPending, so
the entry would leak until the 24h TTL (or process restart) every time
stop() landed between deliverPending and bindPending.

Add an optional cancelDelivered interaction hook on the runtime types,
forward it through both the spec-to-adapter wrapper
(createChannelApprovalNativeRuntimeAdapter) and the lazy adapter wrapper
(createLazyChannelApprovalNativeRuntimeAdapter), and invoke it from the
two stopped guards in deliverTarget: the pre-bind guard always calls it,
and the post-bind guard calls it on the branch where bindPending
returned no handle (so unbindPending cannot run). Matrix implements the
hook by calling unregisterMatrixApprovalReactionTarget on the entry's
roomId + reactionEventId, which is the exact key
registerMatrixApprovalReactionTarget uses inside deliverPending.

The other native runtime adapters (Slack, Discord, Telegram, qqbot)
leave the hook unimplemented because their deliverPending paths only
emit remote messages and keep no in-process state to drop.

Regression coverage:
- invokes cancelDelivered when stop() fires between deliverPending and
  bindPending (Deferred-gated deliverPending, asserts bindPending /
  unbindPending never run and cancelDelivered receives the entry)
- invokes cancelDelivered when stop() fires after bindPending returned
  null (asserts unbindPending stays uncalled while cancelDelivered fires)

AI-assisted: drafted with claude code (claude-opus-4-7).
2026-05-16 16:41:07 +01:00
Kagura
ffdc7aa7a6 fix(slack): route DM thread replies to main session instead of thread-scoped session (#82418)
* fix(slack): route DM thread replies to main session instead of thread-scoped session

DM thread replies (user replies inside a thread under a bot message in a
DM) were routed to a thread-specific session key instead of the user's
main DM session.  This caused the agent to never receive the inbound on
the expected session, making the bot appear unresponsive.

The root cause was in prepare-routing.ts: canonicalThreadId for
isDirectMessage was set to threadTs when isThreadReply was true, creating
a session key like agent:main:slack:direct:u3🧵<ts>.  DM threads
are a UI affordance — not a session boundary — so all DM messages should
route to the main DM session regardless of thread_ts.

Also adds a diagnostic logVerbose warning when assistant_app_thread
message_changed events fail sender resolution (Case 2 of #82390),
which was previously completely silent.

Fixes #82390

* chore(slack): polish DM thread routing PR

* test(slack): update DM thread routing contract

* test(slack): flatten non-main DM thread expectations

* fix(slack): preserve bound DM thread routes

* test(slack): align DM thread session fixtures

* fix(slack): keep flattened DM thread metadata scoped

* fix(slack): preserve DM thread delivery routes

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-16 16:24:36 +01:00
Peter Steinberger
2074cde6cf test: stabilize codex app-server waits 2026-05-16 16:21:34 +01:00
Peter Steinberger
21c5f8dc6d fix(codex): keep run lane timeout progress-aware 2026-05-16 16:21:34 +01:00
Peter Steinberger
a641a27bd4 fix(codex): harden app-server progress watchdog 2026-05-16 16:21:34 +01:00
Peter Steinberger
efe3790dd3 fix(codex): preserve queued turn-start progress 2026-05-16 16:21:34 +01:00
Peter Steinberger
6778da05d6 fix(codex): scope app-server request watchdog progress 2026-05-16 16:21:34 +01:00
Eva (agent)
d7d597cfd8 fix: scope codex attempt watchdog to turn progress 2026-05-16 16:21:34 +01:00
Eva (agent)
722161271e fix: make codex app-server timeout progress-aware 2026-05-16 16:21:34 +01:00
Peter Steinberger
1769e6a2f0 fix(agents): log detail-less responses failures (#82593)
* fix(agents): log detail-less responses failures

* fix(github-copilot): guard device login fetches

* test(ci): refresh stale cron and session expectations

* test(ci): keep cron legacy string fixture

* fix(agents): redact array response failure ids

* fix(agents): classify empty response failures
2026-05-16 15:57:40 +01:00
Gio Della-Libera
0b708a2574 OC Path: restore YAML support (#81436)
* OC Path: restore YAML support
* fix(oc-path): guard yaml writes and empty sequences
* fix(oc-path): guard yaml insertion keys
* fix(oc-path): guard yaml object key
* fix(oc-path): classify yaml root insertions
* style(oc-path): format yaml branch after rebase
* fix(oc-path): reject malformed yaml edits
* docs(oc-path): clarify yaml file support
* fix(ci): refresh yaml branch after rebase
* fix(ci): clean shared blockers for yaml path PR
* fix(changelog): keep yaml path note scoped
* fix(ci): preserve current shared contracts


---------

Co-authored-by: Gio Della-Libera <giodl73@gmail.com
2026-05-16 07:52:08 -07:00
Peter Steinberger
16e5d6692d fix(gateway): bound traced channel startup handoff (#82592)
* fix(gateway): bound traced channel startup handoff

* fix(github-copilot): guard device login fetches

* fix(gateway): skip stopped traced channel handoffs

* test(net): keep guarded fetch mocks hermetic
2026-05-16 15:15:57 +01:00
吴杨帆
eebdbabae9 fix: omit Ollama think for non-reasoning models
Preserve native Ollama thinking controls for supported models and explicit think=false, but avoid sending truthy think payloads for models marked reasoning=false.\n\nCo-authored-by: 吴杨帆 <85487201+leno23@users.noreply.github.com>
2026-05-16 15:10:12 +01:00
Peter Steinberger
58083866d0 fix: sync codex app-server protocol drift 2026-05-16 15:03:51 +01:00
Kyzcreig
8092761d7b fix: mark codex compaction events completed 2026-05-16 15:03:51 +01:00
njuboy11
6a65ea8c3a fix: preserve post-compaction session token freshness (#82578)
Fixes #82576.

Keeps post-compaction token totals fresh across stale usage updates and adds regression coverage for the repeated auto-compaction loop. Also includes maintainer fixups needed to keep the touched CI lanes green: guarded GitHub Copilot device-flow fetches, dead-session metadata recreation, and current cron stale-data expectations.

Co-authored-by: njuboy11 <njuboy11@users.noreply.github.com>
2026-05-16 14:47:57 +01:00
Ayaan Zaidi
0fb0b5197e test(telegram): cover truncated progress finals 2026-05-16 18:50:10 +05:30
Ayaan Zaidi
20c3580394 fix(telegram): deliver transcript-backed final replies 2026-05-16 18:50:10 +05:30
Vincent Koc
f410a95081 fix(providers): lock auth setup profile writes 2026-05-16 20:52:12 +08:00
Peter Steinberger
862be9fb3d fix: normalize Xiaomi array tool schemas (#82575) 2026-05-16 13:34:52 +01:00
Neerav Makwana
6b8f3fd206 fix(slack): clarify mention prompt guidance 2026-05-16 13:33:58 +01:00
Alex Knight
c438dadc5c Fix Claude CLI runtime migration for gateway turns (#82546)
Summary:
- The PR adds model-scoped `claude-cli` runtime policy to Anthropic CLI migration/default backfill, updates the gateway CLI live-smoke config, tests, and changelog.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current main writes `clau ... del/provider-scoped runtime policy. I did not run a live Telegram/Dashboard repro in this read-only review.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 62cf54484f.
- Required merge gates passed before the squash merge.

Prepared head SHA: 62cf54484f
Review: https://github.com/openclaw/openclaw/pull/82546#issuecomment-4466676206

Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-16 11:54:48 +00:00
Alex Knight
f8b7008f7c Fix Kimi Coding tool-call replay (#82550)
Summary:
- The PR preserves Kimi Coding reasoning_content replay for OpenAI-compatible tool-call follow-up turns, extends replay model-id matching, adds Kimi wrapper/tests, and updates the changelog.
- Reproducibility: yes. at source level: current main drops or fails to synthesize reasoning_content for kimi- ... es a concrete Kimi 400 after tool-call history. I did not run a live Kimi request in this read-only review.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head 9a4605ee38.
- Required merge gates passed before the squash merge.

Prepared head SHA: 9a4605ee38
Review: https://github.com/openclaw/openclaw/pull/82550#issuecomment-4466701075

Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com>
2026-05-16 11:54:46 +00:00
Peter Steinberger
9b560b8a41 fix: limit Codex attribution to local transcripts
Summary:
- Limit canonical OpenAI Codex app-server attribution rewrites to local transcript and trajectory records.
- Keep runtime/tool routing on the selected OpenAI model metadata, including OpenAI API-key backup profiles.
- Fix the current gateway-readiness lint blocker that was red on main.

Verification:
- codex-review branch helper clean with focused Codex app-server tests.
- pnpm lint --threads=8
- pnpm test src/commands/gateway-readiness.test.ts
- GitHub CI run 25960997256 green.

Co-authored-by: Eva (agent) <eva+agent-78055@100yen.org>
2026-05-16 12:45:11 +01:00
Peter Steinberger
67fb1df352 docs: prefer clean refactors over compat shims 2026-05-16 12:38:51 +01:00
WhatsSkiLL
f50c65f124 fix(codex): release raw assistant app-server completions [AI-assisted] (#82403)
* fix(codex): release raw assistant app-server completions

* refactor(codex): simplify raw assistant release guard

* fix(codex): ignore commentary raw assistant completions

* docs: add codex app-server completion changelog

---------

Co-authored-by: JARVIS-Glasses <284122573+JARVIS-Glasses@users.noreply.github.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-16 12:13:54 +01:00
Vincent Koc
46a67d30af fix(ci): restore persisted state guards 2026-05-16 18:06:13 +08:00
Vincent Koc
9eeb17fa82 fix(providers): harden search tool response schemas 2026-05-16 18:00:31 +08:00
Peter Steinberger
6171b4254d fix(model-picker): show effective runtime choices 2026-05-16 10:34:49 +01:00
Peter Steinberger
9c5acb7ea3 chore: release 2026.5.17 2026-05-16 10:11:41 +01:00
Ayaan Zaidi
89a3b9a07e fix(telegram): avoid stealing live spool claims 2026-05-16 14:04:47 +05:30
Ayaan Zaidi
784ee94108 test(telegram): align spooled claim expectations 2026-05-16 14:04:47 +05:30
Ayaan Zaidi
494517a990 refactor(telegram): simplify spool claim recovery 2026-05-16 14:04:47 +05:30
VACInc
59d2f88e41 fix(telegram): recover restart spool claims 2026-05-16 14:04:47 +05:30