diff --git a/src/pouchdb/platformReactNative.isOnline.ts b/src/pouchdb/platformReactNative.isOnline.ts index 8081dad3c..ebe669f0f 100644 --- a/src/pouchdb/platformReactNative.isOnline.ts +++ b/src/pouchdb/platformReactNative.isOnline.ts @@ -1,5 +1,15 @@ +import NetInfo from '@react-native-community/netinfo' + import { NetService } from '/libs/services/NetService' +let currentState: boolean | undefined = undefined + export const isOnline = async (): Promise => { - return (await NetService.isConnected()) ?? true + if (currentState === undefined) { + currentState = (await NetService.isConnected()) ?? true + NetInfo.addEventListener(state => { + currentState = state.isConnected ?? true + }) + } + return currentState }