From f419fbea8b36900d2e2bed448ed8b39eb6be4e62 Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Thu, 25 Dec 2025 18:28:34 +0800 Subject: [PATCH] cleanup --- deps/db/src/logseq/db/common/view.cljs | 20 ++--- libs/src/LSPlugin.ts | 2 - src/main/frontend/components/header.cljs | 28 +++---- src/main/frontend/db/async.cljs | 17 ---- src/main/frontend/db/conn.cljs | 8 +- src/main/frontend/db/utils.cljs | 4 +- src/main/frontend/handler/events.cljs | 30 ++----- src/main/frontend/handler/page.cljs | 27 +----- src/main/frontend/handler/user.cljs | 2 +- .../frontend/modules/shortcut/config.cljs | 74 +---------------- src/main/frontend/worker/db/migrate.cljs | 83 ++++++++----------- src/main/frontend/worker/db_listener.cljs | 23 +++-- src/main/frontend/worker/db_worker.cljs | 2 +- src/main/frontend/worker/rtc/client_op.cljs | 7 +- src/main/frontend/worker/rtc/core.cljs | 4 +- src/main/frontend/worker/search.cljs | 16 ++-- src/main/logseq/api/app.cljs | 7 +- src/resources/dicts/en.edn | 4 - 18 files changed, 90 insertions(+), 268 deletions(-) diff --git a/deps/db/src/logseq/db/common/view.cljs b/deps/db/src/logseq/db/common/view.cljs index d33df0ae8c..f63b115f14 100644 --- a/deps/db/src/logseq/db/common/view.cljs +++ b/deps/db/src/logseq/db/common/view.cljs @@ -290,16 +290,12 @@ (map :e) set)) -(defn- get-entities-for-all-pages [db sorting property-ident {:keys [db-based?]}] +(defn- get-entities-for-all-pages [db sorting property-ident] (let [refs-count? (and (coll? sorting) (some (fn [m] (= (:id m) :block.temp/refs-count)) sorting)) - exclude-ids (when db-based? (get-exclude-page-ids db))] + exclude-ids (get-exclude-page-ids db)] (keep (fn [d] (let [e (entity-plus/unsafe->Entity db (:e d))] - (when-not (if db-based? - (exclude-ids (:db/id e)) - (or (ldb/hidden-or-internal-tag? e) - (entity-util/property? e) - (entity-util/built-in? e))) + (when-not (exclude-ids (:db/id e)) (cond-> e refs-count? (assoc :block.temp/refs-count (common-initial-data/get-block-refs-count db (:e d))))))) @@ -311,11 +307,10 @@ view-for-id (or (:db/id view-for) view-for-id*) non-hidden-e (fn [id] (let [e (d/entity db id)] (when-not (entity-util/hidden? e) - e))) - db-based? (entity-plus/db-based-graph? db)] + e)))] (case feat-type :all-pages - (get-entities-for-all-pages db sorting property-ident {:db-based? db-based?}) + (get-entities-for-all-pages db sorting property-ident) :class-objects (db-class/get-class-objects db view-for-id) @@ -443,10 +438,7 @@ :else (let [view (d/entity db view-id) group-by-property (:logseq.property.view/group-by-property view) - db-based? (entity-plus/db-based-graph? db) - list-view? (or (= :logseq.property.view/type.list (:db/ident (:logseq.property.view/type view))) - (and (not db-based?) - (contains? #{:linked-references :unlinked-references} view-feature-type))) + list-view? (= :logseq.property.view/type.list (:db/ident (:logseq.property.view/type view))) group-by-property-ident (or (:db/ident group-by-property) group-by-property-ident) group-by-closed-values? (some? (:property/closed-values group-by-property)) ref-property? (= (:db/valueType group-by-property) :db.type/ref) diff --git a/libs/src/LSPlugin.ts b/libs/src/LSPlugin.ts index b349933b2f..504d881c51 100644 --- a/libs/src/LSPlugin.ts +++ b/libs/src/LSPlugin.ts @@ -283,8 +283,6 @@ export type ExternalCommandType = | 'logseq.editor/up' | 'logseq.editor/expand-block-children' | 'logseq.editor/collapse-block-children' - | 'logseq.editor/open-file-in-default-app' - | 'logseq.editor/open-file-in-directory' | 'logseq.editor/select-all-blocks' | 'logseq.editor/toggle-open-blocks' | 'logseq.editor/zoom-in' diff --git a/src/main/frontend/components/header.cljs b/src/main/frontend/components/header.cljs index 78efbe95f8..64ec1fbe9b 100644 --- a/src/main/frontend/components/header.cljs +++ b/src/main/frontend/components/header.cljs @@ -124,17 +124,16 @@ page-menu (if (and working-page? (ldb/page? page)) (page-menu/page-menu page) (when-not config/publishing? - (when (config/db-based-graph?) - (let [block-id-str (str (:block/uuid page)) - favorited? (page-handler/favorited? block-id-str)] - [{:title (if favorited? - (t :page/unfavorite) - (t :page/add-to-favorites)) - :options {:on-click - (fn [] - (if favorited? - (page-handler/ (recent-slider) @@ -432,8 +429,7 @@ (when (user-handler/logged-in?) (rtc-indicator/uploading-detail)) - (when db-based? - (semantic-search-progressing current-repo)) + (semantic-search-progressing current-repo) (when (and (not= (state/get-current-route) :home) (not custom-home-page?)) diff --git a/src/main/frontend/db/async.cljs b/src/main/frontend/db/async.cljs index 7ea593acb5..8c92b66367 100644 --- a/src/main/frontend/db/async.cljs +++ b/src/main/frontend/db/async.cljs @@ -236,23 +236,6 @@ [?b :block/tags ?class-id]] class-ids))) -(defn > result - (sort-by :block/updated-at) - reverse))) - (defn js {:tags payload diff --git a/src/main/frontend/handler/page.cljs b/src/main/frontend/handler/page.cljs index 9bc6437b65..5ee93dac19 100644 --- a/src/main/frontend/handler/page.cljs +++ b/src/main/frontend/handler/page.cljs @@ -352,34 +352,9 @@ (:db/id page) :page))) -(defn open-file-in-default-app [] - (if-let [file-rpath (and (util/electron?) (page-util/get-page-file-rpath))] - (let [repo-dir (config/get-repo-dir (state/get-current-repo)) - file-fpath (path/path-join repo-dir file-rpath)] - (js/window.apis.openPath file-fpath)) - (notification/show! "No file found" :warning))) - -(defn copy-current-file - "FIXME: clarify usage, copy file or copy file path" - [] - (if-let [file-rpath (and (util/electron?) (page-util/get-page-file-rpath))] - (let [repo-dir (config/get-repo-dir (state/get-current-repo)) - file-fpath (path/path-join repo-dir file-rpath)] - (util/copy-to-clipboard! file-fpath)) - (notification/show! "No file found" :warning))) - -(defn open-file-in-directory [] - (if-let [file-rpath (and (util/electron?) (page-util/get-page-file-rpath))] - (let [repo-dir (config/get-repo-dir (state/get-current-repo)) - file-fpath (path/path-join repo-dir file-rpath)] - (ipc/ipc "openFileInFolder" file-fpath)) - (notification/show! "No file found" :warning))) - (defn copy-page-url ([] - (let [id (if (config/db-based-graph? (state/get-current-repo)) - (page-util/get-current-page-uuid) - (page-util/get-current-page-name))] + (let [id (page-util/get-current-page-uuid)] (copy-page-url id))) ([page-uuid] (if page-uuid diff --git a/src/main/frontend/handler/user.cljs b/src/main/frontend/handler/user.cljs index 1637844982..da0f6ce636 100644 --- a/src/main/frontend/handler/user.cljs +++ b/src/main/frontend/handler/user.cljs @@ -391,7 +391,7 @@ (:resp resp)))))) (defn > (if (sequential? ks) ks (let [{:keys [ns includes excludes]} ks] @@ -626,13 +568,6 @@ [k (if (keyword? (:fn v)) (assoc v :fn (resolve-fn (:fn v))) v)])) - (map (fn [[k v]] - [k (cond (:file-graph? v) - (update v :fn wrap-fn-with-file-graph-only-warning) - (:db-graph? v) - (update v :fn wrap-fn-with-db-graph-only-warning) - :else - v)])) (into {}))) ;; This is the only var that should be publicly expose :fn functionality @@ -690,7 +625,6 @@ :graph/add :graph/db-add :graph/db-save - :graph/re-index :editor/cycle-todo :editor/up :editor/down @@ -765,9 +699,6 @@ :ui/toggle-help :ui/toggle-theme :ui/toggle-contents - :editor/open-file-in-default-app - :editor/open-file-in-directory - :editor/copy-current-file :editor/copy-page-url :editor/set-tags :editor/add-property-deadline @@ -935,14 +866,11 @@ :graph/open :graph/remove :graph/add - :graph/re-index :sidebar/close-top :sidebar/clear :sidebar/open-today-page :search/re-index :editor/insert-youtube-timestamp - :editor/open-file-in-default-app - :editor/open-file-in-directory :editor/copy-page-url :window/close :auto-complete/prev diff --git a/src/main/frontend/worker/db/migrate.cljs b/src/main/frontend/worker/db/migrate.cljs index 3559e67159..7b5e8088c0 100644 --- a/src/main/frontend/worker/db/migrate.cljs +++ b/src/main/frontend/worker/db/migrate.cljs @@ -128,19 +128,6 @@ (fix db))] (concat common-fix additional-fix)))}) -(comment - (defn- rename-classes - [classes-to-rename] - (fn [db] - (when (ldb/db-based-graph? db) - (mapv (fn [[old new]] - (merge {:db/id (:db/id (d/entity db old)) - :db/ident new} - (when-let [new-title (get-in db-class/built-in-classes [new :title])] - {:block/title new-title - :block/name (common-util/page-name-sanity-lc new-title)}))) - classes-to-rename))))) - (defn- add-quick-add-page [_db] (let [page (-> (-> (sqlite-util/build-new-page common-config/quick-add-page-name) @@ -284,7 +271,7 @@ (defn- upgrade-version! "Return tx-data" - [conn db-based? version {:keys [properties classes rename-db-idents fix] :as migrate-updates}] + [conn version {:keys [properties classes rename-db-idents fix] :as migrate-updates}] (let [version (db-schema/parse-schema-version version) db @conn new-properties (->> (select-keys db-property/built-in-properties properties) @@ -311,9 +298,7 @@ (rename-db-ident/rename-db-idents-migration-tx-data db rename-db-idents)) fixes (when (fn? fix) (fix db)) - tx-data (if db-based? - (concat new-class-idents new-properties new-classes rename-db-idents-tx-data fixes) - fixes) + tx-data (concat new-class-idents new-properties new-classes rename-db-idents-tx-data fixes) tx-data' (concat [(sqlite-util/kv :logseq.kv/schema-version version)] tx-data) @@ -328,38 +313,36 @@ "Migrate 'frontend' datascript schema and data. To add a new migration, add an entry to schema-version->updates and bump db-schema/version" [conn & {:keys [target-version] :or {target-version db-schema/version}}] - (when (ldb/db-based-graph? @conn) - (let [db @conn - version-in-db (db-schema/parse-schema-version (or (:kv/value (d/entity db :logseq.kv/schema-version)) 0)) - compare-result (db-schema/compare-schema-version target-version version-in-db)] - (cond - (zero? compare-result) - nil + (let [db @conn + version-in-db (db-schema/parse-schema-version (or (:kv/value (d/entity db :logseq.kv/schema-version)) 0)) + compare-result (db-schema/compare-schema-version target-version version-in-db)] + (cond + (zero? compare-result) + nil - (neg? compare-result) ; outdated client, db version could be synced from server - (worker-util/post-message :notification ["Your app is using an outdated version that is incompatible with your current graph. Please update your app before editing this graph." :error false]) + (neg? compare-result) ; outdated client, db version could be synced from server + (worker-util/post-message :notification ["Your app is using an outdated version that is incompatible with your current graph. Please update your app before editing this graph." :error false]) - (pos? compare-result) - (try - (let [db-based? (ldb/db-based-graph? @conn) - updates (keep (fn [[v updates]] - (let [v* (db-schema/parse-schema-version v)] - (when (and (neg? (db-schema/compare-schema-version version-in-db v*)) - (not (pos? (db-schema/compare-schema-version v* target-version)))) - [v updates]))) - schema-version->updates) - result-ks [:tx-data :db-before :db-after :migrate-updates] - *upgrade-result-coll (atom [])] - (println "DB schema migrated from" version-in-db) - (doseq [[v m] updates] - (let [r (upgrade-version! conn db-based? v m)] - (swap! *upgrade-result-coll conj (select-keys r result-ks)))) - (swap! *upgrade-result-coll conj - (select-keys (ensure-built-in-data-exists! conn) result-ks)) - {:from-version version-in-db - :to-version target-version - :upgrade-result-coll @*upgrade-result-coll}) - (catch :default e - (prn :error (str "DB migration failed to migrate to " target-version " from " version-in-db ":")) - (js/console.error e) - (throw e))))))) + (pos? compare-result) + (try + (let [updates (keep (fn [[v updates]] + (let [v* (db-schema/parse-schema-version v)] + (when (and (neg? (db-schema/compare-schema-version version-in-db v*)) + (not (pos? (db-schema/compare-schema-version v* target-version)))) + [v updates]))) + schema-version->updates) + result-ks [:tx-data :db-before :db-after :migrate-updates] + *upgrade-result-coll (atom [])] + (println "DB schema migrated from" version-in-db) + (doseq [[v m] updates] + (let [r (upgrade-version! conn v m)] + (swap! *upgrade-result-coll conj (select-keys r result-ks)))) + (swap! *upgrade-result-coll conj + (select-keys (ensure-built-in-data-exists! conn) result-ks)) + {:from-version version-in-db + :to-version target-version + :upgrade-result-coll @*upgrade-result-coll}) + (catch :default e + (prn :error (str "DB migration failed to migrate to " target-version " from " version-in-db ":")) + (js/console.error e) + (throw e)))))) diff --git a/src/main/frontend/worker/db_listener.cljs b/src/main/frontend/worker/db_listener.cljs index f05fcb4382..3ad4e7171e 100644 --- a/src/main/frontend/worker/db_listener.cljs +++ b/src/main/frontend/worker/db_listener.cljs @@ -52,20 +52,19 @@ (defn- remove-old-embeddings-and-reset-new-updates! [conn tx-data tx-meta] - (when (ldb/db-based-graph? @conn) - (let [;; Remove old :logseq.property.embedding/hnsw-label-updated-at when importing a graph - remove-old-hnsw-tx-data (when (:import-db? tx-meta) - (->> (d/datoms @conn :avet :logseq.property.embedding/hnsw-label-updated-at) - (map (fn [d] - [:db/retract (:e d) :logseq.property.embedding/hnsw-label-updated-at])))) + (let [;; Remove old :logseq.property.embedding/hnsw-label-updated-at when importing a graph + remove-old-hnsw-tx-data (when (:import-db? tx-meta) + (->> (d/datoms @conn :avet :logseq.property.embedding/hnsw-label-updated-at) + (map (fn [d] + [:db/retract (:e d) :logseq.property.embedding/hnsw-label-updated-at])))) ;; Mark vector embedding - mark-embedding-tx-data (->> (keep (fn [datom] (when (and (= :block/title (:a datom)) (:added datom) (not (string/blank? (:v datom)))) - (:e datom))) tx-data) + mark-embedding-tx-data (->> (keep (fn [datom] (when (and (= :block/title (:a datom)) (:added datom) (not (string/blank? (:v datom)))) + (:e datom))) tx-data) ;; Mark block embedding to be computed - (map (fn [id] [:db/add id :logseq.property.embedding/hnsw-label-updated-at 0]))) - tx-data (concat remove-old-hnsw-tx-data mark-embedding-tx-data)] - (when (seq tx-data) - (ldb/transact! conn tx-data {:skip-validate-db? true}))))) + (map (fn [id] [:db/add id :logseq.property.embedding/hnsw-label-updated-at 0]))) + tx-data (concat remove-old-hnsw-tx-data mark-embedding-tx-data)] + (when (seq tx-data) + (ldb/transact! conn tx-data {:skip-validate-db? true})))) (defn listen-db-changes! [repo conn & {:keys [handler-keys]}] diff --git a/src/main/frontend/worker/db_worker.cljs b/src/main/frontend/worker/db_worker.cljs index 335b53762a..dcbff935b5 100644 --- a/src/main/frontend/worker/db_worker.cljs +++ b/src/main/frontend/worker/db_worker.cljs @@ -226,7 +226,7 @@ storage (new-sqlite-storage db) client-ops-storage (when-not @*publishing? (new-sqlite-storage client-ops-db)) - db-based? (sqlite-util/db-based-graph? repo)] + db-based? true] (swap! *sqlite-conns assoc repo {:db db :search search-db :client-ops client-ops-db}) diff --git a/src/main/frontend/worker/rtc/client_op.cljs b/src/main/frontend/worker/rtc/client_op.cljs index d56fac37a3..f4e0660dec 100644 --- a/src/main/frontend/worker/rtc/client_op.cljs +++ b/src/main/frontend/worker/rtc/client_op.cljs @@ -423,11 +423,10 @@ (count (get-all-update-kv-value-ops* @conn))))) (defn rtc-db-graph? - "Is db-graph & RTC enabled" + "Is RTC enabled" [repo] - (and (sqlite-util/db-based-graph? repo) - (or (exists? js/process) - (some? (get-graph-uuid repo))))) + (or (exists? js/process) + (some? (get-graph-uuid repo)))) (defn create-pending-block-ops-count-flow [repo] diff --git a/src/main/frontend/worker/rtc/core.cljs b/src/main/frontend/worker/rtc/core.cljs index e25352e4e4..3a0f9c7d8c 100644 --- a/src/main/frontend/worker/rtc/core.cljs +++ b/src/main/frontend/worker/rtc/core.cljs @@ -419,9 +419,7 @@ (let [repo (worker-state/get-current-repo) token (worker-state/get-id-token) conn (worker-state/get-datascript-conn repo)] - (if-not (and repo - (sqlite-util/db-based-graph? repo) - conn token) + (if-not (and repo conn token) (log/info :skip-new-task--rtc-start {:repo repo :some?-conn (some? conn) diff --git a/src/main/frontend/worker/search.cljs b/src/main/frontend/worker/search.cljs index ecd44d2e2f..04fac057b7 100644 --- a/src/main/frontend/worker/search.cljs +++ b/src/main/frontend/worker/search.cljs @@ -13,7 +13,6 @@ [logseq.common.util.namespace :as ns-util] [logseq.db :as ldb] [logseq.db.frontend.content :as db-content] - [logseq.db.sqlite.util :as sqlite-util] [logseq.graph-parser.text :as text] [missionary.core :as m])) @@ -236,9 +235,8 @@ DROP TRIGGER IF EXISTS blocks_au; [db] (let [page-ids (->> (d/datoms db :avet :block/name) (map :e)) - object-ids (when (ldb/db-based-graph? db) - (->> (d/datoms db :avet :block/tags) - (map :e))) + object-ids (->> (d/datoms db :avet :block/tags) + (map :e)) blocks (->> (distinct (concat page-ids object-ids)) (map #(d/entity db %)))] (remove hidden-entity? blocks))) @@ -459,7 +457,7 @@ DROP TRIGGER IF EXISTS blocks_au; (keep block->index))) (defn- get-blocks-from-datoms-impl - [repo {:keys [db-after db-before]} datoms] + [{:keys [db-after db-before]} datoms] (when (seq datoms) (let [blocks-to-add-set (->> (filter :added datoms) (map :e) @@ -468,7 +466,7 @@ DROP TRIGGER IF EXISTS blocks_au; (filter #(= :block/uuid (:a %))) (map :e) (set)) - blocks-to-add-set' (if (and (sqlite-util/db-based-graph? repo) (seq blocks-to-add-set)) + blocks-to-add-set' (if (seq blocks-to-add-set) (->> blocks-to-add-set (mapcat (fn [id] (map :db/id (:block/_refs (d/entity db-after id))))) (concat blocks-to-add-set) @@ -481,7 +479,7 @@ DROP TRIGGER IF EXISTS blocks_au; (remove hidden-entity?))}))) (defn- get-affected-blocks - [repo tx-report] + [tx-report] (let [data (:tx-data tx-report) datoms (filter (fn [datom] @@ -489,11 +487,11 @@ DROP TRIGGER IF EXISTS blocks_au; (contains? #{:block/uuid :block/name :block/title :block/properties} (:a datom))) data)] (when (seq datoms) - (get-blocks-from-datoms-impl repo tx-report datoms)))) + (get-blocks-from-datoms-impl tx-report datoms)))) (defn sync-search-indice [repo tx-report] - (let [{:keys [blocks-to-add blocks-to-remove]} (get-affected-blocks repo tx-report)] + (let [{:keys [blocks-to-add blocks-to-remove]} (get-affected-blocks tx-report)] ;; update page title indice (let [fuzzy-blocks-to-add (filter page-or-object? blocks-to-add) fuzzy-blocks-to-remove (filter page-or-object? blocks-to-remove)] diff --git a/src/main/logseq/api/app.cljs b/src/main/logseq/api/app.cljs index 8e51a0a0bd..76dac7daab 100644 --- a/src/main/logseq/api/app.cljs +++ b/src/main/logseq/api/app.cljs @@ -84,12 +84,7 @@ (def get_current_graph_favorites (fn [] - (if (config/db-based-graph?) - (db-based-api/get-favorites) - (some->> (:favorites (state/get-config)) - (remove string/blank?) - (filter string?) - (bean/->js))))) + (db-based-api/get-favorites))) (def get_current_graph_recent (fn [] diff --git a/src/resources/dicts/en.edn b/src/resources/dicts/en.edn index 2d1512a88d..af9eb14985 100644 --- a/src/resources/dicts/en.edn +++ b/src/resources/dicts/en.edn @@ -613,7 +613,6 @@ :graph/add "Add a graph" :graph/db-add "Add a DB graph" :graph/db-save "Save the current db to the disk (~/logseq/graphs/your-current-graph)" - :graph/re-index "Re-index current graph" :command/run "Run git command" :go/home "Go to home" :go/all-graphs "Go to all graphs" @@ -634,9 +633,6 @@ :ui/customize-appearance "Customize appearance" ;; :ui/open-new-window "Open another window" :command/toggle-favorite "Add to/remove from favorites" - :editor/open-file-in-default-app "Open file in default app" - :editor/open-file-in-directory "Open file in parent directory" - :editor/copy-current-file "Copy current file" :editor/copy-page-url "Copy page url" :ui/toggle-wide-mode "Toggle wide mode" :ui/highlight-recent-blocks "Toggle highlight recent blocks"