fix(calls): bind the Online HFP modem (skip stale offline modems)#133
fix(calls): bind the Online HFP modem (skip stale offline modems)#133quad341 wants to merge 3 commits into
Conversation
_discover_modem bound the first MAC-matching iPhone HFP modem without checking Online. With the iPhone HFP-connected on two adapters it could bind an offline modem (no VoiceCallManager) — every Dial/Answer then failed with UnknownMethod. Prefer an Online modem (sort Online-first). Proven live: with both adapters Online, tincand binds the live (dongle) modem and Dial places the call. Regression test tracked as a follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks @quad341 — this is a clean fix for a genuinely nasty failure mode. Binding the first MAC-matching modem without checking Merging as-is — CI's green, branch is mergeable, and there's no integration work on my side. One thing for the follow-up bead you already mentioned: Reviewers: Qwen (local) — ok · Claude (claude-opus-4-8[1m]) — ok · Codex (gpt-5.5) — ok Verified locally + tests pass. Ready to merge — clicking the button is the only step left. |
…-a6yeb) Add §6 TestDiscoverModemOnlinePreference covering the regression fixed in the previous commit: when GetModems returns multiple iPhone HFP modems, the Online one must be bound (an offline modem has no VoiceCallManager → Dial fails with UnknownMethod). Four cases: online wins listed-second, online wins listed-first, offline-only falls back to first candidate, non-matching MAC is ignored. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Re-reviewed |
Follow-up to #132. CallController._discover_modem bound the first MAC-matching iPhone HFP modem without checking Online; with the iPhone HFP-connected on two adapters it could bind an offline modem (no VoiceCallManager), so every Dial/Answer failed with UnknownMethod. Now prefers an Online modem (sort Online-first). Proven live during a real call (Dial -> active). Regression test tracked as a follow-up bead.