Commit Graph

26686 Commits

Author SHA1 Message Date
Peter Steinberger
37cc06f1fd fix: normalize claude cli fallback config 2026-04-05 07:09:13 +01:00
Ayaan Zaidi
f039bbf2aa fix: resolve acpx plugin root from shared chunks 2026-04-05 11:37:05 +05:30
Peter Steinberger
e25693315e fix: stabilize embedded runner transport and channel state 2026-04-05 07:04:18 +01:00
Peter Steinberger
749ed86fe3 test: stabilize gateway canvas and session cleanup 2026-04-05 07:04:18 +01:00
Peter Steinberger
5e0e50b12e test: stabilize gateway wizard e2e flow 2026-04-05 07:04:18 +01:00
Ayaan Zaidi
4cfb990382 fix: restore whatsapp doctor contract surface 2026-04-05 11:31:12 +05:30
Peter Steinberger
e9fa9f7822 test: reload transcript policy smoke module 2026-04-05 06:59:55 +01:00
Peter Steinberger
cb31c4813b test: mock models config planner in write serialization 2026-04-05 06:54:40 +01:00
Peter Steinberger
f5da2360a2 test: scope models config write serialization spy 2026-04-05 06:51:08 +01:00
Peter Steinberger
7f6e8c0645 test: reload gateway status command under mocks 2026-04-05 06:46:47 +01:00
Peter Steinberger
055428019e test: harden bash tool async exec coverage 2026-04-05 06:42:26 +01:00
Peter Steinberger
b63557679e test: harden models-config write serialization timing 2026-04-05 06:10:30 +01:00
Peter Steinberger
058fde2d88 test: reload runtime plugins module per test 2026-04-05 06:06:12 +01:00
Peter Steinberger
74416c5b33 test: force real timers for exec foreground timeout 2026-04-05 06:01:21 +01:00
Peter Steinberger
f7a32cd25e test: reset imessage facade runtime before each test 2026-04-05 05:58:02 +01:00
Peter Steinberger
15d5878d91 test: update telegram paginated commands expectations 2026-04-05 05:53:42 +01:00
Peter Steinberger
50b5c483ee fix: canonicalize legacy whatsapp group sessions 2026-04-05 05:47:04 +01:00
tarouca
bf0f4d93f0 fix: restore Telegram DM voice-note transcription (#61008) (thanks @manueltarouca)
* fix(telegram): enable voice-note transcription in DMs

The preflight transcription condition only triggered for group chats
(isGroup && requireMention), so voice notes sent in direct messages
were never transcribed -- they arrived as raw <media:audio> placeholders.

This regression was introduced when the Telegram channel was moved from
src/telegram/ to extensions/telegram/, losing the fix from c15385fc94.

Widen the condition to fire whenever there is audio and no accompanying
text, regardless of chat type. Group-specific guards (requireMention,
disableAudioPreflight, senderAllowedForAudioPreflight) still apply
only in group contexts.

* fix: restore Telegram DM voice-note transcription (#61008) (thanks @manueltarouca)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-05 09:49:44 +05:30
Peter Steinberger
0a71ac5d3c fix: keep discord open-policy allowlist nested 2026-04-05 05:04:10 +01:00
Peter Steinberger
1392a78c75 fix: infer configured provider for bare default models 2026-04-05 05:04:10 +01:00
Ayaan Zaidi
87a0390666 fix: write nested plugin wizard config paths (#61159) 2026-04-05 08:59:12 +05:30
Ayaan Zaidi
69be9c4a6f fix: widen path utils root contract 2026-04-05 08:59:12 +05:30
Ayaan Zaidi
9af48d9c10 fix: write nested plugin wizard config paths 2026-04-05 08:59:12 +05:30
Ayaan Zaidi
11e6c9de2e fix: cancel in-flight Android talk playback on stop (#61164) 2026-04-05 08:53:36 +05:30
Ayaan Zaidi
a746ba2dcb test(android): cover playback disable idempotency 2026-04-05 08:53:36 +05:30
Ayaan Zaidi
8d1f9ab5b8 fix(android): cancel in-flight talk playback on stop 2026-04-05 08:53:36 +05:30
OfflynAI
f0c970fb43 fix: skip sandbox skill copy junk (#61090) (thanks @joelnishanth)
* fix(skills): exclude .git and node_modules when copying skills to workspace (#60879)

* fix(skills): cover sync copy exclusions

* fix: skip sandbox skill copy junk (#61090) (thanks @joelnishanth)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-05 08:42:58 +05:30
Peter Steinberger
a235f5ed64 test: stabilize gateway control ui auth suites 2026-04-05 12:11:29 +09:00
Peter Steinberger
2636cc261c fix: scope discord doctor allowFrom alias migration 2026-04-05 04:06:31 +01:00
Ayaan Zaidi
8355f24652 test: fix talk config gate regression 2026-04-05 08:34:33 +05:30
Peter Steinberger
54a360a33e fix: stabilize shared auth and sessions send tests 2026-04-05 12:03:30 +09:00
Peter Steinberger
cad1b89b26 fix: keep core gateway tool invokes on shipped tools 2026-04-05 12:03:30 +09:00
Peter Steinberger
740d096009 test: stabilize config apply gateway suite 2026-04-05 12:03:30 +09:00
Peter Steinberger
1811e54920 test: fix plugin stream typing assertions 2026-04-05 12:03:30 +09:00
Peter Steinberger
6596e64a68 fix: stabilize gateway auth fallback tests 2026-04-05 12:03:30 +09:00
Vincent Koc
2246e8f0a9 fix(ci): sanitize providerless model warning 2026-04-05 12:02:05 +09:00
Vincent Koc
d23a81baa1 fix(ci): add no-wait completion reply option 2026-04-05 12:00:41 +09:00
Vincent Koc
19ef298678 fix(ci): skip reply wait for non-message subagents 2026-04-05 11:59:16 +09:00
Vincent Koc
7d34c1dc4c test(ci): cover non-waiting subagent completion 2026-04-05 11:58:47 +09:00
Cathryn Lavery
7587e4cac3 fix: ensure bypassPermissions when custom CLI backend args override defaults (#61114)
* fix: ensure bypassPermissions on custom CLI backend args

When users override cliBackends.claude-cli.args (e.g. to add --verbose
or change --output-format), the override array replaces the default
entirely. The normalization step only re-added --permission-mode
bypassPermissions when the legacy --dangerously-skip-permissions flag
was present — if neither flag existed, it did nothing.

This causes cron and heartbeat runs to silently fail with "exec denied:
Cron runs cannot wait for interactive exec approval" because the CLI
subprocess launches in interactive permission mode.

Fix: always inject --permission-mode bypassPermissions when no explicit
permission-mode flag is found in the resolved args, regardless of
whether the legacy flag was present.

* test(anthropic): add claude-cli permission normalization coverage

* fix(test-utils): include video generation providers

* fix: preserve claude-cli bypassPermissions on custom args (#61114) (thanks @cathrynlavery)

---------

Co-authored-by: Shadow <hi@shadowing.dev>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-04 21:55:14 -05:00
Ayaan Zaidi
91ddf3857a fix: use talk.speak for Android replies (#60954) 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
e4fe853439 fix(android): fall back on legacy talk errors 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
dd6b160707 fix(android): tighten compressed talk playback 2026-04-05 08:20:47 +05:30
Michael Faath
628fc21192 Android: stop reply speaker on voice teardown 2026-04-05 08:20:47 +05:30
Michael Faath
5942b1062e Android: route voice replies through reply speaker 2026-04-05 08:20:47 +05:30
Michael Faath
b4f0e5ae2c Android: fix mic capture queue race 2026-04-05 08:20:47 +05:30
Michael Faath
a4ada035d8 Gateway: use runtime config for talk.speak 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
3f67a52d52 docs(talk): update android playback docs 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
aae3ab152a chore(protocol): regenerate swift talk models 2026-04-05 08:20:47 +05:30
Ayaan Zaidi
db13a29bbf test(android): cover talk.speak playback helpers 2026-04-05 08:20:47 +05:30