Shakker
b72414c94e
fix: include startup plan in lookup timing
2026-04-27 17:02:57 +01:00
Shakker
94591c3cb3
fix: fingerprint plugin metadata index reuse
2026-04-27 17:02:57 +01:00
Shakker
58b4407cda
fix: reject stale plugin metadata inventory
2026-04-27 17:02:57 +01:00
Shakker
197c83138e
fix: reuse startup metadata in plugin bootstrap
2026-04-27 17:02:57 +01:00
Shakker
5a72378b27
fix: keep plugin metadata out of config snapshots
2026-04-27 17:02:57 +01:00
Shakker
ab28cfa9d4
fix: guard plugin metadata snapshot reuse
2026-04-27 17:02:57 +01:00
Shakker
d62cc59388
fix: reuse startup metadata for auto enable
2026-04-27 17:02:57 +01:00
Shakker
9de2bc6ffc
refactor: reuse startup plugin metadata snapshot
2026-04-27 17:02:57 +01:00
Shakker
ca4f964547
refactor: let config validation use plugin metadata snapshot
2026-04-27 17:02:57 +01:00
Shakker
440fc73448
refactor: extract plugin metadata snapshot
2026-04-27 17:02:57 +01:00
Peter Steinberger
1fd0802b88
perf(test): route more unit tests through fast lane
2026-04-27 17:01:16 +01:00
Omar Shahine
8ce4f8fc84
fix(gateway): redact SecretRef apiKey through talk.config without throwing
...
The talk.config discovery RPC was handing the source-snapshot's
talkProviderConfig (with the unresolved SecretRef wrapper still on
apiKey) to speechProvider.resolveTalkConfig. ElevenLabs/OpenAI's
strict normalizeResolvedSecretInputString helper threw 'unresolved
SecretRef' there, so iOS / macOS / Control UI Talk overlays never
learned the configured provider and silently fell back to local
AVSpeechSynthesizer ('robot voice') even though talk.realtime.session
and talk.speak both worked end-to-end with the same SecretRef.
Prefer the runtime-resolved provider config when calling
resolveTalkConfig, strip the apiKey field if it's still a SecretRef
wrapper at the call site, and restore the source-shaped apiKey onto
the response so the UI keeps the SecretRef context. Redaction strips
the value when includeSecrets=false.
Adds a regression test using a strict resolver speech provider that
mirrors ElevenLabs/OpenAI behavior so the path stays covered for
SecretRef apiKeys.
Fixes #72496
Thanks @omarshahine
2026-04-27 08:59:12 -07:00
Val Alexander
1cf68b9243
fix(control-ui): keep google talk off webrtc
...
Keep Google Live Talk browser sessions on the supported WebSocket/gateway-relay paths instead of falling back to browser WebRTC, remove stale browser-native voice controls that bypass Talk/TTS provider settings, and harden the Google Live URL plus realtime relay resource controls.
Verification:
- pnpm test ui/src/ui/realtime-talk.test.ts ui/src/ui/realtime-talk-google-live.test.ts src/gateway/talk-realtime-relay.test.ts src/gateway/server-methods/talk.test.ts
- pnpm check:changed
2026-04-27 10:35:34 -05:00
Peter Steinberger
1560e26f3d
fix(ci): align yuanbao channel catalog contract
2026-04-27 16:32:21 +01:00
Peter Steinberger
8304635258
perf(test): route speech provider registry through unit-fast
2026-04-27 16:16:12 +01:00
loongfay
3120401f53
feat(channel) yuanbao ( #72756 )
...
* feat(channel) yuanbao
* feat(channel) yuanbao
* docs(changelog): note Yuanbao channel plugin (#72756 ) (thanks @loongfay)
---------
Co-authored-by: loongzhao <loongzhao@tencent.com >
Co-authored-by: sliverp <870080352@qq.com >
2026-04-27 23:04:33 +08:00
Peter Steinberger
dc859584a3
fix(gateway): honor all_proxy in env dispatcher
2026-04-27 15:36:12 +01:00
Shakker
fd6c9fc7f5
fix: reuse plugin registry during config validation
2026-04-27 15:35:39 +01:00
Peter Steinberger
42fc176093
test: isolate speech provider registry mocks
2026-04-27 15:30:21 +01:00
Shakker
246fd9d3c0
fix: preserve manifest fallback for derived provider indexes
2026-04-27 15:29:11 +01:00
Shakker
4fe7303a1f
test: cover model list source planning
2026-04-27 15:29:11 +01:00
Shakker
25dda844b7
refactor: use source plan for models list
2026-04-27 15:29:11 +01:00
Shakker
f5417f626c
refactor: add model list source plan
2026-04-27 15:29:11 +01:00
Shakker
ca444af891
fix: restore npm shims on swap failure
2026-04-27 15:27:43 +01:00
Shakker
2186080963
fix: stage npm updates under global root
2026-04-27 15:27:43 +01:00
Shakker
b0127b9f1f
fix: harden npm update staging
2026-04-27 15:27:43 +01:00
Shakker
6985c6751c
fix: make npm global updates atomic
2026-04-27 15:27:43 +01:00
Peter Steinberger
9b4c1f0fa3
test: update compaction token test contexts
2026-04-27 15:18:28 +01:00
Peter Steinberger
467ee701ef
fix(ci): align tests with runtime barrels
2026-04-27 15:15:07 +01:00
Peter Steinberger
9090457da7
test(plugin-sdk): use narrow config runtime mocks
2026-04-27 15:14:02 +01:00
Peter Steinberger
a2af8054e1
test: harden live release checks
2026-04-27 15:11:46 +01:00
Peter Steinberger
016a0b4de9
fix(gateway): avoid echoing rotated device tokens
2026-04-27 15:10:05 +01:00
Peter Steinberger
dacf43640a
fix(ci): repair main test gates
2026-04-27 15:03:39 +01:00
Peter Steinberger
a9648664c1
perf(test): route memory dreaming through unit-fast
2026-04-27 15:03:21 +01:00
Peter Steinberger
22e2e45c57
fix(cli): skip respawn for foreground gateway
2026-04-27 15:01:33 +01:00
Peter Steinberger
d69eeeb2a8
fix: skip test-only plugin install scan findings
2026-04-27 15:00:55 +01:00
Peter Steinberger
82b4049744
refactor: narrow discord slack runtime api barrels
2026-04-27 15:00:03 +01:00
Peter Steinberger
4336a7f3a9
refactor(plugin-sdk): narrow config runtime imports
2026-04-27 14:58:32 +01:00
Peter Steinberger
f3e8a8a319
fix(agents): persist compaction token snapshots
2026-04-27 14:58:15 +01:00
Peter Steinberger
713cc74bff
fix: quiet installed plugin override warnings
2026-04-27 14:53:36 +01:00
Peter Steinberger
2e99c1d227
fix(subagents): enforce explicit spawn allowlists
2026-04-27 14:53:17 +01:00
Peter Steinberger
58a4ca4423
refactor: narrow whatsapp runtime api barrel
2026-04-27 14:52:21 +01:00
Peter Steinberger
877b5a14f1
fix(sessions): batch store cap maintenance
2026-04-27 14:51:53 +01:00
Peter Steinberger
e035300d8e
fix(acp): allow manual spawn with dispatch paused
2026-04-27 14:40:12 +01:00
Peter Steinberger
c3b3da41fe
fix: allow trusted openclaw peer symlinks
2026-04-27 14:40:02 +01:00
Peter Steinberger
ad0f600450
fix(gateway): avoid systemd service split-brain
2026-04-27 14:32:49 +01:00
Peter Steinberger
1382fb5bd7
fix(agents): fail closed missing requester completion routes
2026-04-27 14:30:59 +01:00
Peter Steinberger
6956e8406d
fix: honor profile plugin install roots
2026-04-27 14:30:12 +01:00
Shakker
f88c330657
fix: preserve runtime config during source plugin activation
2026-04-27 14:29:49 +01:00
Shakker
a964dcbddb
fix: honor source plugin activation at startup
2026-04-27 14:29:49 +01:00