b82b4d9d94
Brave on iOS injects a user-script that wraps SpeechSynthesisVoice objects with a fake proxy. Accessing v.lang on the proxy threw 'undefined is not an object (evaluating Object.getPrototypeOf(voice))'. Fix: wrap the v.lang access in _initBrowserTtsVoices filter() inside its own try/catch — bad proxies are silently discarded.