replicache icon indicating copy to clipboard operation
replicache copied to clipboard

dropAllDatabases does not respect experimentalCreateKVStore

Open NavaceSystem opened this issue 1 year ago • 3 comments

"replicache": "14.2.2",

We are trying to use replicache in react-native using the experimentalCreateKVStore with https://github.com/Braden1996/react-native-replicache binding. Everything works fine except for the the dropAllDatabases and dropDatabase calls. It seems to be ignoring the binding and doing its default "web" stuff. I've traced the minified Replicache code to debug this and below are 2 errors that made me reach this conclusion:

  • When calling dropAllDatabases, it errors out on this line in replicache return navigator.userAgent.includes("Firefox"). It obviously has some FF specific logic but this code shouldn't be running at all. When the experimentalKVStore is present it should be calling its destroy function.
  • If I hard code the above to be false, it continues to error out at indexedDB.deleteDatabase(t). Again IDB is a web specific thing, it shouldn't be running this code at all.

NavaceSystem avatar Jun 08 '24 08:06 NavaceSystem

I think this is fixed in Replicache 15. We started releasing this and didn't complete it. I can't remember why. Can you take a look?

aboodman avatar Jun 10 '24 05:06 aboodman

@NavaceSystem This does seem to work in react native on Replicache 15, but Replicache seems to continue to try and sync once the DB is destroyed. Calling replicache.close() before destroying the DB results in breaking destroyAllDatabases, so I think we're kind of stuck until this one gets figured out

1kDustin avatar Jun 24 '24 18:06 1kDustin

@1kDustin do you have a reproduction or test case that shows what you're seeing? Thanks!

aboodman avatar Jun 25 '24 07:06 aboodman

Oops, this was fixed.

aboodman avatar Aug 15 '24 20:08 aboodman