3cd439e068
Brave browser's anti-fingerprinting user-script (makeFakeVoiceFromVoice) intercepts the SpeechSynthesis voices array and crashes with 'undefined is not an object (evaluating Object.getPrototypeOf(voice))' when iterating over null voice entries. Defensive fix: filter null/undefined/no-lang entries from getVoices() before processing, so Brave's proxy never receives invalid objects. Fixes #58