Closed Bug 2043673 Opened 4 months ago Closed 4 months ago

Distinguish between "USers with no voices" and "USers where we couldn't populate voices"

Categories

(Core :: Privacy: Anti-Tracking, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
153 Branch
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.

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.

Assignee: nobody → tom
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 153 Branch
QA Whiteboard: [qa-triage-done-c154/b153]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: