Shakker
230be4e91c
test: cleanse login raw errors
2026-05-12 17:35:05 +01:00
Peter Steinberger
6a099e5971
test: dedupe model picker mock calls
2026-05-12 17:34:46 +01:00
Shakker
07f68b1b4d
test: diagnose login connection guidance
2026-05-12 17:33:57 +01:00
Shakker
63563713c6
test: pair login context guidance
2026-05-12 17:33:21 +01:00
Shakker
505aa38079
test: prescribe login auth guidance
2026-05-12 17:32:33 +01:00
Shakker
fe04523211
test: option session override selects
2026-05-12 17:31:32 +01:00
Shakker
5f081c8cd5
test: column sessions table
2026-05-12 17:30:39 +01:00
Peter Steinberger
05fabfbc9c
test: dedupe google meet mock calls
2026-05-12 17:29:52 +01:00
Shakker
b98e97210b
test: unhide raw config body
2026-05-12 17:29:15 +01:00
Shakker
bfc5d99828
test: flatten malformed config values
2026-05-12 17:28:45 +01:00
Shakker
ddfa97eba2
test: arrange config tabs
2026-05-12 17:27:32 +01:00
Shakker
2cb8a0c4fb
test: retain cron advanced labels
2026-05-12 17:26:49 +01:00
Shakker
d7dfd4a8b2
test: navigate cron run links
2026-05-12 17:26:02 +01:00
Peter Steinberger
a8bc83edf4
test: dedupe diagnostics otel mock calls
2026-05-12 17:25:57 +01:00
Shakker
3aeec2e4a4
test: wire cron suggestion lists
2026-05-12 17:25:00 +01:00
Shakker
5681cfd839
test: distinguish cron delivery options
2026-05-12 17:24:14 +01:00
Shakker
641eaeecf3
test: gather localized selectors
2026-05-12 17:23:27 +01:00
Shakker
706b9a2ef7
test: announce slash option exactly
2026-05-12 17:22:34 +01:00
Shakker
637afd6a11
test: sequence thinking option labels
2026-05-12 17:21:06 +01:00
Shakker
a728e6aaf6
test: expect config section titles
2026-05-12 17:19:26 +01:00
Peter Steinberger
6cfb532afd
test: dedupe feishu drive mock calls
2026-05-12 17:19:17 +01:00
Shakker
0c5e33480e
test: honor wildcard raw redaction
2026-05-12 17:18:20 +01:00
Shakker
3589827635
test: disclose raw redaction state
2026-05-12 17:17:48 +01:00
Shakker
c630aa3488
test: prove config reveal reset
2026-05-12 17:17:08 +01:00
Shakker
16f2b22b33
test: mask config raw secrets
2026-05-12 17:14:49 +01:00
Shakker
b5f8e4c18a
test: notice raw mode lockout
2026-05-12 17:13:34 +01:00
Peter Steinberger
72d9ea3b76
test: dedupe matrix send mock calls
2026-05-12 17:13:20 +01:00
Shakker
628eeda84a
test: limit scoped config labels
2026-05-12 17:12:41 +01:00
Shakker
ae773272ac
test: clear config diff panel
2026-05-12 17:12:00 +01:00
Shakker
0918f3823b
test: open config diff rows
2026-05-12 17:11:07 +01:00
Shakker
1f1a5c205c
test: quote theme importer hints
2026-05-12 17:09:59 +01:00
Shakker
adb8d553e4
test: mark imported theme metadata
2026-05-12 17:09:19 +01:00
Peter Steinberger
3598938458
test: dedupe openresponses mock calls
2026-05-12 17:09:07 +01:00
Shakker
c5574eb796
test: redact secret ref input
2026-05-12 17:08:23 +01:00
Shakker
c967410bed
test: unpack device pairing rows
2026-05-12 17:07:34 +01:00
Shakker
87a4da89e3
test: badge agent tool provenance
2026-05-12 17:05:43 +01:00
Shakker
9be8d38f95
test: freeze exec approval expiry
2026-05-12 17:04:46 +01:00
Peter Steinberger
c0e287f3c1
test: dedupe embedded attempt mock calls
2026-05-12 17:04:11 +01:00
Shakker
e15bb302e0
test: translate exec approval chrome
2026-05-12 17:03:22 +01:00
Shakker
4fe36dc608
test: inventory cron filter options
2026-05-12 17:02:20 +01:00
Shakker
9808fd6802
test: localize talk button title
2026-05-12 17:01:21 +01:00
Shakker
a230aefb40
test: itemize login failure panel
2026-05-12 17:00:24 +01:00
Peter Steinberger
8c6dd5bddc
test: dedupe outbound delivery mock calls
2026-05-12 16:59:51 +01:00
Shakker
9076ce0a7d
test: outline cron advanced controls
2026-05-12 16:56:32 +01:00
Shakker
24fa9ba6a4
test: expose cron edit controls
2026-05-12 16:55:20 +01:00
Shakker
a5557d1fb5
test: index cron validation status
2026-05-12 16:54:47 +01:00
Peter Steinberger
4f1bee9f8b
test: dedupe telegram send mock calls
2026-05-12 16:54:31 +01:00
Ayaan Zaidi
4272ce1597
chore(voice-call): note Telnyx realtime PR ( #81024 ) (thanks @dynamite-bud)
2026-05-12 21:23:50 +05:30
Ayaan Zaidi
665c29d4dc
fix(voice-call): bind Telnyx realtime streams to issued calls
2026-05-12 21:23:50 +05:30
Rudra
148e5467b5
fix: align Telnyx stream lifecycle parsing with carrier docs
...
Two parsing bugs caught by Codex review on the Telnyx Media Streaming
PR:
Lifecycle webhook event names had a stray `call.` prefix that never
matched Telnyx's documented event types. Telnyx surfaces stream
lifecycle as `streaming.started` and `streaming.stopped` (no prefix);
stream errors arrive as `{event:"error"}` JSON frames over the
WebSocket, not as carrier webhooks. Drop the bogus
`call.streaming.failed` case from the webhook parser and add a new
`error` frame kind to the StreamFrameAdapter union so the realtime
handler can log failures instead of silently dropping them.
Telnyx WebSocket frames carry `stream_id` at the top level of the
envelope and `call_control_id` inside the `start` object; the
Telnyx adapter was reading `start.stream_id` (always undefined) and
defaulting `providerCallId` to the constructor-supplied value
regardless of what the carrier sent. Read both fields from the
documented locations and fall back to the constructor providerCallId
only when the carrier frame omits them.
Tests updated to reflect the carrier-documented frame shapes; new
fixture covers `{event:"error"}` round-trip through the adapter.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 21:23:50 +05:30