From a6c3569ea3e9e99bb538d4e251d35a47d980c179 Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Wed, 14 Jan 2026 12:48:54 -0500 Subject: [PATCH] fix: remove most file-graph references from frontend and electron - Remove references to old files under logseq/ e.g. logseq/version-files - Remove flashcard commands and translations that applied to file graph flashcards - Remove unused electron and frontend events - Remove timetracking config which was for file graphs --- src/electron/electron/backup_file.cljs | 14 ++--- src/electron/electron/handler.cljs | 60 ++----------------- src/main/frontend/components/block.cljs | 2 +- src/main/frontend/components/cmdk/core.cljs | 15 +---- src/main/frontend/components/settings.cljs | 9 --- src/main/frontend/db/async.cljs | 3 +- src/main/frontend/db/persist.cljs | 8 +-- src/main/frontend/extensions/srs/handler.cljs | 13 ---- src/main/frontend/handler/events.cljs | 12 ---- src/main/frontend/handler/events/ui.cljs | 4 -- src/main/frontend/handler/property.cljs | 2 +- src/main/frontend/handler/property/util.cljs | 4 +- .../frontend/modules/shortcut/config.cljs | 12 ---- src/main/frontend/state.cljs | 4 -- src/resources/dicts/ca.edn | 5 -- src/resources/dicts/cs.edn | 5 -- src/resources/dicts/de.edn | 5 -- src/resources/dicts/en.edn | 5 -- src/resources/dicts/es.edn | 5 -- src/resources/dicts/fr.edn | 5 -- src/resources/dicts/id.edn | 5 -- src/resources/dicts/it.edn | 5 -- src/resources/dicts/ja.edn | 5 -- src/resources/dicts/ko.edn | 5 -- src/resources/dicts/nb-no.edn | 5 -- src/resources/dicts/nl.edn | 5 -- src/resources/dicts/pl.edn | 5 -- src/resources/dicts/pt-br.edn | 5 -- src/resources/dicts/pt-pt.edn | 5 -- src/resources/dicts/ru.edn | 5 -- src/resources/dicts/sk.edn | 5 -- src/resources/dicts/tr.edn | 5 -- src/resources/dicts/uk.edn | 5 -- src/resources/dicts/zh-cn.edn | 5 -- src/resources/dicts/zh-hant.edn | 1 - src/test/frontend/db/query_dsl_test.cljs | 2 +- 36 files changed, 19 insertions(+), 246 deletions(-) diff --git a/src/electron/electron/backup_file.cljs b/src/electron/electron/backup_file.cljs index 1d5adfe2e5..f9b35946d3 100644 --- a/src/electron/electron/backup_file.cljs +++ b/src/electron/electron/backup_file.cljs @@ -5,7 +5,6 @@ [clojure.string :as string])) (def backup-dir "logseq/bak") -(def version-file-dir "logseq/version-files/local") (defn- get-backup-dir* [repo relative-path bak-dir] @@ -20,10 +19,6 @@ [repo relative-path] (get-backup-dir* repo relative-path backup-dir)) -(defn get-version-file-dir - [repo relative-path] - (get-backup-dir* repo relative-path version-file-dir)) - (defn- truncate-old-versioned-files! "reserve the latest `keep-versions` version files" [dir keep-versions] @@ -143,16 +138,15 @@ (< (- now-ms latest-backup-ts) min-interval-ms)))) (defn backup-file - "backup CONTENT under DIR :backup-dir or :version-file-dir - :backup-dir = `backup-dir` - :version-file-dir = `version-file-dir`" + "backup CONTENT under DIR :backup-dir + :backup-dir = `backup-dir`" [repo dir relative-path ext content & {:keys [truncate-daily? keep-versions backups-dir] :or {keep-versions 6}}] (let [dir* (or backups-dir + ;; TODO: Remove when last usage of backupDbFile event is removed from frontend.fs.node (case dir - :backup-dir (get-backup-dir repo relative-path) - :version-file-dir (get-version-file-dir repo relative-path))) + :backup-dir (get-backup-dir repo relative-path))) _ (fs-extra/ensureDirSync dir*) new-path (node-path/join dir* (str (string/replace (.toISOString (js/Date.)) ":" "_") diff --git a/src/electron/electron/handler.cljs b/src/electron/electron/handler.cljs index 1fe55e886a..a20c0d8e5c 100644 --- a/src/electron/electron/handler.cljs +++ b/src/electron/electron/handler.cljs @@ -28,7 +28,6 @@ [electron.window :as win] [logseq.cli.common.graph :as cli-common-graph] [logseq.common.graph :as common-graph] - [logseq.db.common.sqlite :as common-sqlite] [logseq.db.sqlite.util :as sqlite-util] [promesa.core :as p])) @@ -76,15 +75,6 @@ (logger/info ::backup "backup db file" path) (backup-file/backup-file repo :backup-dir path (node-path/extname path) db-content))) -(defmethod handle :addVersionFile [_window [_ repo path content]] - (backup-file/backup-file repo :version-file-dir path (node-path/extname path) content)) - -(defmethod handle :openFileBackupDir [_window [_ repo path]] - (when (string? path) - (let [dir (backup-file/get-backup-dir repo path) - full-path (utils/to-native-win-path! dir)] - (.openPath shell full-path)))) - (defmethod handle :openFileInFolder [_window [_ full-path]] (when-let [full-path (utils/to-native-win-path! full-path)] (logger/info ::open-file-in-folder full-path) @@ -203,13 +193,6 @@ (bean/->js {:path path :files files}))) -(defn- get-file-graphs-dir - "Get cache directory for file graphs" - [] - (let [dir (node-path/join (os/homedir) ".logseq" "graphs")] - (fs-extra/ensureDirSync dir) - dir)) - (defn get-graphs "Returns all graph names" [] @@ -218,8 +201,7 @@ ;; TODO support alias mechanism (defn get-graph-name "Given a graph's name of string, returns the graph's fullname. For example, given - `cat`, returns `logseq_local_/cat` for a file graph and - `logseq_db_cat` for a db graph. Returns `nil` if no such graph exists." + `cat`, returns `logseq_db_cat`. Returns `nil` if no such graph exists." [graph-identifier] (->> (get-graphs) (some #(when (or @@ -231,12 +213,9 @@ (defmethod handle :getGraphs [_window [_]] (get-graphs)) -(defmethod handle :deleteGraph [_window [_ graph graph-name _db-based?]] - (when graph-name - (db/unlink-graph! graph) - (let [old-transit-path (node-path/join (get-file-graphs-dir) (str (common-sqlite/sanitize-db-name graph) ".transit"))] - (when (fs/existsSync old-transit-path) - (fs/unlinkSync old-transit-path))))) +(defmethod handle :deleteGraph [_window [_ graph]] + (when graph + (db/unlink-graph! graph))) ;; DB related IPCs start @@ -249,24 +228,6 @@ ;; DB related IPCs End -(defn clear-cache! - [window] - (let [graphs-dir (get-file-graphs-dir)] - (fs-extra/removeSync graphs-dir)) - - (let [path (.getPath ^object app "userData")] - (doseq [dir ["search" "IndexedDB"]] - (let [path (node-path/join path dir)] - (try - (fs-extra/removeSync path) - (catch :default e - (logger/error "Clear cache:" e))))) - (utils/send-to-renderer window "redirect" {:payload {:to :home}}))) - -(defmethod handle :clearCache [window _] - (logger/info ::clear-cache) - (clear-cache! window)) - (defmethod handle :openDialog [^js _window _messages] (open-dir-dialog)) @@ -274,18 +235,9 @@ (p/let [^js result (.showOpenDialog dialog options)] result)) -(defmethod handle :copyDirectory [^js _window [_ src dest opts]] - (fs-extra/copy src dest opts)) - (defmethod handle :getLogseqDotDirRoot [] (utils/get-ls-dotdir-root)) -(defmethod handle :getSystemProxy [^js window] - (if-let [sess (.. window -webContents -session)] - (p/let [proxy (.resolveProxy sess "https://www.google.com")] - proxy) - (p/resolved nil))) - (defmethod handle :setProxy [_win [_ options]] ;; options: {:type "system" | "direct" | "socks5" | "http" | ... } (p/do! @@ -340,9 +292,6 @@ (cfgs/get-item k)) config))) -(defmethod handle :getDirname [_] - js/__dirname) - (defmethod handle :getAppBaseInfo [^js win [_ _opts]] {:isFullScreen (.isFullScreen win) :isMaximized (.isMaximized win)}) @@ -437,6 +386,7 @@ (logger/info ::quick-and-install) (.quitAndInstall autoUpdater)) +;; The graphHas* events are not used but maybe useful later? (defmethod handle :graphHasOtherWindow [^js win [_ graph]] (let [dir (utils/get-graph-dir graph)] (win/graph-has-other-windows? win dir))) diff --git a/src/main/frontend/components/block.cljs b/src/main/frontend/components/block.cljs index 3468280af6..128b69d11c 100644 --- a/src/main/frontend/components/block.cljs +++ b/src/main/frontend/components/block.cljs @@ -2365,7 +2365,7 @@ (rum/defc task-spent-time-cp [block] - (when (and (state/enable-timetracking?) (ldb/class-instance? (db/entity :logseq.class/Task) block)) + (when (ldb/class-instance? (db/entity :logseq.class/Task) block) (let [[result set-result!] (rum/use-state nil) repo (state/get-current-repo) [status-history time-spent] result] diff --git a/src/main/frontend/components/cmdk/core.cljs b/src/main/frontend/components/cmdk/core.cljs index 7a9ba255d6..cded61c685 100644 --- a/src/main/frontend/components/cmdk/core.cljs +++ b/src/main/frontend/components/cmdk/core.cljs @@ -338,17 +338,7 @@ (let [!input (::input state) !results (::results state)] (swap! !results assoc-in [group :status] :loading) - (p/let [files* (search/file-search @!input 99) - files (remove - (fn [f] - (and - f - (string/ends-with? f ".edn") - (or (string/starts-with? f "whiteboards/") - (string/starts-with? f "assets/") - (string/starts-with? f "logseq/version-files") - (contains? #{"logseq/metadata.edn" "logseq/pages-metadata.edn" "logseq/graphs-txid.edn"} f)))) - files*) + (p/let [files (search/file-search @!input 99) items (map (fn [file] (hash-map :icon "file" @@ -734,8 +724,7 @@ (defn- open-current-item-link "Opens a link for the current item if a page or block. For pages, opens the - first :url property if a db graph or for file graphs opens first property - value with a url. For blocks, opens the first url found in the block content" + first :url property" [state] (let [item (some-> state state->highlighted-item) repo (state/get-current-repo)] diff --git a/src/main/frontend/components/settings.cljs b/src/main/frontend/components/settings.cljs index 19bafaf32e..4d5fbf05f4 100644 --- a/src/main/frontend/components/settings.cljs +++ b/src/main/frontend/components/settings.cljs @@ -441,13 +441,6 @@ (fn [] (state/toggle-shortcut-tooltip!)))) -(defn timetracking-row [t enable-timetracking?] - (toggle "enable_timetracking" - (t :settings-page/enable-timetracking) - enable-timetracking? - #(let [value (not enable-timetracking?)] - (config-handler/set-config! :feature/enable-timetracking? value)))) - (defn update-home-page [event] (let [value (util/evalue event)] @@ -631,7 +624,6 @@ (rum/defcs settings-editor < rum/reactive [_state] (let [preferred-date-format (state/get-date-formatter) - enable-timetracking? (state/enable-timetracking?) enable-all-pages-public? (state/all-pages-public?) logical-outdenting? (state/logical-outdenting?) show-full-blocks? (state/show-full-blocks?) @@ -656,7 +648,6 @@ (shortcut-tooltip-row t enable-shortcut-tooltip?)) (when-not (or (util/mobile?) (mobile-util/native-platform?)) (tooltip-row t enable-tooltip?)) - (timetracking-row t enable-timetracking?) (enable-all-pages-public-row t enable-all-pages-public?)])) (rum/defc settings-advanced < rum/reactive diff --git a/src/main/frontend/db/async.cljs b/src/main/frontend/db/async.cljs index 1363052de2..a414b77479 100644 --- a/src/main/frontend/db/async.cljs +++ b/src/main/frontend/db/async.cljs @@ -34,8 +34,7 @@ (defn > title (re-find #"[^\[]+")