Commit Graph

2096 Commits

Author SHA1 Message Date
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
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 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
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
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
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 e2c8db2cad fix(telegram): warn on selected quote tool progress 2026-05-03 16:24:38 +01:00
Ayaan Zaidi 5b94c4ce93 fix(telegram): start polling after webhook cleanup timeout (#76735)
Summary:
- The branch changes Telegram polling startup to reuse the successful probe `getMe` result as grammY `botInfo` ... es` after recoverable `deleteWebhook` failures, and updates Telegram docs, changelog, and regression tests.
- Reproducibility: yes. for the narrow PR bug: source inspection shows current main can block before polling o ... d timeout coverage that reaches `run()`. The full linked high-RTT report remains only partially reproduced.

Automerge notes:
- Ran the ClawSweeper repair loop before final review.
- Included post-review commit in the final squash: fix(telegram): start polling after webhook cleanup timeout
- Included post-review commit in the final squash: fix(telegram): extract bot info contract

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

Prepared head SHA: c74bbdd1ff
Review: https://github.com/openclaw/openclaw/pull/76735#issuecomment-4366417178

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-03 15:16:32 +00:00
Tyler Nishida 796c1e67c3 fix message-tool-only telegram fallback (#76272) 2026-05-03 23:15:53 +09:00
Josh Avant b1f8172867 fix(secretrefs): resolve external channel contracts (#76449) 2026-05-02 23:48:11 -05:00
Jason 53bd718a1a fix(cli): avoid model warmup for message actions (#76312)
Summary:
- The PR skips eager context-window warmup for `openclaw message`, forwards Discord/Telegram execution-mode de ... reuses caller-owned manifest metadata during config materialization, and adds tests plus a changelog entry.
- Reproducibility: yes. Source inspection on current main shows `openclaw message` is still eligible for eager context-window warmup and the Discord/Telegram wrappers still drop the gateway execution-mode declarations.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix: type message action routing fallbacks
- PR branch already contained follow-up commit before automerge: docs: credit message latency fix contributor

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

Prepared head SHA: 9606bb27d5
Review: https://github.com/openclaw/openclaw/pull/76312#issuecomment-4364958708

Co-authored-by: FullerStackDev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-05-03 01:26:00 +00:00
Matthew Schleder 084c4beb2e fix(telegram): pass session files to native plugin commands
Pass persisted session file context into Telegram native plugin commands so topic-scoped /codex bind can attach to the active OpenClaw session.

Thanks @MatthewSchleder.

Validation:
- pnpm plugin-sdk:api:check
- pnpm test extensions/telegram/src/bot-native-commands.session-meta.test.ts extensions/telegram/src/bot-native-commands.test.ts -- --reporter=verbose
- OPENCLAW_TESTBOX=1 pnpm check:changed (tbx_01kqm8kzwkdxs2ntgck6vmyrgr)
2026-05-02 13:01:07 +01:00
Peter Steinberger e607ad4ab0 fix(telegram): route bound group native commands 2026-05-02 12:47:06 +01:00
dae-sun a147540b5f fix(telegram): register commands for group scope + preserve topic thread params 2026-05-02 12:00:05 +01:00
Peter Steinberger e497681dea fix(telegram): keep outbound timeout guard authoritative 2026-05-02 11:01:11 +01:00
Peter Steinberger a7d2953956 fix: remove duplicate Telegram DM thread helper 2026-05-02 10:59:46 +01:00
Peter Steinberger 7db255150c fix: keep Telegram DM thread IDs on flat sessions 2026-05-02 10:59:46 +01:00
Peter Steinberger b8c0a1e9ff fix(telegram): keep dm reply threads on main session 2026-05-02 09:58:08 +01:00
Peter Steinberger 09d193c592 fix: clarify telegram model picker scope 2026-05-02 08:40:19 +01:00
Peter Steinberger b5e7857c4b fix(telegram): use getMe timeout for startup probe 2026-05-02 08:04:28 +01:00
Peter Steinberger 8612af754b feat: simplify thread-bound session spawning 2026-05-02 06:58:07 +01:00
Peter Steinberger e873c1e1f8 fix: quiet telegram ipv4 fallback noise 2026-05-02 05:39:28 +01:00
Peter Steinberger 43121fb096 fix: guard provider-prefixed delivery targets 2026-05-02 05:30:41 +01:00
Peter Steinberger e65b490f11 fix(telegram): stream plain reply drafts 2026-05-02 04:51:46 +01:00
Peter Steinberger 2f828dbde9 fix: chunk telegram markdown sends 2026-05-02 04:48:16 +01:00
Peter Steinberger 332df49d2c fix(telegram): fail soft on benign delete errors 2026-05-02 04:47:39 +01:00
Peter Steinberger ac58dc2e92 fix(doctor): warn on missing channel env tokens 2026-05-02 04:29:27 +01:00
Peter Steinberger 18417f80ad refactor: annotate secret target registries 2026-05-01 20:38:03 +01:00
Peter Steinberger 9300d48244 refactor: trim telegram test harness exports 2026-05-01 18:58:42 +01:00
Peter Steinberger d5736710a9 refactor: trim telegram helper exports 2026-05-01 17:12:09 +01:00
Peter Steinberger 85cfc91a70 refactor: trim extension shim reexports 2026-05-01 14:55:47 +01:00