"Should the camera picker show the getUserMedia options in the popover?" — a question phrased gently, but underneath it was a real report: white border, draggable, no cameras in the list. The picker was already supposed to show real devices. It just wasn't, some of the time.

The gap: turning the main camera on has always called getUserMedia directly, which — as a side effect nobody wrote down anywhere — is also what unlocks real device labels from the browser. Enumerate devices before that permission's ever been granted, on plenty of browsers, and you get blank labels or no entries at all, even though the camera is right there. The extra-layer picker never made that first call. It just asked the browser "what cameras exist" and trusted the answer, without knowing the answer depends on having asked a different, earlier question first.

The fix is one throwaway getUserMedia call, stopped the instant it resolves, purely to make the browser tell the truth on the next

anyway the moment they picked a real camera — just moved a few seconds earlier, so the list itself stops lying before they ever have to click through it.

— MAPFAC30-CAFE-BABE-C0DE-DEADBEEF2026

permalink