diff --git a/deps/db/src/logseq/db.cljs b/deps/db/src/logseq/db.cljs index 603d3221c2..dcaaeaa6c8 100644 --- a/deps/db/src/logseq/db.cljs +++ b/deps/db/src/logseq/db.cljs @@ -492,7 +492,8 @@ {:block/uuid (common-uuid/gen-uuid) :block/name common-config/favorites-page-name :block/title common-config/favorites-page-name - :block/type "hidden" + :block/type "page" + :block/schema {:public? false} :block/format :markdown})])) (defn build-favorite-tx @@ -512,7 +513,8 @@ {:block/uuid page-id :block/name common-config/views-page-name :block/title common-config/views-page-name - :block/type "hidden" + :block/type "page" + :block/schema {:public? false} :block/format :markdown}) (sqlite-util/block-with-timestamps {:block/uuid (common-uuid/gen-uuid) diff --git a/deps/db/src/logseq/db/frontend/entity_util.cljs b/deps/db/src/logseq/db/frontend/entity_util.cljs index 887da3d3a2..84c57d3358 100644 --- a/deps/db/src/logseq/db/frontend/entity_util.cljs +++ b/deps/db/src/logseq/db/frontend/entity_util.cljs @@ -1,8 +1,7 @@ (ns logseq.db.frontend.entity-util "Lower level entity util fns used across db namespaces" (:require [datascript.core :as d] - [clojure.string :as string] - [logseq.common.config :as common-config]) + [clojure.string :as string]) (:refer-clojure :exclude [object?])) (defn db-based-graph? @@ -13,7 +12,7 @@ (defn page? [block] - (contains? #{"page" "journal" "whiteboard" "class" "property" "hidden"} + (contains? #{"page" "journal" "whiteboard" "class" "property"} (:block/type block))) (defn internal-page? @@ -52,9 +51,9 @@ [page] (when page (if (string? page) - (or (string/starts-with? page "$$$") - (= common-config/favorites-page-name page)) - (= (:block/type page) "hidden")))) + (string/starts-with? page "$$$") + (when (map? page) + (false? (get-in page [:block/schema :public?])))))) (defn object? [node] diff --git a/deps/db/src/logseq/db/frontend/malli_schema.cljs b/deps/db/src/logseq/db/frontend/malli_schema.cljs index fe4deef1f3..ebfbf6250c 100644 --- a/deps/db/src/logseq/db/frontend/malli_schema.cljs +++ b/deps/db/src/logseq/db/frontend/malli_schema.cljs @@ -228,7 +228,7 @@ "Common attributes for pages" [[:block/name :string] [:block/title :string] - [:block/type [:enum "page" "class" "property" "whiteboard" "journal" "hidden"]] + [:block/type [:enum "page" "class" "property" "whiteboard" "journal"]] [:block/alias {:optional true} [:set :int]] ;; TODO: Should this be here or in common? [:block/path-refs {:optional true} [:set :int]] diff --git a/deps/db/src/logseq/db/frontend/schema.cljs b/deps/db/src/logseq/db/frontend/schema.cljs index 1c9343335a..f7a06069a5 100644 --- a/deps/db/src/logseq/db/frontend/schema.cljs +++ b/deps/db/src/logseq/db/frontend/schema.cljs @@ -2,7 +2,7 @@ "Main datascript schemas for the Logseq app" (:require [clojure.set :as set])) -(def version 46) +(def version 47) ;; A page is a special block, a page can corresponds to multiple files with the same ":block/name". (def ^:large-vars/data-var schema diff --git a/src/main/frontend/common_keywords.cljs b/src/main/frontend/common_keywords.cljs index fef37d0422..a6c90a586b 100644 --- a/src/main/frontend/common_keywords.cljs +++ b/src/main/frontend/common_keywords.cljs @@ -2,7 +2,6 @@ "There are some keywords scattered throughout the codebase." (:require [frontend.common.schema-register :include-macros true :as sr])) - (sr/defkeyword :block/uuid "block's uuid" :uuid) @@ -13,7 +12,7 @@ (sr/defkeyword :block/type "block type" - [:enum "page" "property" "class" "whiteboard" "hidden"]) + [:enum "page" "property" "class" "whiteboard"]) (sr/defkeyword :block/parent "page blocks don't have this attr") diff --git a/src/main/frontend/db/async.cljs b/src/main/frontend/db/async.cljs index 68f02caf2d..ab424c2b37 100644 --- a/src/main/frontend/db/async.cljs +++ b/src/main/frontend/db/async.cljs @@ -17,8 +17,7 @@ [logseq.db :as ldb] [frontend.util :as util] [frontend.handler.file-based.property.util :as property-util] - [logseq.db.frontend.property :as db-property] - [logseq.db.frontend.schema :as db-schema])) + [logseq.db.frontend.property :as db-property])) (def one [conn _search-db] (let [db @conn @@ -446,7 +457,8 @@ :block/refs :block/path-refs :block/link :block/title :block/closed-value-property :block/created-at :block/updated-at - :property/schema.classes :property.value/content]}]]) + :property/schema.classes :property.value/content]}] + [47 {:fix replace-hidden-type-with-schema}]]) (let [max-schema-version (apply max (map first schema-version->updates))] (assert (<= db-schema/version max-schema-version)) diff --git a/src/main/frontend/worker/db_worker.cljs b/src/main/frontend/worker/db_worker.cljs index dcab029138..d5a1ce2025 100644 --- a/src/main/frontend/worker/db_worker.cljs +++ b/src/main/frontend/worker/db_worker.cljs @@ -321,7 +321,7 @@ (d/transact! conn initial-data {:initial-db? true}))) (try - (when-not (ldb/page-exists? @conn common-config/views-page-name "hidden") + (when-not (ldb/page-exists? @conn common-config/views-page-name "page") (ldb/create-views-page! conn)) (catch :default _e)) diff --git a/src/main/frontend/worker/export.cljs b/src/main/frontend/worker/export.cljs index 815fda29b2..b037eb73fc 100644 --- a/src/main/frontend/worker/export.cljs +++ b/src/main/frontend/worker/export.cljs @@ -76,7 +76,7 @@ (and (contains? #{:block/title :block/name} a) (or ;; normal page or block - (not (contains? #{"class" "property" "journal" "closed value" "hidden"} type)) + (not (contains? #{"class" "property" "journal" "closed value"} type)) ;; class/property created by user (and ident (contains? #{"class" "property"} type)