one of the users reported me a weird issue :
in the remote debugging I've done, first the apps runs this function:
navigator.permissions.query({name: 'microphone'})
  .then(async (permission) => {
    alert(permission.state); // it returns prompt
    const success = await check(permission.state);
  }).catch(e => {
    resolve();
  });
The permission.state in the above code returns prompt Not denied, ok?
then the check function checks the mic permissions:
function check() {
  return new Promise((resolve, reject) => {
    navigator.mediaDevices.getUserMedia({
      audio: true
    }).then(stream => {
     
      resolve();
    }).catch(err => {
      console.log(err.name) //NotAllowedError
      resolve();
    });
  });
}
Here the console.log(err.name) returns the NotAllowedError
if the navigator.permissions.query({name: 'microphone'}) returns prompt how the navigator.mediaDevices.getUserMedia returns the NotAllowedError it doesn't make sense to me ?
What is your suggestion ? How to fix this issue?
