You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hang-proof meeting detection: timeout the mic check
The poll loop awaited _inMeeting() with no upper bound. If michelper
wedged (common after sleep/wake or a CoreAudio hiccup), that await never
resolved, the finally never ran, and detection froze permanently — the
log went silent while the mic stayed active and the Split/Stop bar never
appeared.
Race _inMeeting() against a 6s hard timeout in poll() (treat a timeout
as "no signal" and carry on), and force-kill michelper if its execFile
callback never fires so its promise can't hang.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>