Explorar el Código

enhance: add pages-metadata.edn watcher behavior

Junyi Du hace 4 años
padre
commit
f1aff93807

+ 7 - 0
src/main/frontend/fs/watcher_handler.cljs

@@ -88,9 +88,16 @@
 
           ;; When metadata is added to watcher, update timestamps in db accordingly
           ;; This event is not triggered on re-index
+          ;; Persistent metadata is gold standard when db is offline, so it's forced
           (and (contains? #{"add"} type)
                (= path pages-metadata-path))
           (p/do! (repo-handler/update-pages-metadata! repo content true))
+          
+          ;; Change is triggered by external changes, so update to the db
+          ;; Don't forced update when db is online, but resolving conflicts
+          (and (contains? #{"change"} type)
+               (= path pages-metadata-path))
+          (p/do! (repo-handler/update-pages-metadata! repo content false))
 
           (contains? #{"add" "change" "unlink"} type)
           nil

+ 1 - 2
src/main/frontend/handler/repo.cljs

@@ -5,7 +5,6 @@
             [frontend.config :as config]
             [frontend.date :as date]
             [frontend.db :as db]
-            [frontend.db.model :as db-model]
             [frontend.dicts :as dicts]
             [frontend.encrypt :as encrypt]
             [frontend.format :as format]
@@ -146,6 +145,7 @@
        (state/pub-event! [:page/create-today-journal repo-url])))))
 
 (defn- load-pages-metadata!
+  "force?: if set true, skip the metadata timestamp range check"
   ([repo file-paths files]
    (load-pages-metadata! repo file-paths files false))
   ([repo file-paths files force?]
@@ -186,7 +186,6 @@
 
 (defn- parse-files-and-create-default-files-inner!
   [repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts metadata opts]
-  (js/console.log "parse-files-and-create-default-files-inner!") ;; TODO JUNYI
   (let [support-files (filter
                        (fn [file]
                          (let [format (format/get-format (:file/path file))]