From 33832f79419dd2c5c33561500642437a097d3ec5 Mon Sep 17 00:00:00 2001 From: Gabriel Horner Date: Mon, 20 May 2024 16:57:41 -0400 Subject: [PATCH] fix: property names with invalid idents display an error notification instead of silently failing in console. E.g. `123` as a property name --- deps/outliner/src/logseq/outliner/property.cljs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/deps/outliner/src/logseq/outliner/property.cljs b/deps/outliner/src/logseq/outliner/property.cljs index 10c1d9a94..0507eef65 100644 --- a/deps/outliner/src/logseq/outliner/property.cljs +++ b/deps/outliner/src/logseq/outliner/property.cljs @@ -104,7 +104,13 @@ it is ensured to have a unique :db/ident" [conn property-id schema {:keys [property-name properties]}] (let [db @conn - db-ident (or property-id (db-property/create-user-property-ident-from-name property-name))] + db-ident (or property-id + (try (db-property/create-user-property-ident-from-name property-name) + (catch :default e + (throw (ex-info (str e) + {:type :notification + :payload {:message "Property failed to create. Please try a different property name." + :type :error}})))))] (assert (qualified-keyword? db-ident)) (if-let [property (and (qualified-keyword? property-id) (d/entity db db-ident))] (let [changed-property-attrs