diff --git a/packages/y-indexeddb/src/provider.ts b/packages/y-indexeddb/src/provider.ts index 295627572d..b2130655c7 100644 --- a/packages/y-indexeddb/src/provider.ts +++ b/packages/y-indexeddb/src/provider.ts @@ -111,8 +111,11 @@ export const createIndexedDBProvider = ( let datasource: ReturnType | null = null; let provider: ReturnType | null = null; - return { + const apis = { connect: () => { + if (apis.connected) { + apis.disconnect(); + } datasource = createDatasource({ dbName, mergeCount }); provider = createLazyProvider(doc, datasource, { origin: 'idb' }); provider.connect(); @@ -130,4 +133,6 @@ export const createIndexedDBProvider = ( return provider?.connected || false; }, }; + + return apis; };