Peter Steinberger
8e28c773fe
chore(release): prepare 2026.6.1
2026-06-01 10:30:15 +01:00
Peter Steinberger
27dde7a4d6
chore(lint): enable stricter error rules
2026-06-01 01:12:21 +01:00
Peter Steinberger
c8f8907f15
fix(feishu): guard webhook readiness fetch
2026-05-31 23:18:09 +01:00
Peter Steinberger
22cb7fb6b7
chore(lint): enable no-promise-executor-return
2026-05-31 23:06:13 +01:00
Ted Li
bfc151e9d3
fix(feishu): preserve long streaming replies
...
Preserve long Feishu streaming replies by falling oversized finals back to chunked message/static-card delivery instead of closing through an over-limit streaming CardKit payload.
Keeps late-final suppression after a streaming card closes, and uses markdown-aware chunking for static card fallback replies.
Fixes #88631 .
Co-authored-by: Ted Li <tl2493@columbia.edu >
2026-05-31 22:41:38 +01:00
Peter Steinberger
b653d94918
chore(lint): enable no-useless-assignment
2026-05-31 22:40:48 +01:00
waterblue
03dec8bb3a
fix(openai): avoid replay ids when Responses store is disabled
...
Avoid replaying prior OpenAI Responses reasoning/message/function-call item ids when the outgoing request disables store, while preserving encrypted reasoning and normalized summary arrays for stateless replay. Keep explicit store-enabled OpenAI wrapper paths opted into item-id replay, and cover shared/simple Responses, ChatGPT/Codex Responses, and GitHub Copilot sanitizer behavior.
Regression tests cover store-disabled id omission, encrypted reasoning preservation, idless Copilot reasoning replay, and direct builder payloads. Local proof included focused Vitest, broad lint, broad test-types, bundled-extension lint, plugin boundary checks, autoreview clean, and live OpenAI Responses gpt-5.5 proof.
Co-authored-by: hang <zhanghang02@gmail.com >
2026-05-31 22:17:32 +01:00
ArthurNie
7c15c2765e
fix(feishu): fallback when accepted turns send no visible reply ( #87896 )
...
* fix(feishu): fallback when accepted turns send no visible reply
* fix(feishu): cover no-visible-reply fallback gaps
* fix(feishu): mark media replies visible
* fix(feishu): honor suppressed delivery fallback
* test(auto-reply): trim fallback test churn
* fix(feishu): gate empty fallback eligibility
* test(auto-reply): expect fallback metadata after denied dispatch
* fix(feishu): fallback after failed visible final sends
* test(feishu): keep reply dispatcher mock shape aligned
* fix(auto-reply): respect silent policy for no-visible fallback
* fix(feishu): wait for streaming close before fallback
* fix(feishu): clear silent skip before later finals
* fix(feishu): preserve visible state across keepalives
* test(feishu): align lifecycle dispatcher mocks
* fix(feishu): require accepted streaming content for fallback
---------
Co-authored-by: ArthurNie <264332276+ArthurNie@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-31 21:33:13 +01:00
Peter Steinberger
b02c448585
docs(plugins): add npm readmes for channel providers
2026-05-31 20:02:45 +01:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Peter Steinberger
6b0ad98d62
test(extensions): update pairing challenge assertions
2026-05-31 18:56:20 +01:00
Peter Steinberger
d641126c1d
feat(plugin-sdk): add typed presentation command actions ( #88721 )
...
* feat(plugin-sdk): add typed presentation command actions
* test: use shared env helper in telegram bot tests
* test: expect typed approval actions
* test: expect typed sdk approval actions
2026-05-31 18:48:45 +01:00
Peter Steinberger
db40fde88c
fix: persist ACP metadata in SQLite ( #88724 )
...
* fix: persist acp metadata in sqlite
* test: align session store acp expectations
2026-05-31 18:38:51 +01:00
Peter Steinberger
0ee5f47fba
fix(feishu): enforce bitable account gates
2026-05-31 17:51:35 +01:00
OpenClaw Updater
73bb84e4bf
fix: preserve explicit Feishu bitable gates
2026-05-31 17:51:35 +01:00
Gorin Lee
5cfb578cba
plugin: gate Feishu bitable tools by config
2026-05-31 17:51:35 +01:00
Peter Steinberger
0d17623f00
chore: bump OpenClaw version to 2026.5.31
...
Bumps OpenClaw release metadata to 2026.5.31 across package manifests, app version files, plugin metadata, changelog headings, and generated shrinkwraps.
Verification:
- pnpm plugins:sync:check
- pnpm ios:version:check
- pnpm deps:shrinkwrap:check
- git diff --check
- stale 2026.5.30/build-code scan across changed files
- autoreview clean: no accepted/actionable findings
- PR CI green for real gates: Checks, security scans, dependency guard, app lanes, real behavior proof
Known non-code workflow issue:
- label workflow failed because this PR hits GitHub's 100-label issue cap before the size-label step.
2026-05-31 14:46:17 +01:00
Peter Steinberger
9dc4c9ec2e
fix: expose Feishu tools for named accounts
2026-05-31 11:36:48 +01:00
Peter Steinberger
f5eca3f84c
chore(lint): enable object and reassignment rules
2026-05-31 09:32:52 +01:00
Peter Steinberger
48ccc50282
chore: update dependencies
2026-05-31 09:07:53 +01:00
Peter Steinberger
b9fe0894a6
chore(lint): enable additional cleanup rules
2026-05-31 08:16:11 +01:00
Peter Steinberger
444562b3de
chore: remove stale dead code
2026-05-31 03:04:25 -04:00
Peter Steinberger
deb7bc6539
chore(lint): enable readability lint rules
2026-05-31 07:17:57 +01:00
Peter Steinberger
fab8d29d21
fix(feishu): clamp sequential queue timeouts
2026-05-31 01:37:46 -04:00
Peter Steinberger
ed59533574
fix(feishu): clamp abortable delay timers
2026-05-31 01:37:45 -04:00
Peter Steinberger
d05e4a4bc6
fix(feishu): use full gateway channel runtime
2026-05-30 23:46:04 +01:00
Peter Steinberger
3fc0df953c
refactor(agents): bind subagent threads in core ( #88416 )
...
Move subagent thread binding ownership into core so session-mode spawns prepare channel bindings before launching the child agent. Deprecate the legacy subagent_spawning SDK hook in code, compatibility metadata, diagnostics, and plugin docs; plugin authors should observe subagent_spawned instead.
Verification:
- node scripts/run-vitest.mjs src/agents/sessions-spawn-hooks.test.ts src/agents/subagent-spawn.thread-binding.test.ts src/agents/subagent-spawn.workspace.test.ts src/agents/subagent-spawn.mode-session-diagnostics.test.ts
- node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo
- git diff --check
- .agents/skills/autoreview/scripts/autoreview --mode local
- CI run 26693808952 green, including checks-node-agentic-agents-core and checks-node-agentic-plugin-sdk
2026-05-30 21:19:09 +01:00
Peter Steinberger
005da57957
Move cron persistence to SQLite ( #88285 )
...
* refactor: move cron persistence to sqlite
* fix: repair sqlite cron migration regressions
* fix: move cron legacy migration to doctor
* test: align cron sqlite migration fixtures
* test: fix cron sqlite rebase gates
* test: align cron sqlite runtime tests
* test: fix doctor e2e migration mock
* test: fix doctor shard e2e isolation
* test: fix infra child-process mocks
2026-05-30 21:03:41 +01:00
chuanchuan
3b8ab4e112
fix(feishu): stream plain replies as cards
...
Feishu `channels.feishu.streaming=true` now streams ordinary assistant replies through CardKit in auto mode, while keeping tool-summary delivery on the existing message path.
Also discards stale partial previews when final delivery intentionally suppresses text for voice media or duplicate final text, and preserves streamed partial text for regular media-only finals.
Verification:
- `node scripts/run-vitest.mjs run extensions/feishu/src/reply-dispatcher.test.ts`
- `pnpm tsgo:extensions`
- `pnpm test:extensions:package-boundary:compile`
- `pnpm exec oxfmt --check extensions/feishu/src/reply-dispatcher.ts extensions/feishu/src/reply-dispatcher.test.ts extensions/feishu/src/streaming-card.ts`
- `git diff --check`
- `.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- GitHub PR checks on run 26689677607 passed except repeated unrelated broad Vitest no-output timeouts in `checks-node-agentic-commands-doctor` and `checks-node-core-runtime-infra-state`.
Co-authored-by: 传妈 <chuanmother@chuanMac-Mini.local >
2026-05-30 18:47:03 +01:00
Peter Steinberger
ac0fb976c8
fix(feishu): bound card action token expiry
2026-05-30 12:37:24 -04:00
Vincent Koc
1de9f99ea8
fix(ci): repair current test type fixtures
2026-05-30 17:35:02 +01:00
Peter Steinberger
23e1aac9b2
fix(feishu): bound sender name cache expiry
2026-05-30 12:10:19 -04:00
Peter Steinberger
19f22b5924
fix(feishu): bound approval card expiry
2026-05-30 11:41:43 -04:00
Peter Steinberger
05634708e0
fix(feishu): bound quick action launcher expiry
2026-05-30 11:38:50 -04:00
Peter Steinberger
c94c43d3bb
fix(feishu): bound card action chat cache clocks
2026-05-30 11:36:19 -04:00
Peter Steinberger
ec15f90a55
fix(feishu): bound group name cache clocks
2026-05-30 11:33:30 -04:00
Peter Steinberger
3da34a4673
fix(feishu): bound probe cache expiry clocks
2026-05-30 11:31:16 -04:00
Peter Steinberger
55d4456751
fix(webhook): bound replay response expiry timestamps
2026-05-30 10:21:50 -04:00
Peter Steinberger
22d635080d
fix(feishu): guard streaming token expiry clocks
2026-05-30 10:14:14 -04:00
Vincent Koc
b8067d073a
fix(extensions): keep subagent hook facades lazy
2026-05-30 13:00:31 +02:00
Vincent Koc
4f074c3235
perf(extensions): cache plugin runtime loaders
2026-05-30 13:00:31 +02:00
Peter Steinberger
cd07d013ba
chore(release): bump version to 2026.5.30
2026-05-30 06:49:13 +01:00
Peter Steinberger
cbd492d680
fix(feishu): reopen retryable bot menu replay
2026-05-30 00:12:10 +01:00
Dallin Romney
73dd36626c
test(infra): avoid max fake-timer jumps ( #88155 )
2026-05-29 16:02:41 -07:00
Peter Steinberger
95f9231136
fix(feishu): cap async helper timeouts
2026-05-29 17:01:11 -04:00
Peter Steinberger
b9d7dd4a84
fix(feishu): normalize app registration poll timers
2026-05-29 13:53:05 -04:00
Peter Steinberger
04de01f8cf
fix(feishu): bound streaming token expiry
2026-05-29 13:28:40 -04:00
Peter Steinberger
9a1b5f9b68
fix(feishu): validate merge-forward timestamps
2026-05-29 09:22:33 -04:00
Peter Steinberger
7fb91317ba
fix(feishu): validate thread message timestamps
2026-05-29 09:15:07 -04:00
Peter Steinberger
001da78fab
fix(feishu): validate message create time
2026-05-29 09:12:06 -04:00