Browse Source

fix: don't delete files if it's triggered by third-party sync services

Tienson Qin 4 years ago
parent
commit
0273a18a5f
2 changed files with 4 additions and 4 deletions
  1. 1 2
      src/main/frontend/fs/watcher_handler.cljs
  2. 3 2
      src/main/frontend/handler/page.cljs

+ 1 - 2
src/main/frontend/fs/watcher_handler.cljs

@@ -36,7 +36,6 @@
                  (not (:encryption/graph-parsing? @state/state)))
         (cond
           (and (= "add" type)
-               (not= (string/trim content) (string/trim db-content))
                (not (string/includes? path "logseq/pages-metadata.edn")))
           (p/let [_ (file-handler/alter-file repo path content {:re-render-root? true
                                                                 :from-disk? true})]
@@ -69,7 +68,7 @@
                (db/file-exists? repo path))
           (when-let [page-name (db/get-file-page path)]
             (println "Delete page: " page-name ", file path: " path ".")
-            (page-handler/delete! page-name #()))
+            (page-handler/delete! page-name #() :delete-file? false))
 
           (contains? #{"add" "change" "unlink"} type)
           nil

+ 3 - 2
src/main/frontend/handler/page.cljs

@@ -294,7 +294,8 @@
       (config-handler/set-config! :favorites favorites))))
 
 (defn delete!
-  [page-name ok-handler]
+  [page-name ok-handler & {:keys [delete-file?]
+                           :or {delete-file? true}}]
   (when page-name
     (when-let [repo (state/get-current-repo)]
       (let [page-name (string/lower-case page-name)
@@ -305,7 +306,7 @@
                      blocks)]
         (db/transact! tx-data)
 
-        (delete-file! repo page-name)
+        (when delete-file? (delete-file! repo page-name))
 
         ;; if other page alias this pagename,
         ;; then just remove some attrs of this entity instead of retractEntity