Commit Graph

40649 Commits

Author SHA1 Message Date
Peter Steinberger
dc32acd0d8 ci: post Mantis QA comments as GitHub App (#76825) 2026-05-03 18:00:00 +01:00
Ayaan Zaidi
de16329b93 docs(changelog): note reply target context fix 2026-05-03 22:29:05 +05:30
Ayaan Zaidi
834b4f949f test(reply-context): cover reply target label 2026-05-03 22:29:05 +05:30
Ayaan Zaidi
64e28a6ac9 fix(reply-context): label current reply target 2026-05-03 22:29:05 +05:30
pashpashpash
5bcc321343 Scope Codex heartbeat guidance to heartbeat turns (#76788)
* fix(codex): scope heartbeat guidance to collaboration mode

* fix heartbeat tool direct context

* test prompt heartbeat collaboration snapshots

* fix heartbeat changelog credit
2026-05-04 01:58:39 +09:00
Peter Steinberger
8b4808d543 fix(release): align beta plugin changelog sections 2026-05-03 17:56:07 +01:00
Peter Steinberger
7ea7f06038 docs: add changelog for LaunchAgent recovery (#76790) (thanks @jonathanlindsay) 2026-05-03 17:55:02 +01:00
jonathanlindsay
745c5bd772 fix: recover macos launchagent after updates 2026-05-03 17:55:02 +01:00
clawsweeper[bot]
1bc97aee4e fix(doctor): suppress memory plugin false alarm
Fixes #76792.

- Trust a checked-ready gateway memory probe when CLI-local memory runtime resolution is unavailable.
- Keep the no-active-plugin warning for skipped, unavailable, or not-ready gateway probes.
- Add regression coverage for ready, skipped, and not-ready probe cases.

Thanks @som-686.
2026-05-03 17:54:39 +01:00
Simone
c5b559d4ee fix(plugins): keep npm bridge updates scanned (#76765)
Keep externalized bundled npm bridge updates on the normal plugin security scanner path instead of granting source-linked official trust without artifact provenance.

Thanks @Lucenx9.
2026-05-03 17:50:31 +01:00
Peter Steinberger
4e82cacc84 fix(voice-call): summarize restored call verification logs 2026-05-03 17:44:21 +01:00
Peter Steinberger
ab0f8a79ca test(status): update reaction lifecycle snapshots 2026-05-03 17:44:13 +01:00
Peter Steinberger
1c7cbf55b9 test(discord): type tracked target resolver mock 2026-05-03 17:44:13 +01:00
Peter Steinberger
5039a35a33 fix(discord): preserve tracked reaction targets 2026-05-03 17:44:13 +01:00
Peter Steinberger
788cff1df4 Add opt-in reaction tool tracking 2026-05-03 17:44:13 +01:00
Peter Steinberger
c40f89414c ci: summarize Mantis bug proof comments
Clarify that Mantis screenshot proof belongs on the bug/fix PR and add a top summary to inline evidence comments.
2026-05-03 17:39:46 +01:00
Peter Steinberger
ddae71537d docs(agents): require PR descriptions 2026-05-03 17:38:47 +01:00
Peter Steinberger
a38c2c233a fix(memory): split vector store readiness 2026-05-03 17:38:47 +01:00
Peter Steinberger
3617778aaf test: tolerate prerelease channel metadata 2026-05-03 17:35:37 +01:00
Dallin Romney
aa18254770 feat(clawhub): surface rate-limit headers and sign-in hint on 429s (#76748)
* feat(clawhub): surface rate-limit headers and sign-in hint on 429s

* feat(clawhub): handle no-headers 429s and add changelog entry

* fix(clawhub): simplify 429 message to reset hint only
2026-05-04 00:34:50 +08:00
Peter Steinberger
07a11c4806 ci: post Mantis screenshots inline
Publish redacted Mantis screenshots to qa-artifacts and upsert a PR QA comment with inline before/after images.
2026-05-03 17:28:32 +01:00
Peter Steinberger
5330cbb25d refactor(telegram): clarify reply supersession fence 2026-05-03 17:25:58 +01:00
Peter Steinberger
2696baba81 fix(telegram): suppress superseded turn replies 2026-05-03 17:25:58 +01:00
chinar-amrutkar
463493aa28 fix(telegram): suppress stale replies when dispatch is superseded
When a newer inbound message arrives while an older dispatch is still
processing, buffered final answers from the old dispatch could be
delivered into the new message's thread.

Add `bufferedGeneration` to `BufferedFinalAnswer` to track which
abort fence generation buffered the answer. `takeBufferedFinalAnswer`
now rejects buffered answers whose generation doesn't match the
current dispatch's generation, preventing stale content delivery.

Fixes #76642
2026-05-03 17:25:58 +01:00
Peter Steinberger
7b5a18ae7a fix(google-meet): keep CLI sessions gateway-owned 2026-05-03 17:22:59 +01:00
Peter Steinberger
e267e3afa0 ci: keep Mantis Discord artifacts lean
Keep Mantis Discord comparison worktrees outside the uploaded artifact tree and copy each lane's QA output into the report directory before comparing summaries.
2026-05-03 17:15:27 +01:00
Peter Steinberger
e7f1b10ff8 fix: auto-repair gateway watch startup 2026-05-03 17:11:19 +01:00
Peter Steinberger
0636442cde fix(discord): send early typing cue for accepted DMs
Co-authored-by: chinar-amrutkar <chinar.amrutkar@gmail.com>
2026-05-03 17:10:07 +01:00
Peter Steinberger
fb9030ff67 fix: honor wildcard tool denylists in factory planning (#76773) (thanks @dorukardahan) 2026-05-03 17:09:55 +01:00
Doruk Ardahan
0739cb19b7 fix(tools): skip denied optional media factories 2026-05-03 17:09:55 +01:00
Ayaan Zaidi
7f6798094c docs(changelog): note telegram topic delivery fix 2026-05-03 21:31:56 +05:30
Ayaan Zaidi
fc293b1a53 test(telegram): cover forum topic queued finals 2026-05-03 21:31:56 +05:30
Ayaan Zaidi
5130622750 fix(telegram): require observed final delivery 2026-05-03 21:31:56 +05:30
clawsweeper
453be4216b fix(memory): keep plain status from probing embedding providers 2026-05-03 17:01:42 +01:00
Peter Steinberger
77a50db9ea feat(qa): add Mantis Discord status reaction scenario (#76747)
* feat(qa): add Mantis Discord status reaction scenario

* fix(qa): retry Discord rate limits in Mantis runs

* refactor(qa): reuse Discord API retry helper

* fix(qa): import Discord API through package surface

* fix(ci): generate Discord boundary declarations

* fix(ci): keep xai boundary overrides stable
2026-05-03 17:00:06 +01:00
Peter Steinberger
1e8de7661e fix: canonicalize diagnostic session aliases 2026-05-03 16:58:05 +01:00
hcl
02b1075a57 fix(pdf-tool): defer PDF model resolution (#76728)
Defers automatic PDF model/auth resolution until the PDF tool is executed, avoiding agent-turn tool prep stalls while preserving explicit PDF model registration.

Fixes #76644.
Thanks @hclsys.
2026-05-03 16:55:14 +01:00
Peter Steinberger
6becfcb275 test(telegram): cover visible error fresh final 2026-05-03 16:53:06 +01:00
jack-stormentswe
2b38345c8a fix(telegram): force fresh final after visible intermediate output (#76529) 2026-05-03 16:53:06 +01:00
Peter Steinberger
59c523c6b5 fix: reject source-only plugin package installs 2026-05-03 16:48:46 +01:00
Peter Steinberger
0a2b87c986 test: isolate gateway agent dirs 2026-05-03 16:48:25 +01:00
Peter Steinberger
fa866d562e perf(gateway): trim startup imports and sentinel checks 2026-05-03 16:43:07 +01:00
Peter Steinberger
9dc0f10f8a test: type codex dynamic tool fixture 2026-05-03 16:40:46 +01:00
Peter Steinberger
d286620c03 chore(skills): fold testbox notes into crabbox 2026-05-03 16:36:17 +01:00
Peter Steinberger
1bfc66da33 test: avoid codex app-server factory race 2026-05-03 16:34:49 +01:00
Peter Steinberger
e2c8db2cad fix(telegram): warn on selected quote tool progress 2026-05-03 16:24:38 +01:00
GodsBoy
b336efdd9c docs(telegram, streaming): note replyToMode and toolProgress mutual exclusion
Document that channels.telegram.streaming.preview.toolProgress requires
channels.telegram.replyToMode: 'off'. Quote-reply requires the final message
reference at send time, which is incompatible with preview-edit streaming, so
the two features are mutually exclusive on Telegram.

Adds:
- Note callout in docs/channels/telegram.md after the existing toolProgress
  guidance, explaining the exclusion and how to restore visibility.
- Cross-link bullet in docs/concepts/streaming.md pointing to the Telegram
  channel doc for the full note.

Surfaces a doc/runtime gap that has been silent since v2026.4.22.
2026-05-03 16:24:38 +01:00
Peter Steinberger
5e830508b6 test: stabilize release validation lanes 2026-05-03 16:24:17 +01:00
Shuxin Zheng
b8bc8423d2 fix(discord): normalize CJK/whitespace in slash-command description comparison to prevent spurious reconcile PATCH + 429 (#76588)
* fix(discord): normalize whitespace in command description comparison

Discord server-side storage collapses consecutive whitespace and removes
whitespace between adjacent CJK characters when persisting slash-command
descriptions. Our locally-serialized desired descriptors keep the original
whitespace, so commandsEqual returned false on every startup for any
deployment with multi-line or CJK-heavy descriptions.

This caused reconcile to issue a PATCH for every such command on every
gateway restart. Under Discord's per-application rate limit that quickly
produced a burst of 429s and some commands silently failed to register
until the next restart — a recurring symptom behind several Discord deploy
429 reports (#75341, #75888).

Fix: apply the same two normalizations to description strings in
comparableCommand — collapse runs of whitespace to a single space, then
drop whitespace between CJK boundary characters — before JSON-based
equality. This mirrors Discord's storage semantics so round-tripped
descriptions compare equal.

Adds command-deploy.test.ts with regression coverage for:
- server-side default fields ignored (dm_permission, nsfw, version, ids)
- required:false treated as absent (existing behavior)
- CJK descriptions with \n separators normalized
- mixed CJK/ASCII descriptions with consecutive whitespace
- substantive description diffs still flagged
- ASCII whitespace normalization

* fix(discord): normalize localized command descriptions

* fix(discord): ignore null localization maps in command reconcile

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-03 16:22:41 +01:00
MkDev11
38eea33062 fix(opencode): expose Claude thinking policy (#76760)
Summary:
- Adds an OpenCode provider-policy public artifact that delegates Claude thinking profiles, plus regression tests and a changelog entry for preserving `xhigh` on `opencode/claude-opus-4-7`.
- Reproducibility: yes. Source inspection on current main shows the model-switch path remaps unsupported store ... vider-policy-api` artifact for the fallback resolver; the proposed test exercises that stored-`xhigh` path.

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

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

Prepared head SHA: efa152cca5
Review: https://github.com/openclaw/openclaw/pull/76760#issuecomment-4366483080

Co-authored-by: mkdev11 <MkDev11@users.noreply.github.com>
2026-05-03 15:22:07 +00:00