navigator.mediaDevices.enumerateDevices() returns empty labels
navigator.mediaDevices.enumerateDevices() will return an empty label attribute value if the permission for accessing the mediadevice is not given. Try using it after getUserMedia.
(async () => { await navigator.mediaDevices.getUserMedia({audio: true, video: true}); let devices = await navigator.mediaDevices.enumerateDevices(); console.log(devices); })();
I resolved this issue by just putting my root ca to chrome.It means you should make chome browser recognizing your web server is trustworthy.