diff --git a/web/src/util/contentvisibility.ts b/web/src/util/contentvisibility.ts
index f825b33..c02502a 100644
--- a/web/src/util/contentvisibility.ts
+++ b/web/src/util/contentvisibility.ts
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import { RefObject, useLayoutEffect, useRef, useState } from "react"
-export default function useContentVisibilit(
+export default function useContentVisibility(
allowRevert = false,
): [boolean, RefObject] {
const ref = useRef(null)
@@ -25,13 +25,17 @@ export default function useContentVisibilit(
if (!element) {
return
}
- const listener = (evt: unknown) => {
+ const listener = ((evt: ContentVisibilityAutoStateChangeEvent) => {
+ if (evt.target !== evt.currentTarget) {
+ // Workaround for chrome bug https://issues.chromium.org/issues/365168180
+ return
+ }
if (!(evt as ContentVisibilityAutoStateChangeEvent).skipped) {
setVisible(true)
} else if (allowRevert) {
setVisible(false)
}
- }
+ }) as (evt: unknown) => void
element.addEventListener("contentvisibilityautostatechange", listener)
return () => element.removeEventListener("contentvisibilityautostatechange", listener)
}, [allowRevert])