Commit Graph

821 Commits

Author SHA1 Message Date
Peter Steinberger
8100984e0e test: require extension async gates 2026-05-08 19:07:38 +01:00
Peter Steinberger
45f3ec2ead test: require deferred callbacks 2026-05-08 18:57:36 +01:00
Peter Steinberger
d7ce507d6f test: require feishu outbound fixtures 2026-05-08 18:35:24 +01:00
Shakker
82ebd54afe test: tighten feishu comment turn assertion 2026-05-08 16:36:18 +01:00
Super Zheng
e7277b4e3a refactor(agents): preserve raw reasoning stream and push formatting to edge (#78397)
Merged via squash.

Prepared head SHA: bb56f7ee00
Co-authored-by: medns <1575008+medns@users.noreply.github.com>
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com>
Reviewed-by: @odysseus0
2026-05-08 06:08:21 -07:00
Ayaan Zaidi
30e079dd89 fix(channels): honor reasoning defaults in previews (#71817) (thanks @anagnorisis2peripeteia) 2026-05-08 18:32:04 +05:30
Peter Steinberger
f40e3fe67e test: clarify extension resilience assertions 2026-05-08 13:20:40 +01:00
Peter Steinberger
450b541d77 test: clarify extension auth assertions 2026-05-08 13:02:44 +01:00
Peter Steinberger
69c1487e0b test: clarify feishu streaming status assertions 2026-05-08 09:01:08 +01:00
Peter Steinberger
2c7c57d519 test: clarify feishu validation assertions 2026-05-08 08:58:25 +01:00
Peter Steinberger
f64915c564 test: clarify feishu mention merge assertions 2026-05-08 08:46:22 +01:00
Peter Steinberger
d22dccdf93 test: clarify channel config schema issue assertions 2026-05-08 08:23:02 +01:00
Peter Steinberger
8af475d9be test: tighten function-shape assertions 2026-05-08 06:19:37 +01:00
Peter Steinberger
9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Peter Steinberger
6a4069dead fix: share plugin runtime helpers
Consolidate shared plugin runtime MIME/schema helpers, preserve canonical runtime behavior, and guard QQBot STT fetches.
2026-05-08 00:28:43 +01:00
Pavan Kumar Gondhi
0003f3f755 feishu: honor config write policy for dynamic agents [AI] (#78520)
* fix: honor Feishu config write policy for dynamic agents

* docs: add changelog entry for PR merge
2026-05-07 13:30:05 +05:30
Peter Steinberger
1ef85c7d4c test: make suites safe without isolation (#78834)
* test: make suites safe without isolation

* fix: narrow auth profile credential types

* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Peter Steinberger
252a76d25c refactor: stage external output writes through fs-safe 2026-05-07 06:05:24 +01:00
Peter Steinberger
0b88d6286c chore: bump version to 2026.5.6 2026-05-06 09:47:34 +01:00
Peter Steinberger
8cc762daff fix(feishu): keep topic sessions stable
Fixes Feishu native topic starter routing by hydrating a missing topic thread ID before session resolution.\n\nCloses #78262.
2026-05-06 07:30:27 +01:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Peter Steinberger
05eda57b3c refactor: migrate bundled plugins to message lifecycle 2026-05-06 01:46:42 +01:00
Vincent Koc
7c6bf331b8 test(feishu): accept native oversized body resets 2026-05-04 09:20:02 -07:00
Vincent Koc
4f2f5e0461 test(feishu): cover native Windows webhook and workspace paths 2026-05-04 09:20:02 -07:00
Peter Steinberger
5397667272 chore(release): prepare 2026.5.4 2026-05-04 10:09:55 +01:00
Peter Steinberger
fa689295c6 fix: resolve small triage issues 2026-05-04 07:38:42 +01:00
Vincent Koc
111df161df fix(feishu): share streaming tool progress labels 2026-05-03 18:58:35 -07:00
Vincent Koc
03e35b1d83 fix(feishu): honor block streaming config 2026-05-03 11:42:13 -07:00
Peter Steinberger
8b945bcbea fix(feishu): satisfy queue timeout lint 2026-05-03 15:28:12 +01:00
Martin Garramon
0028e6040a fix(feishu): cap per-chat queue task wait so a single hang doesn't starve later messages
Per-chat sequential queue had no timeout: if a single dispatch hung
(e.g. an agent call that never resolved), every subsequent message in
the same chat stayed `queued` until the gateway was restarted.

Add an optional `taskTimeoutMs` (default 5 min) to `createSequentialQueue`.
After the cap, the in-flight task is evicted from the blocking chain so
newer same-key tasks can proceed. The original task is NOT aborted —
it continues running in the background; we just stop starving the queue.
A warning log surfaces the eviction with the offending key.

`taskTimeoutMs: 0` restores legacy unbounded behavior.

Same-chat FIFO ordering for normal-cadence messages is preserved
(see #64324) — only pathologically slow tasks get evicted.

Fixes #70133.
2026-05-03 15:28:12 +01:00
Peter Steinberger
8dd6a2d323 fix(channels): preserve degraded voice text and mention boundaries 2026-05-03 12:17:11 +01:00
Vincent Koc
14312ff570 fix(feishu): avoid duplicate voice reply text 2026-05-02 23:18:42 -07:00
clawsweeper[bot]
d04a8976b1 fix(feishu): repair media-aware message dedupe (#76408)
Summary:
- The PR adds a Feishu-local media-aware dedupe-key helper, wires it through inbound receive/debounce/persistent/broadcast dedupe paths, adds Feishu regression coverage, and adds an Unreleased changelog entry.
- Reproducibility: yes. Source inspection shows a high-confidence path: two Feishu audio events for the same a ... _key` values collide in current-main receive and persistent dedupe before media parsing distinguishes them.

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

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

Prepared head SHA: c0229f8a48
Review: https://github.com/openclaw/openclaw/pull/76408#issuecomment-4365292618

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: SymbolStar <24540119+SymbolStar@users.noreply.github.com>
2026-05-03 04:20:02 +00:00
Peter Steinberger
31161abd40 chore(release): bump version to 2026.5.3 2026-05-03 03:08:47 +01:00
clawsweeper[bot]
10c9200f75 [AI-assisted] fix(feishu): probe status with account credentials (#76321)
Summary:
- The PR resolves Feishu setup/status probes through the selected/default account, adds a multi-account regression test, and adds an Unreleased changelog fix entry.
- Reproducibility: yes. Current main can be checked by calling the Feishu setup-status adapter with a config t ... hannels.feishu.accounts.<id>; the status path passes accountId but Feishu currently ignores it for probing.

ClawSweeper fixups:
- Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7406…
- Included follow-up commit: [AI-assisted] fix(feishu): probe status with account credentials
- Ran the ClawSweeper repair loop before final review.

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

Prepared head SHA: 427e8e8b07
Review: https://github.com/openclaw/openclaw/pull/76321#issuecomment-4364994746

Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: brokemac79 <255583030+brokemac79@users.noreply.github.com>
2026-05-03 00:19:36 +00:00
Vincent Koc
282b9fe616 fix(feishu): split timeout env parsing from client 2026-05-02 16:20:54 -07:00
Peter Steinberger
80da0a0213 chore: bump version to 2026.5.2 2026-05-02 11:58:45 +01:00
Peter Steinberger
9880b7c914 refactor: trim feishu helper exports 2026-05-02 09:09:35 +01:00
Peter Steinberger
bf6a02c6da fix: stabilize release validation 2026-05-02 07:13:22 +01:00
Shakker
7641783d6b fix: enforce plugin tool manifest contracts 2026-05-02 06:21:08 +01:00
Peter Steinberger
1ecb2fc2c7 fix(feishu): preserve api error diagnostics 2026-05-02 05:52:46 +01:00
Peter Steinberger
43121fb096 fix: guard provider-prefixed delivery targets 2026-05-02 05:30:41 +01:00
Peter Steinberger
0a6c9ca9ee build: prepare external plugin beta publishing 2026-05-02 02:59:04 +01:00
Peter Steinberger
4144180eb0 build(deps): update workspace dependencies 2026-05-01 21:58:26 +01:00
Peter Steinberger
ed8f50f240 refactor: simplify plugin dependency handling
Simplify plugin installation and runtime loading around package-manager-owned dependencies, with Jiti reserved for local/TS fallback paths.

Also scans npm plugin install roots so hoisted transitive dependencies are covered by dependency denylist and node_modules symlink checks.
2026-05-01 21:32:22 +01:00
Peter Steinberger
20659d817b refactor: trim feishu lifecycle helper exports 2026-05-01 19:06:48 +01:00
Peter Steinberger
b388209eaf refactor: trim feishu helper exports 2026-05-01 16:20:36 +01:00
Peter Steinberger
15649228d4 refactor: trim extension helper shims 2026-05-01 14:39:03 +01:00
Peter Steinberger
0fe007f71b refactor: trim extension test hooks 2026-05-01 14:32:30 +01:00
Vincent Koc
f9b47ad2a1 fix(feishu): recover WebSocket after SDK retry exhaustion (#73739)
* fix(feishu): recover WebSocket after SDK retry exhaustion

* fix(feishu): recover WebSocket after SDK retry exhaustion

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-05-01 06:27:26 -07:00