Teknium
0f64557c06
fix(wake): coerce dead onnx->tflite on macOS ARM64; clear stale voice turn-timeout
...
Two follow-ups from the voice PR (#70509 ).
1. macOS ARM64 onnx migration. Existing users who pinned
openwakeword.inference_framework=onnx before the tflite fix landed kept a
wake word that arms but never fires (ONNX's embedding model is broken on
Apple Silicon, upstream #336 ). New resolve_inference_framework() honors an
explicit framework everywhere ONNX actually works, but coerces the one
provably-dead combination (explicit onnx + macOS ARM64) to tflite with a
one-time warning. No config mutation; empty still falls back to the platform
default. Both read sites (engine init + requirements check) route through
the shared resolver.
2. Voice turn-timeout leak. Each listen cycle reassigned turnTimeoutRef
without clearing the prior 60s timer, so a stale timer from an earlier
cycle could fire handleTurn() mid-way through a later listen — after enough
idle re-listens this wedged the loop into a non-re-arming state (the
'voice chat deactivates after ~a minute' report). Clear before re-arm.
Tests: 64 wake tests (added onnx-coercion / intel-kept / tflite-kept /
empty-default cases; updated the stale 'explicit onnx kept on ARM64' test
that encoded the old broken behavior), 39 desktop voice/wake vitest, tsc +
eslint clean.
2026-07-28 19:40:25 -07:00
..
2026-07-17 04:53:38 -07:00
2026-07-12 22:43:57 -07:00
2026-07-13 04:31:55 -07:00
2026-07-26 20:58:52 -07:00
2026-07-24 15:55:08 -07:00
2026-07-26 17:13:52 -07:00
2026-07-28 11:52:44 -07:00
2026-07-24 23:09:02 -07:00
2026-07-27 14:32:05 -07:00
2026-07-23 19:45:54 -07:00
2026-07-16 23:41:26 -07:00
2026-07-16 23:41:26 -07:00
2026-07-18 10:07:46 -07:00
2026-07-27 14:32:05 -07:00
2026-07-27 14:32:05 -07:00
2026-07-28 14:17:45 -07:00
2026-07-28 14:07:21 -07:00
2026-07-26 18:28:20 -07:00
2026-07-26 17:46:55 -07:00
2026-07-26 17:46:55 -07:00
2026-07-28 11:57:37 -07:00
2026-07-16 04:24:07 -07:00
2026-07-16 04:25:19 -07:00
2026-07-21 12:04:47 -07:00
2026-07-23 08:11:58 -07:00
2026-07-18 15:07:04 -07:00
2026-07-28 14:24:30 -07:00
2026-07-14 02:59:39 +05:30
2026-07-16 00:18:38 -07:00
2026-07-20 09:21:08 -07:00
2026-07-24 13:37:04 +10:00
2026-07-28 11:52:47 -07:00
2026-07-23 11:55:17 -07:00
2026-07-23 07:33:36 -07:00
2026-07-26 17:13:52 -07:00
2026-07-27 11:53:48 -04:00
2026-07-20 06:50:31 -07:00
2026-07-26 18:02:04 -07:00
2026-07-22 12:13:01 -05:00
2026-07-26 08:26:09 -07:00
2026-07-26 20:58:39 -07:00
2026-07-24 11:45:57 -07:00
2026-07-24 09:49:00 -07:00
2026-07-16 08:52:47 +10:00
2026-07-20 06:50:11 -07:00
2026-07-23 07:33:36 -07:00
2026-07-17 20:55:24 +00:00
2026-07-13 01:59:58 -04:00
2026-07-16 00:18:38 -07:00
2026-07-20 02:25:53 -07:00
2026-07-16 00:18:38 -07:00
2026-07-16 00:18:38 -07:00
2026-07-16 00:18:38 -07:00
2026-07-14 17:09:40 +05:30
2026-07-16 22:46:46 -04:00
2026-07-22 12:13:01 -05:00
2026-07-26 20:58:43 -07:00
2026-07-23 07:33:36 -07:00
2026-07-24 17:10:39 -07:00
2026-07-14 02:59:39 +05:30
2026-07-28 00:14:19 +05:30
2026-07-26 16:27:52 -07:00
2026-07-26 19:28:55 -07:00
2026-07-17 20:55:24 +00:00
2026-07-17 06:54:51 -07:00
2026-07-16 01:28:24 -07:00
2026-07-16 01:28:13 -07:00
2026-07-16 01:28:24 -07:00
2026-07-17 20:55:24 +00:00
2026-07-24 23:09:02 -07:00
2026-07-28 11:53:36 -07:00
2026-07-21 12:43:27 -07:00
2026-07-17 20:55:24 +00:00
2026-07-17 20:55:24 +00:00
2026-07-17 04:50:47 -07:00
2026-07-28 14:31:24 -07:00
2026-07-21 12:42:33 -07:00
2026-07-17 04:57:12 -07:00
2026-07-17 04:50:47 -07:00
2026-07-28 00:53:16 -05:00
2026-07-21 12:43:00 -07:00
2026-07-18 18:49:56 -04:00
2026-07-21 12:42:33 -07:00
2026-07-21 12:42:33 -07:00
2026-07-17 20:55:24 +00:00
2026-07-21 12:43:27 -07:00
2026-07-17 20:55:24 +00:00
2026-07-24 15:47:12 -07:00
2026-07-18 04:15:13 -07:00
2026-07-21 19:54:40 -05:00
2026-07-28 15:02:52 -07:00
2026-07-21 12:42:33 -07:00
2026-07-24 15:58:01 -07:00
2026-07-22 12:13:01 -05:00
2026-07-13 02:42:18 -07:00
2026-07-24 15:59:02 -07:00
2026-07-24 13:00:53 +05:30
2026-07-28 15:02:52 -07:00
2026-07-16 00:18:38 -07:00
2026-07-14 22:14:10 -07:00
2026-07-28 14:37:19 -07:00
2026-07-23 12:01:24 -07:00
2026-07-28 18:21:01 -07:00
2026-07-28 11:52:44 -07:00
2026-07-16 00:18:38 -07:00
2026-07-26 16:18:31 -07:00
2026-07-23 11:44:43 -07:00
2026-07-25 20:15:37 -07:00
2026-07-25 18:10:24 -07:00
2026-07-23 11:44:43 -07:00
2026-07-26 20:59:26 -07:00
2026-07-28 04:24:50 -05:00
2026-07-17 04:52:02 -07:00
2026-07-22 21:58:13 -07:00
2026-07-26 17:46:42 -07:00
2026-07-26 19:30:02 -07:00
2026-07-26 19:30:02 -07:00
2026-07-27 21:26:20 -07:00
2026-07-27 20:28:31 -07:00
2026-07-24 11:45:57 -07:00
2026-07-16 08:55:10 -07:00
2026-07-14 22:00:28 -07:00
2026-07-16 00:18:38 -07:00
2026-07-28 11:57:37 -07:00
2026-07-28 11:53:09 -07:00
2026-07-21 05:27:23 -07:00
2026-07-26 20:59:36 -07:00
2026-07-28 11:53:36 -07:00
2026-07-14 02:59:39 +05:30
2026-07-28 11:54:01 -07:00
2026-07-28 11:53:36 -07:00
2026-07-28 18:12:26 -07:00
2026-07-28 14:06:56 -07:00
2026-07-28 18:12:26 -07:00
2026-07-27 20:28:35 -07:00
2026-07-14 02:59:39 +05:30
2026-07-14 02:59:39 +05:30
2026-07-13 22:26:19 -07:00
2026-07-28 11:55:01 -07:00
2026-07-28 11:57:37 -07:00
2026-07-28 11:55:01 -07:00
2026-07-28 14:07:21 -07:00
2026-07-14 02:59:39 +05:30
2026-07-28 11:54:26 -07:00
2026-07-28 11:54:26 -07:00
2026-07-28 11:55:48 -07:00
2026-07-28 14:07:21 -07:00
2026-07-28 18:12:26 -07:00
2026-07-14 02:59:39 +05:30
2026-07-28 11:55:01 -07:00
2026-07-28 11:54:26 -07:00
2026-07-28 11:53:36 -07:00
2026-07-28 11:54:26 -07:00
2026-07-28 11:55:01 -07:00
2026-07-28 11:54:26 -07:00
2026-07-28 11:55:01 -07:00
2026-07-28 12:49:23 -07:00
2026-07-28 14:17:45 -07:00
2026-07-14 02:59:39 +05:30
2026-07-28 11:57:37 -07:00
2026-07-28 11:53:09 -07:00
2026-07-28 18:12:26 -07:00
2026-07-28 14:07:21 -07:00
2026-07-27 21:26:23 -07:00
2026-07-28 11:57:37 -07:00
2026-07-28 19:40:25 -07:00
2026-07-21 11:51:01 +05:30
2026-07-17 11:37:25 +05:30
2026-07-10 19:14:06 +05:30
2026-07-28 00:05:36 +05:30
2026-07-26 18:28:20 -07:00
2026-07-22 04:40:07 -07:00
2026-07-23 21:06:47 -07:00
2026-07-27 21:10:51 -07:00