Distinguish between "USers with no voices" and "USers where we couldn't populate voices"
Categories
(Core :: Privacy: Anti-Tracking, enhancement)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox153 | --- | fixed |
People
(Reporter: tjr, Assigned: tjr)
References
(Depends on 1 open bug)
Details
Attachments
(1 file)
Presently they both fall into the same values reported.
| Assignee | ||
Comment 1•4 months ago
|
||
speechSynthesis.getVoices() populates asynchronously via voiceschanged.
populateVoiceList already races a 5s timeout against that population;
previously the timeout path resolved a fake empty list, making timed-out
submissions indistinguishable from devices with no TTS engine in the
characteristics ping (both reported voicesCount=0 / voicesSha1=sha1("")).
This patch makes the timeout path emit no voices_* fields at all, so
timed-out submissions appear as NULL voicesCount / voicesSha1 / etc. in
BigQuery and genuine empty enumerations remain voicesCount=0. The two
cohorts are now separable without overloading any field's semantic
meaning. populateMappableData's dispatch loop now skips any metric whose
populator returned undefined, which is purely additive for every other
populator.
Updated•4 months ago
|
Comment 3•4 months ago
|
||
| bugherder | ||
Updated•3 months ago
|
Description
•