fix(mobile): bak files

pull/6425/head
charlie 2022-08-17 17:15:44 +08:00 committed by Andelf
parent 5373da2deb
commit 005719cb06
3 changed files with 16 additions and 13 deletions

View File

@ -25,11 +25,11 @@
(get-backup-dir* repo relative-path version-file-dir))
(defn- truncate-old-versioned-files!
"reserve the latest 3 version files"
"reserve the latest 6 version files"
[dir]
(let [files (fs/readdirSync dir (clj->js {:withFileTypes true}))
files (mapv #(.-name %) files)
old-versioned-files (drop 3 (reverse (sort files)))]
old-versioned-files (drop 6 (reverse (sort files)))]
(doseq [file old-versioned-files]
(fs-extra/removeSync (path/join dir file)))))

View File

@ -116,11 +116,11 @@
(str repo-dir backup-dir "/" relative-path)))
(defn- truncate-old-versioned-files!
"reserve the latest 3 version files"
"reserve the latest 6 version files"
[dir]
(p/let [files (readdir dir)
files (js->clj files :keywordize-keys true)
old-versioned-files (drop 3 (reverse (sort-by :mtime files)))]
old-versioned-files (drop 6 (reverse (sort-by :mtime files)))]
(mapv (fn [file]
(.deleteFile Filesystem (clj->js {:path (js/encodeURI (:uri file))})))
old-versioned-files)))
@ -144,14 +144,14 @@
backup-dir-parent (string/replace backup-dir-parent repo-dir "")
backup-dir-name (util/node-path.name file-path)
file-extname (util/node-path.extname file-path)
new-path (util/safe-path-join
backup-root backup-dir-parent backup-dir-name
(str (string/replace (.toISOString (js/Date.)) ":" "_") "." (mobile-util/platform) file-extname))]
file-root (util/safe-path-join backup-root backup-dir-parent backup-dir-name)
file-path (util/safe-path-join file-root
(str (string/replace (.toISOString (js/Date.)) ":" "_") "." (mobile-util/platform) file-extname))]
(.writeFile Filesystem (clj->js {:data content
:path (js/encodeURI new-path)
:path (js/encodeURI file-path)
:encoding (.-UTF8 Encoding)
:recursive true}))
(truncate-old-versioned-files! backup-dir)))
(truncate-old-versioned-files! (js/encodeURI file-root))))
(defn- write-file-impl!
[_this repo _dir path content {:keys [ok-handler error-handler old-content skip-compare?]} stat]

View File

@ -37,10 +37,13 @@
[repo path content db-content mtime backup?]
(p/let [
;; save the previous content in a versioned bak file to avoid data overwritten.
_ (when-let [repo-dir (and backup? (config/get-local-dir repo))]
(if (util/electron?)
(ipc/ipc "backupDbFile" repo-dir path db-content content)
(capacitor-fs/backup-file-handle-changed! repo-dir path db-content)))
_ (-> (when-let [repo-dir (and backup? (config/get-local-dir repo))]
(prn "⚠Bak File: " path)
(if (util/electron?)
(ipc/ipc "backupDbFile" repo-dir path db-content content)
(capacitor-fs/backup-file-handle-changed! repo-dir path db-content)))
(p/catch #(js/console.error "❌ Bak Error: " path %)))
_ (file-handler/alter-file repo path content {:re-render-root? true
:from-disk? true})]
(set-missing-block-ids! content)