Peter Steinberger
85b914a4e1
fix(model): repair provider replay edge cases
2026-05-07 06:41:59 +01:00
Vincent Koc
16b0a6202c
perf(reply): avoid queue churn in dedupe paths
2026-05-06 22:22:39 -07:00
Vincent Koc
db82380819
test(telegram): satisfy reaction guard lint
2026-05-06 20:47:24 -07:00
Vincent Koc
88f22b34ea
test(telegram): type reaction body mock
2026-05-06 20:47:24 -07:00
Vincent Koc
96c9368f4b
test(telegram): type reaction guard mock
2026-05-06 20:47:24 -07:00
Vincent Koc
c4b5fed025
fix(telegram): narrow lazy status reaction config
2026-05-06 20:47:24 -07:00
Vincent Koc
8a5170d1d9
test(telegram): cover message context perf guards
2026-05-06 20:47:24 -07:00
Vincent Koc
91e324377c
perf(telegram): reuse ack reaction gate result
...
(cherry picked from commit ae3d2816c7 )
2026-05-06 20:47:24 -07:00
Vincent Koc
f71b702387
perf(telegram): defer status reaction variant setup
...
(cherry picked from commit 902c7cada7 )
2026-05-06 20:47:24 -07:00
Vincent Koc
e80f67e372
perf(telegram): skip non-forum topic cache setup
...
(cherry picked from commit c0f79b8814 )
2026-05-06 20:47:24 -07:00
Neerav Makwana
447182a852
fix(telegram): avoid fallback after message tool send ( #78726 ) (thanks @neeravmakwana)
...
* telegram: correlate message-tool sends with inbound turn (#78685 )
Register the active Telegram inbound SessionKey/outbound peer while dispatching,
and mark inbound lane delivery when deliverOutbound emits a matching telegram
message:sent success. Prevents rewritten silent-reply fillers after visible
tool-routed replies with an empty final.
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix(telegram): track message action delivery
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-05-07 09:09:36 +05:30
Peter Steinberger
69d446d178
test(telegram): lock draft finalization ordering
...
Add regression coverage for Telegram draft-lane final ordering and shared draft clear-vs-stop lifecycle semantics.\n\nVerification:\n- pnpm test src/channels/draft-stream-controls.test.ts extensions/telegram/src/bot-message-dispatch.test.ts -- --reporter=verbose\n- pnpm exec oxfmt --check --threads=1 src/channels/draft-stream-controls.test.ts extensions/telegram/src/bot-message-dispatch.test.ts\n- git diff --check\n- OPENCLAW_TESTBOX=0 pnpm check:changed\n- exact-tree CI previously passed on 1f822d7c22
2026-05-07 02:12:07 +01:00
Peter Steinberger
0e330c3fa0
Revert "test(telegram): lock draft finalization ordering"
...
This reverts commit 1f822d7c22 .
2026-05-07 02:08:13 +01:00
Peter Steinberger
1f822d7c22
test(telegram): lock draft finalization ordering
2026-05-07 01:58:00 +01:00
NVIDIAN
440111ff6f
fix(telegram): keep polling watchdog on getUpdates liveness ( #78646 )
2026-05-07 01:40:55 +01:00
Peter Steinberger
b6ae0b83a6
fix(telegram): honor access group allowlists
2026-05-07 01:04:49 +01:00
Alex Knight
d9ffc1aa63
fix cron run binding route ( #78373 )
...
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-05-06 18:57:32 +10:00
Peter Steinberger
0b88d6286c
chore: bump version to 2026.5.6
2026-05-06 09:47:34 +01:00
keshavbotagent
3f210b10ce
fix: show Codex tool progress in channel drafts ( #77949 )
...
Summary:
- Normalize Codex app-server dynamic and native tool activity into channel-visible tool progress.
- Keep Telegram message-tool-only progress drafts visible without duplicate dynamic item/tool lines.
- Preserve suppressed item progress while avoiding duplicate tool callbacks.
Verification:
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test extensions/codex/src/app-server/event-projector.test.ts extensions/codex/src/app-server/run-attempt.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/dispatch-from-config.test.ts --pool=forks --maxWorkers=1
- pnpm tsgo:extensions:test
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md extensions/codex/src/app-server/event-projector.ts extensions/codex/src/app-server/event-projector.test.ts extensions/codex/src/app-server/run-attempt.ts extensions/codex/src/app-server/run-attempt.test.ts extensions/codex/src/app-server/tool-progress-normalization.ts extensions/telegram/src/bot-message-dispatch.ts extensions/telegram/src/bot-message-dispatch.test.ts src/auto-reply/get-reply-options.types.ts src/auto-reply/reply/agent-runner-execution.ts src/auto-reply/reply/agent-runner-execution.test.ts src/auto-reply/reply/dispatch-from-config.ts src/auto-reply/reply/dispatch-from-config.test.ts src/infra/agent-events.ts
- pnpm lint:extensions
- pnpm build
- CI on 6ff6a1f868 : 88 success, 20 skipped, 1 neutral, no failures or pending checks
Fixes #75641 .
2026-05-06 08:18:20 +01:00
Ayaan Zaidi
98cbf7f11c
fix: show current think level in Telegram picker ( #78278 )
2026-05-06 11:24:31 +05:30
Peter Steinberger
5d7262c410
test: align telegram reply assertions with streaming defaults
2026-05-06 05:08:51 +01:00
Peter Steinberger
b85b1c68d1
Refactor file access to use fs-safe primitives ( #78255 )
...
* refactor: use fs-safe primitives across file access
* fix: preserve invalid managed npm manifests
* fix: keep fs seams for startup metadata
2026-05-06 05:03:11 +01:00
Ayaan Zaidi
814b125f11
fix(telegram): separate progress drafts from final replies
2026-05-06 09:27:08 +05:30
Ayaan Zaidi
25fc85afa2
test(telegram): cover single stream delivery
2026-05-06 09:27:08 +05:30
Ayaan Zaidi
bca16d0f00
fix(telegram): finalize streamed text in place
2026-05-06 09:27:08 +05:30
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
1470b439e2
fix(telegram): rotate previews after visible tool output
2026-05-05 16:12:13 -07:00
Vincent Koc
e03fe1e289
fix(telegram): reuse preview for long text finals ( #77658 )
...
* fix(telegram): reuse preview for long text finals
* test(qa): cover long telegram finals
* fix(qa): satisfy extension lint
* fix(qa): keep telegram long final fixture to two chunks
* test(telegram): cover three chunk finals
* fix(telegram): force long final preview boundary
2026-05-04 21:19:44 -07:00
pashpashpash
b2c3202a15
Surface Codex usage-limit reset details in chat replies ( #77557 )
...
* fix(codex): surface usage limit reset details
* fix(codex): satisfy extension lint
* fix: surface codex runtime failures in tool-only replies
2026-05-05 09:00:39 +09:00
Vincent Koc
0a62c1e665
fix(telegram): derive media placeholders from MIME
...
Fixes #69793 .
Verification:
- repro before fix: `pnpm test:serial extensions/telegram/src/bot-message-context.body.test.ts -- --reporter=verbose` failed 3 new cases with `<media:image>` returned for non-image/mixed saved media
- `pnpm test:serial extensions/telegram/src/bot-message-context.body.test.ts -- --reporter=verbose` passed 9 tests after fix
- `pnpm exec oxfmt --check --threads=1 extensions/telegram/src/bot-message-context.body.ts extensions/telegram/src/bot-message-context.body.test.ts`
- `git diff --check`
- `OPENCLAW_TESTBOX=1 pnpm testbox:run --id tbx_01kqtnnhpg6rk1225tbb7109kf -- "pnpm check:changed"` passed
2026-05-04 16:46:58 -07:00
Vincent Koc
57ca91ff38
fix(telegram): clarify model picker runtime scope
2026-05-04 15:15:32 -07:00
Peter Steinberger
8ee08b2b77
chore: update dependencies
2026-05-04 23:07:09 +01:00
Pnant
a7b665cfed
fix(telegram): honor topic requireMention precedence
...
Telegram forum-topic requireMention config now takes precedence over persisted activation state, with focused regression coverage.\n\nFixes #49864.\nThanks @Panniantong.
2026-05-04 22:53:06 +01:00
Vincent Koc
15b9966781
test(telegram): accept native Windows session file paths
2026-05-04 09:20:02 -07:00
Val Alexander
042d7b8823
fix(telegram): clean up tool-only previews
2026-05-04 08:55:41 -05: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
51e847fb96
fix(telegram): preserve safe progress previews
2026-05-03 23:10:08 -07:00
Val Alexander
21ac476904
fix(telegram): stabilize reply dispatch runtime
...
Summary:
- Add a stable provider-dispatcher dist entry and legacy alias coverage for stale reply-dispatch chunks.
- Make Telegram reasoning stream previews transient after final delivery and harden visible-send reasoning sanitization.
- Document transient /reasoning stream behavior and credit @BunsDev in the changelog.
Verification:
- pnpm test src/agents/tools/message-tool.test.ts src/infra/tsdown-config.test.ts test/scripts/runtime-postbuild.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/plugin-sdk/channel-streaming.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/channels/plugins/module-loader.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- pnpm exec oxfmt --check --threads=1 <changed files>
- git diff --check
- pnpm build
- GitHub PR checks for b8b7a91834
2026-05-04 01:07:57 -05:00
Vincent Koc
b0b5983ce3
fix(telegram): send interactive fallback replies
2026-05-03 19:17:14 -07:00
Kelaw - Keshav's Agent
01a22d4ec9
fix(telegram): render interactive reply buttons
2026-05-04 02:47:03 +01:00
Vincent Koc
c979ed3a3a
fix(channels): pass raw progress detail to drafts
2026-05-03 18:43:11 -07:00
Peter Steinberger
36c047c026
fix(channels): unify progress draft line formatting
2026-05-04 00:50:09 +01:00
Peter Steinberger
392897304c
fix(channels): delay progress drafts until work is visible
2026-05-04 00:22:13 +01:00
Vincent Koc
8beda86416
fix(channels): expose progress draft config hints
2026-05-03 14:21:57 -07:00
Peter Steinberger
c33e578554
feat: add channel progress drafts
...
Adds unified progress-draft streaming for chat channels, with docs and per-channel regressions.
2026-05-03 22:01:08 +01:00
Vincent Koc
c5488ea577
fix(telegram): expose media group flush config
2026-05-03 12:12:53 -07:00
Vincent Koc
863198f0c9
fix(commands): tolerate empty plugin command replies
...
Fixes #74800 .
2026-05-03 10:55:58 -07:00
Peter Steinberger
5330cbb25d
refactor(telegram): clarify reply supersession fence
2026-05-03 17:25:58 +01:00