Jason O'Neal
44bf1c6d72
fix(voice-call): require realtime websocket path boundary
Tighten voice-call realtime WebSocket upgrade matching so configured stream paths match exactly or as slash-delimited children only.
Rejects same-prefix sibling paths that previously entered the realtime handler via a raw startsWith check. Preserves root stream-path child routing and adds bound VoiceCallWebhookServer regression coverage for valid child, sibling rejection, and root child behavior.
Verification:
- node scripts/run-vitest.mjs run extensions/voice-call/src/webhook.test.ts
- node scripts/run-vitest.mjs run extensions/voice-call/src/webhook.test.ts extensions/voice-call/src/webhook/realtime-handler.test.ts
- node scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.extensions.json extensions/voice-call/src/webhook.ts extensions/voice-call/src/webhook.test.ts
- ./node_modules/.bin/oxfmt --check --threads=1 extensions/voice-call/src/webhook.ts extensions/voice-call/src/webhook.test.ts
- git diff --check
- GitHub PR checks passing
2026-06-15 18:21:22 +10:00
..
2026-06-12 15:36:49 -07:00
2026-06-13 23:38:58 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-11 11:11:22 +09:00
2026-06-11 11:11:23 +09:00
2026-06-13 19:36:53 +02:00
2026-06-12 12:59:02 +00:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-05 08:49:35 -07:00
2026-06-04 21:02:07 -04:00
2026-06-14 02:21:23 +00:00
2026-06-04 21:02:07 -04:00
2026-06-14 07:39:17 +08:00
2026-06-04 08:09:34 -04:00
2026-06-10 15:22:43 +09:00
2026-06-05 08:40:35 -07:00
2026-06-04 21:02:07 -04:00
2026-06-15 00:08:57 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 00:08:57 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-07 14:16:00 -07:00
2026-06-04 21:02:07 -04:00
2026-06-06 22:56:48 -07:00
2026-06-12 10:54:21 -05:00
2026-06-04 22:06:01 -04:00
2026-06-08 21:44:57 +01:00
2026-06-04 21:02:07 -04:00
2026-06-14 12:26:53 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-14 23:01:27 +08:00
2026-06-04 21:02:07 -04:00
2026-06-11 08:25:25 +09:00
2026-06-15 12:04:55 +08:00
2026-06-09 03:53:38 +09:00
2026-06-04 21:02:07 -04:00
2026-06-12 22:48:46 -07:00
2026-06-13 19:14:16 -07:00
2026-06-04 21:02:07 -04:00
2026-06-14 22:52:18 +08:00
2026-06-04 21:33:54 -04:00
2026-06-10 13:05:24 +05:30
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 11:53:35 +08:00
2026-06-04 21:02:07 -04:00
2026-06-10 13:05:24 +05:30
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-09 16:26:16 +09:00
2026-06-11 11:11:21 +09:00
2026-06-15 14:23:57 +08:00
2026-06-04 21:02:07 -04:00
2026-06-14 05:41:49 -07:00
2026-06-14 12:18:33 +08:00
2026-06-14 07:35:14 +08:00
2026-06-14 09:11:05 -07:00
2026-06-04 21:02:07 -04:00
2026-06-15 00:08:57 -07:00
2026-06-14 18:18:20 +05:30
2026-06-14 20:19:24 +08:00
2026-06-04 21:02:07 -04:00
2026-06-11 11:11:22 +09:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-06 22:56:17 -07:00
2026-06-04 21:02:07 -04:00
2026-06-12 21:14:03 -07:00
2026-06-10 13:05:24 +05:30
2026-06-10 13:05:24 +05:30
2026-06-04 22:06:01 -04:00
2026-06-04 21:02:07 -04:00
2026-06-07 14:16:00 -07:00
2026-06-07 02:33:06 -07:00
2026-06-14 10:59:37 -07:00
2026-06-04 21:02:07 -04:00
2026-06-14 19:21:25 +08:00
2026-06-04 21:02:07 -04:00
2026-06-14 12:08:49 -07:00
2026-06-14 12:44:49 -04:00
2026-06-10 23:35:34 +09:00
2026-06-14 01:52:59 +08:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-14 22:26:58 -07:00
2026-06-10 17:49:59 +09:00
2026-06-04 21:02:07 -04:00
2026-06-14 11:13:56 +08:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-11 03:04:02 +09:00
2026-06-14 04:29:12 +08:00
2026-06-14 09:32:18 -07:00
2026-06-10 13:05:24 +05:30
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-14 07:43:17 +08:00
2026-06-15 14:43:32 +08:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-08 21:44:57 +01:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-08 21:44:57 +01:00
2026-06-07 14:16:00 -07:00
2026-06-07 14:16:00 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 18:21:22 +10:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 00:04:11 -03:00
2026-06-09 21:46:02 -05:00
2026-06-15 00:08:57 -07:00
2026-06-04 21:02:07 -04:00
2026-06-13 14:33:28 -07:00
2026-06-10 13:05:24 +05:30
2026-06-10 13:05:24 +05:30
2026-06-06 18:34:54 +02:00
2026-06-07 14:16:00 -07:00
2026-06-06 18:34:54 +02:00