about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-01-31 03:05:45 +0000
committerGitHub <noreply@github.com>2024-01-30 19:05:45 -0800
commit2b0f92c7e05f86e7f4c8588e2e6ddf61369b8d6c (patch)
treeb957a68af6a71940a8dd1dcf819e4e532c86bad1 /src
parent7b683b617a410a38830933b57c38b9fa74f4a4c1 (diff)
downloadvoidsky-2b0f92c7e05f86e7f4c8588e2e6ddf61369b8d6c.tar.zst
Workaround Safari content-visibility bug (#2699)
Diffstat (limited to 'src')
-rw-r--r--src/view/com/util/List.web.tsx5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/view/com/util/List.web.tsx b/src/view/com/util/List.web.tsx
index 3e81a8c37..29bad2db8 100644
--- a/src/view/com/util/List.web.tsx
+++ b/src/view/com/util/List.web.tsx
@@ -300,6 +300,9 @@ export const List = memo(React.forwardRef(ListImpl)) as <ItemT>(
   props: ListProps<ItemT> & {ref?: React.Ref<ListMethods>},
 ) => React.ReactElement
 
+// https://stackoverflow.com/questions/7944460/detect-safari-browser
+const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent)
+
 const styles = StyleSheet.create({
   contentContainer: {
     borderLeftWidth: 1,
@@ -313,7 +316,7 @@ const styles = StyleSheet.create({
   },
   row: {
     // @ts-ignore web only
-    contentVisibility: 'auto',
+    contentVisibility: isSafari ? '' : 'auto', // Safari support for this is buggy.
   },
   minHeightViewport: {
     // @ts-ignore web only