mirror of
https://github.com/suitenumerique/meet.git
synced 2026-08-12 19:56:53 +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:
committed by
aleb_the_flash
parent
134d9a188f
commit
d810c9e0de
@@ -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