Supported browsers and versions are somehow defined in the lib/detectDevice.js file.
Indeed there are some features not available for certain old browser versions (such as
replaceTrack()) since those browsers or versions do not support the corresponding WebRTC API. However I do not have time to document all those corner cases (nobody in WebRTC-land cares much about old versions of browsers, honestly). Firefox 52 may have WebRTC but I don’t want to deal with that so old WebRTC implementation.
You can use the bowser lib into your app to detect the browser model and version.
Device.load() does not provide detailed information when it throws UnsupportedError to know about the cause of the error. I’m getting the error on Firefox 52 which is WebRTC equipped.
Device.load() does not throw with “UnsupportedError”. You probably mean the
new Device() constructor. Yes, “UnsupportedError” means just that: the browser&version is not supported, nothing else. No extra information can be provided.