···6464import {ThemeProvider as Alf} from '#/alf'
6565import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
6666import {Provider as ContextMenuProvider} from '#/components/ContextMenu'
6767+import {NuxDialogs} from '#/components/dialogs/nuxs'
6768import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry'
6869import {Provider as IntentDialogProvider} from '#/components/intents/IntentDialogs'
6970import {Provider as PortalProvider} from '#/components/Portal'
···156157 <IntentDialogProvider>
157158 <TestCtrls />
158159 <Shell />
160160+ <NuxDialogs />
159161 </IntentDialogProvider>
160162 </GestureHandlerRootView>
161163 </HideBottomBarBorderProvider>
+2
src/App.web.tsx
···5454import {ThemeProvider as Alf} from '#/alf'
5555import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
5656import {Provider as ContextMenuProvider} from '#/components/ContextMenu'
5757+import {NuxDialogs} from '#/components/dialogs/nuxs'
5758import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry'
5859import {Provider as IntentDialogProvider} from '#/components/intents/IntentDialogs'
5960import {Provider as PortalProvider} from '#/components/Portal'
···134135 <HideBottomBarBorderProvider>
135136 <IntentDialogProvider>
136137 <Shell />
138138+ <NuxDialogs />
137139 </IntentDialogProvider>
138140 </HideBottomBarBorderProvider>
139141 </ServiceConfigProvider>
···11import {type RefObject, useCallback, useEffect, useRef, useState} from 'react'
2233import {isSafari} from '#/lib/browser'
44+import {logger} from '#/logger'
45import {useVideoVolumeState} from '#/components/Post/Embed/VideoEmbed/VideoVolumeContext'
5667export function useVideoElement(ref: RefObject<HTMLVideoElement>) {
···7980 await ref.current.play()
8081 } catch (e: any) {
8182 if (
8282- !e.message?.includes(`The request is not allowed by the user agent`)
8383+ !e.message?.includes(
8484+ `The request is not allowed by the user agent`,
8585+ ) &&
8686+ !e.message?.includes(
8787+ `The play() request was interrupted by a call to pause()`,
8888+ )
8389 ) {
8490 throw e
8591 }
···176182 } else {
177183 const promise = ref.current.play()
178184 if (promise !== undefined) {
179179- promise.catch(err => {
180180- console.error('Error playing video:', err)
185185+ promise.catch((err: any) => {
186186+ if (
187187+ // ignore this common error. it's fine
188188+ !err.message?.includes(
189189+ `The play() request was interrupted by a call to pause()`,
190190+ )
191191+ ) {
192192+ logger.error('Error playing video:', {message: err})
193193+ }
181194 })
182195 }
183196 }