visibilitychange not firing on browser close in firefox

I am trying to send some data for analytics on browser close and the visibilitychange event listener is not being triggered on browser close on firefox. This works as expected in chrome.

MDN says this event fires on browser close.

document.addEventListener('visibilitychange', () => {
  if(document.visibilityState === 'hidden') {
    navigator.sendBeacon('http://localhost:3001')
  }
})