Commit Graph

792 Commits

Author SHA1 Message Date
Jayesh Betala
0c9f34eac1 fix(telegram): honor forced document videos
Fixes #80389. Thanks @jbetala7.
2026-05-11 20:27:36 +05:30
Peter Steinberger
da7cc2b11c fix(feishu): make manual setup the default 2026-05-11 13:29:13 +01:00
Peter Steinberger
0362b75824 feat(discord): add voice channel allowlist 2026-05-11 13:21:47 +01:00
Ayaan Zaidi
1c0e745de1 docs(telegram): clarify group id discovery 2026-05-11 11:36:36 +05:30
fuller-stack-dev
af1b4e04a0 docs: clarify Telegram group IDs 2026-05-11 11:36:36 +05:30
Pavan Kumar Gondhi
93ff72a5e8 fix(matrix): gate name-based allowlist resolution [AI] (#79007)
* fix: gate matrix mutable name resolution

* addressing codex review

* addressing codex review

* addressing codex review

* address feedback

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* chore: drop unrelated matrix fix churn

* chore: refresh channel config metadata

* chore: remove unrelated formatting churn

* docs: add changelog entry for PR merge
2026-05-11 10:47:27 +05:30
Ayaan Zaidi
345d459143 fix(telegram): unify stale reply context 2026-05-10 21:38:18 +05:30
Peter Steinberger
79220d7832 fix(slack): allow top-level tool sends 2026-05-10 17:04:29 +01:00
Peter Steinberger
dd167885e2 fix(slack): retain always-on room history
Co-authored-by: syedamaann <sydamaannnn@gmail.com>
2026-05-10 16:23:07 +01:00
Peter Steinberger
22963259c9 feat(slack): support reply broadcasts
Co-authored-by: tony88331 <37646987+tony88331@users.noreply.github.com>
2026-05-10 15:37:19 +01:00
Peter Steinberger
8e700ba317 feat(slack): add unfurl controls
Co-authored-by: Hemantsudarshan <hemanthsudarshan2002@gmail.com>
2026-05-10 15:29:24 +01:00
Peter Steinberger
711e09c9aa fix(discord): make native opus opt-in 2026-05-10 08:17:00 +01:00
Vincent Koc
a31b75f543 chore(channels): remove bluebubbles hangover 2026-05-10 13:53:58 +08:00
80mills
ebd776298f Add provider wildcard model visibility 2026-05-10 00:50:10 -04:00
Peter Steinberger
40aa57ba8f fix(openai): accept realtime event aliases 2026-05-10 05:20:52 +01:00
Peter Steinberger
a0fb7fb045 refactor: centralize channel ingress access 2026-05-10 00:18:36 -04:00
Peter Steinberger
f83dbbc926 fix(discord): prevent realtime answer replacement 2026-05-10 05:01:19 +01:00
Peter Steinberger
997edf66a1 fix(openai): respect disabled realtime input interruption 2026-05-10 04:50:29 +01:00
Peter Steinberger
4a6bf45422 fix(discord): log realtime voice barge-in diagnostics 2026-05-10 04:33:32 +01:00
Hua Yang
dff4a04c1f feat(signal): support container REST API
Adds container REST/WebSocket support for bbernhard/signal-cli-rest-api Signal deployments.

Closes #10240.

Thanks @Hua688.

Verification:
- pnpm exec oxfmt --check --threads=1 docs/channels/signal.md
- pnpm lint:extensions
- pnpm test extensions/signal
- pnpm tsgo:extensions && pnpm tsgo:test:extensions
- pnpm config:docs:check
- git diff --check
- CI checks on PR head 1d0a536ecd
- Crabbox/Testbox live Docker smoke tbx_01kr7h07shhcafxjc0ezfh946w / run 25614453516
2026-05-09 23:13:55 -04:00
Peter Steinberger
487687a6f0 build(discord): skip native opus builds by default (#80071) 2026-05-09 22:59:09 -04:00
Peter Steinberger
e5e1b7b834 feat: add clickclack channel extension 2026-05-09 15:29:27 +01:00
Peter Steinberger
6a2260eac0 fix: stabilize Discord realtime voice proxy 2026-05-09 14:21:51 +01:00
Peter Steinberger
eb200e369c feat: default discord voice to agent proxy 2026-05-09 12:36:37 +01:00
Peter Steinberger
cc4a596be2 fix(discord): make realtime barge-in guard tunable 2026-05-09 11:11:54 +01:00
kakahu
31a9eda81f Document Matrix presentation metadata 2026-05-09 04:41:45 -04:00
Peter Steinberger
21970c9ac9 fix(openai): log realtime voice interruptions 2026-05-09 09:36:09 +01:00
Peter Steinberger
fe9a89a2d2 fix: interrupt active discord realtime voice 2026-05-09 08:51:41 +01:00
Peter Steinberger
2e5ab0ae91 feat: improve discord realtime voice routing 2026-05-09 07:15:40 +01:00
Peter Steinberger
b34cf2f1a2 fix: externalize matrix plugin 2026-05-09 06:38:29 +01:00
Josh Avant
024528c937 fix(nextcloud-talk): detect missing bot response feature (#79657)
* fix(nextcloud-talk): detect missing bot response feature

* docs(changelog): note nextcloud talk response fix
2026-05-09 00:06:44 -05:00
Omar Shahine
81e0a1a99b feat(imessage): inbound catchup (cursor + replay loop + monitor wiring) (#79387)
Closes #78649. Adds opt-in inbound iMessage catchup that recovers messages landing in chat.db while the gateway is offline (crash, restart, mac sleep). Mirrors the design of the retired BlueBubbles catchup, adapted for the imsg JSON-RPC chats.list + messages.history fetch path.

- Schema: new channels.imessage.catchup block with enabled / maxAgeMinutes (1..720) / perRunLimit (1..500) / firstRunLookbackMinutes (1..720) / maxFailureRetries (1..1000). Disabled by default — opt-in.
- Cursor + replay loop (extensions/imessage/src/monitor/catchup.ts): per-account state under <openclawStateDir>/imessage/catchup/. Walks rows oldest-first, advances on success/give-up, holds at failed.rowid - 1 when a failure is below maxFailureRetries (cannot leapfrog held failures even when later rows in the same batch succeed). Watermark floor for parse-rejected rows.
- Bridge (extensions/imessage/src/monitor/catchup-bridge.ts): live chats.list + per-chat messages.history fetch adapter; dispatch adapter routes through the live handleMessageNow path so allowlists / group policy / dedupe / echo cache behave identically on replayed and live messages. Watermark clamped to last dispatched rowid when the cap truncates.
- Monitor wiring (extensions/imessage/src/monitor/monitor-provider.ts): catchup runs once between watch.subscribe and the live dispatch loop when enabled. Bypasses the inbound debouncer for serial per-row dispatch.
- Echo-cache TTL bumped 2 min → 12 h so own outbound rows from before a gap are not re-fed as inbound on replay.
- Generated bundled-channel-config-metadata.generated.ts so the runtime AJV schema accepts the new catchup block.
- Docs: new "Catching up after gateway downtime" section + BlueBubbles migration parity update.

Tests: 322/322 in extensions/imessage/, including 5 regression tests covering the cursor-leapfrog, parse-rejected stall, watermark vs held failure, and cap-truncation-cursor-floor edge cases that codex (gpt-5.4) and clawsweeper (gpt-5.5) found during review. Live-tested end-to-end against the running gateway: replayed=1 fetchedCount=1, agent reply observed, cursor persisted at the test row's exact rowid.

Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 22:55:59 -04:00
Omar Shahine
85ebb4c471 feat(imessage): per-group systemPrompt (parity with other channels) (#79383)
Merged via squash.

Prepared head SHA: 2eecd01ed8
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Reviewed-by: @omarshahine
2026-05-08 21:02:39 -04:00
Omar Shahine
ad0abdb3d0 docs(imessage): call out includeAttachments off-by-default (#79486)
Merged via squash.

Prepared head SHA: e2e507b6b0
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Reviewed-by: @omarshahine
2026-05-08 12:16:35 -07:00
Peter Steinberger
5457462e62 feat(discord): add realtime voice modes
Add Discord realtime voice modes with OpenAI realtime support, talk-buffer/bidi routing, per-turn speaker context enforcement, and lifecycle cleanup.
2026-05-08 09:16:04 -04:00
Shakker
baffa57c00 revert: restore progress draft behavior 2026-05-08 11:33:08 +01:00
Shakker
acb3b09e2a fix: keep progress draft labels visible 2026-05-08 11:23:59 +01:00
Ayaan Zaidi
99850d17ad docs(telegram): document reply-chain cache 2026-05-08 13:08:46 +05:30
Peter Steinberger
d29201fe4f docs: clarify BlueBubbles to imsg migration 2026-05-08 06:49:37 +01:00
Peter Steinberger
8dcc2ff1d2 fix(discord): prefer latest voice auto-join channel 2026-05-08 05:35:51 +01:00
Bek
737e5707f1 docs: clarify Slack thread sessions (#79221) 2026-05-07 23:36:37 -04:00
Omar Shahine
df069f7b02 fix(imessage): surface silent group-allowlist drops at default log level (#79190)
Merged via squash.

Prepared head SHA: 6454366a62
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Reviewed-by: @omarshahine
2026-05-07 20:09:05 -07:00
Omar Shahine
e259751ec9 feat(imessage): private-API support via imsg JSON-RPC [AI-assisted] (#78317)
Merged via squash.

Prepared head SHA: b7d336b296
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com>
Reviewed-by: @omarshahine
2026-05-07 19:20:18 -07:00
Peter Steinberger
164ecfd7c8 fix: show web search queries in progress drafts 2026-05-08 02:03:12 +01:00
Peter Steinberger
accf774591 fix: make channel progress labels rolling 2026-05-08 02:03:12 +01:00
Peter Steinberger
ef29c85a48 fix: improve Discord progress draft rendering 2026-05-08 02:03:12 +01:00
Peter Steinberger
b75e5c50bf docs: document OpenAI realtime voices 2026-05-08 01:07:46 +01:00
Peter Steinberger
36835592df feat: log discord voice transcripts 2026-05-07 22:17:42 +01:00
Vincent Koc
0fca665497 docs(imessage): document bluebubbles deprecation 2026-05-07 13:12:00 -07:00
Vincent Koc
91ed1604b0 docs(imessage): make imsg the supported setup path 2026-05-07 12:53:01 -07:00