mirror of
https://github.com/suitenumerique/meet.git
synced 2026-08-13 12:17:24 +00:00
🐛(frontend) drop resize listener in useIsMobileBrowser
`isMobileBrowser()` only reads `navigator.userAgent`, which does not change during the lifetime of the document, so the previous `resize` listener never had anything meaningful to update. It did, however, dispatch `setIsMobile` on components rendered into a Document Picture-in-Picture window (e.g. the reactions toolbar). When the PiP window had already been closed, Firefox threw "can't access dead object". Compute the value once and skip the listener entirely. Fix 019cb315-d827-73f2-b1cc-74e4dd71e982
This commit is contained in:
@@ -1,20 +1,8 @@
|
||||
import { isMobileBrowser } from '@livekit/components-core'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { useState } from 'react'
|
||||
|
||||
export const useIsMobile = () => {
|
||||
const [isMobile, setIsMobile] = useState(isMobileBrowser())
|
||||
|
||||
useEffect(() => {
|
||||
const handleResize = () => {
|
||||
setIsMobile(isMobileBrowser())
|
||||
}
|
||||
|
||||
window.addEventListener('resize', handleResize)
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('resize', handleResize)
|
||||
}
|
||||
}, [])
|
||||
const [isMobile] = useState(() => isMobileBrowser())
|
||||
|
||||
return isMobile
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user