From 3363f2f4d6f9bc5ea6fb06f8fcbb6f1093d4abd4 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Sat, 3 Jun 2017 05:43:10 -0700 Subject: [PATCH] Fix isIntersecting in Chrome (#3525) --- app/javascript/mastodon/components/status.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js index 2abe50f0b..effff569a 100644 --- a/app/javascript/mastodon/components/status.js +++ b/app/javascript/mastodon/components/status.js @@ -88,9 +88,11 @@ class Status extends ImmutablePureComponent { } handleIntersection = (entry) => { - // Edge 15 doesn't support isIntersecting, but we can infer it from intersectionRatio + // Edge 15 doesn't support isIntersecting, but we can infer it // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12156111/ - const isIntersecting = entry.intersectionRatio > 0; + // https://github.com/WICG/IntersectionObserver/issues/211 + const isIntersecting = (typeof entry.isIntersecting === 'boolean') ? + entry.isIntersecting : entry.intersectionRect.height > 0; this.setState((prevState) => { if (prevState.isIntersecting && !isIntersecting) { scheduleIdleTask(this.hideIfNotIntersecting);