enhance: don't overwrite logseq's file if changes from journal file

is empty or the default template content.

To prevent overwritten when using iCloud/OneDrive/GDrive.
pull/2830/head 0.3.9
Tienson Qin 2021-09-15 21:47:05 +08:00
parent f5cdfaa2f1
commit f59f59b9ae
3 changed files with 21 additions and 18 deletions

View File

@ -9,7 +9,8 @@
[frontend.handler.file :as file-handler] [frontend.handler.file :as file-handler]
[lambdaisland.glogi :as log] [lambdaisland.glogi :as log]
[electron.ipc :as ipc] [electron.ipc :as ipc]
[promesa.core :as p])) [promesa.core :as p]
[frontend.state :as state]))
(defn- set-missing-block-ids! (defn- set-missing-block-ids!
[content] [content]
@ -46,6 +47,13 @@
(and (= "change" type) (and (= "change" type)
(not= (string/trim content) (string/trim db-content)) (not= (string/trim content) (string/trim db-content))
(not (string/includes? path "logseq/pages-metadata.edn"))) (not (string/includes? path "logseq/pages-metadata.edn")))
(when-not (and
(string/includes? path (str "/" (config/get-journals-directory) "/"))
(or
(= (string/trim content)
(string/trim (or (state/get-default-journal-template) "")))
(= (string/trim content) "-")
(= (string/trim content) "*")))
(p/let [ (p/let [
;; save the previous content in Logseq first and commit it to avoid ;; save the previous content in Logseq first and commit it to avoid
;; any data-loss. ;; any data-loss.
@ -56,7 +64,7 @@
_ (file-handler/alter-file repo path content {:re-render-root? true _ (file-handler/alter-file repo path content {:re-render-root? true
:skip-compare? true})] :skip-compare? true})]
(set-missing-block-ids! content) (set-missing-block-ids! content)
(db/set-file-last-modified-at! repo path mtime)) (db/set-file-last-modified-at! repo path mtime)))
(contains? #{"add" "change" "unlink"} type) (contains? #{"add" "change" "unlink"} type)
nil nil

View File

@ -100,7 +100,7 @@
title (date/today) title (date/today)
file-name (date/journal-title->default title) file-name (date/journal-title->default title)
default-content (util/default-content-with-title format) default-content (util/default-content-with-title format)
template (state/get-journal-template) template (state/get-default-journal-template)
template (when (and template template (when (and template
(not (string/blank? template))) (not (string/blank? template)))
template) template)

View File

@ -969,11 +969,6 @@
([path] ([path]
(get-in @state [:ui/paths-scroll-positions path] 0))) (get-in @state [:ui/paths-scroll-positions path] 0)))
(defn get-journal-template
[]
(when-let [repo (get-current-repo)]
(get-in @state [:config repo :default-templates :journals])))
(defn set-today! (defn set-today!
[value] [value]
(set-state! :today value)) (set-state! :today value))