Quellcode durchsuchen

fix: can't clean up opfs dbs

Tienson Qin vor 2 Jahren
Ursprung
Commit
8f2553153b
2 geänderte Dateien mit 5 neuen und 3 gelöschten Zeilen
  1. 4 2
      src/main/frontend/db_worker.cljs
  2. 1 1
      src/main/frontend/persist_db/browser.cljs

+ 4 - 2
src/main/frontend/db_worker.cljs

@@ -118,6 +118,7 @@
   [repo]
   (when-let [db (@*sqlite-conns repo)]
     (swap! *sqlite-conns dissoc repo)
+    (swap! *datascript-conns dissoc repo)
     (.close ^Object db)))
 
 (defn- create-or-open-db!
@@ -247,8 +248,9 @@
 
   (unsafeUnlinkDB
    [_this repo]
-   (p/let [_ (close-db! repo)]
-     (remove-vfs! repo)
+   (p/let [_ (close-db! repo)
+           _ (remove-vfs! repo)]
+     (swap! *opfs-pools dissoc repo)
      nil))
 
   (exportDB

+ 1 - 1
src/main/frontend/persist_db/browser.cljs

@@ -76,7 +76,7 @@
                      [])))))
 
   (<unsafe-delete [_this repo]
-    (p/let [^js sqlite @*sqlite]
+    (when-let [^js sqlite @*sqlite]
       (.unsafeUnlinkDB sqlite repo)))
 
   (<transact-data [_this repo tx-data tx-meta]