From a65282c01b7ede81e9f6dce200a0adfcaf96f7e7 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Fri, 26 Apr 2024 06:30:00 +0200 Subject: [PATCH 1/5] :bug: Fix update-temp-file audit_log stored data --- backend/src/app/rpc/commands/files_temp.clj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/src/app/rpc/commands/files_temp.clj b/backend/src/app/rpc/commands/files_temp.clj index bc183cfd9..4eef26214 100644 --- a/backend/src/app/rpc/commands/files_temp.clj +++ b/backend/src/app/rpc/commands/files_temp.clj @@ -16,6 +16,7 @@ [app.db.sql :as sql] [app.features.components-v2 :as feat.compv2] [app.features.fdata :as fdata] + [app.loggers.audit :as audit] [app.rpc :as-alias rpc] [app.rpc.commands.files :as files] [app.rpc.commands.files-create :as files.create] @@ -23,6 +24,7 @@ [app.rpc.commands.projects :as projects] [app.rpc.commands.teams :as teams] [app.rpc.doc :as-alias doc] + [app.rpc.helpers :as rph] [app.util.blob :as blob] [app.util.pointer-map :as pmap] [app.util.services :as sv] @@ -100,7 +102,9 @@ :revn revn :data nil :changes (blob/encode changes)}) - nil))) + (rph/with-meta (rph/wrap nil) + {::audit/replace-props {:file-id id + :revn revn}})))) ;; --- MUTATION COMMAND: persist-temp-file From 6901acb37e79974f132146b60b85cdb031e9025f Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Thu, 25 Apr 2024 19:50:22 +0200 Subject: [PATCH 2/5] :bug: Fix ungrouping detach components --- frontend/src/app/main/data/workspace/groups.cljs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/main/data/workspace/groups.cljs b/frontend/src/app/main/data/workspace/groups.cljs index c3a403269..bbda31ecc 100644 --- a/frontend/src/app/main/data/workspace/groups.cljs +++ b/frontend/src/app/main/data/workspace/groups.cljs @@ -143,18 +143,12 @@ (map-indexed vector) (filter #(#{(:id group)} (second %))) (ffirst) - inc) - - ;; Shapes that are in a component (including root) must be detached, - ;; because cannot be easyly synchronized back to the main component. - shapes-to-detach (filter ctk/in-component-copy? - (cfh/get-children-with-self objects (:id group)))] + inc)] (-> (pcb/empty-changes it page-id) (pcb/with-objects objects) (pcb/change-parent parent-id children index-in-parent) - (pcb/remove-objects [(:id group)]) - (pcb/update-shapes (map :id shapes-to-detach) ctk/detach-shape)))) + (pcb/remove-objects [(:id group)])))) (defn remove-frame-changes [it page-id frame objects] From 22939aa689847b2a55d919608feb592fa1dbb120 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Fri, 26 Apr 2024 11:55:56 +0200 Subject: [PATCH 3/5] :bug: Fix inspect permission on shared prototype for owners --- frontend/src/app/main/ui/viewer/header.cljs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/main/ui/viewer/header.cljs b/frontend/src/app/main/ui/viewer/header.cljs index 77460f0b6..abf81479f 100644 --- a/frontend/src/app/main/ui/viewer/header.cljs +++ b/frontend/src/app/main/ui/viewer/header.cljs @@ -332,7 +332,7 @@ :title (tr "viewer.header.comments-section" (sc/get-tooltip :open-comments))} i/comments]) - (when (or (= (:type permissions) :membership) + (when (or (:in-team permissions) (and (= (:type permissions) :share-link) (= (:who-inspect permissions) "all"))) [:button {:on-click go-to-inspect From bebdc78ce6d34b38058f2badfd6f0523115185e3 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Thu, 25 Apr 2024 15:35:53 +0200 Subject: [PATCH 4/5] :bug: Fix problem with exporter texts --- frontend/src/app/main/ui/shapes/export.cljs | 6 +++++- frontend/src/app/main/ui/shapes/shape.cljs | 7 +++++++ frontend/src/app/worker/import/parser.cljs | 20 ++++++++++++++++---- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/main/ui/shapes/export.cljs b/frontend/src/app/main/ui/shapes/export.cljs index d10378e19..8ac2387e8 100644 --- a/frontend/src/app/main/ui/shapes/export.cljs +++ b/frontend/src/app/main/ui/shapes/export.cljs @@ -122,7 +122,11 @@ (add! :stroke-cap-end))) (cond-> text? - (-> (add! :grow-type) + (-> (add! :x) + (add! :y) + (add! :width) + (add! :height) + (add! :grow-type) (add! :content (comp json/encode uuid->string)) (add! :position-data (comp json/encode uuid->string)))) diff --git a/frontend/src/app/main/ui/shapes/shape.cljs b/frontend/src/app/main/ui/shapes/shape.cljs index cbda63671..e0ab37c45 100644 --- a/frontend/src/app/main/ui/shapes/shape.cljs +++ b/frontend/src/app/main/ui/shapes/shape.cljs @@ -94,6 +94,13 @@ (obj/unset! "disable-shadows?") (obj/set! "ref" ref) (obj/set! "id" (dm/fmt "shape-%" shape-id)) + + ;; TODO: This is added for backward compatibility. + (cond-> (and (cfh/text-shape? shape) (empty? (:position-data shape))) + (-> (obj/set! "x" (:x shape)) + (obj/set! "y" (:y shape)) + (obj/set! "width" (:width shape)) + (obj/set! "height" (:height shape)))) (obj/set! "style" styles)) wrapper-props diff --git a/frontend/src/app/worker/import/parser.cljs b/frontend/src/app/worker/import/parser.cljs index a0da1e60d..fab4075ca 100644 --- a/frontend/src/app/worker/import/parser.cljs +++ b/frontend/src/app/worker/import/parser.cljs @@ -272,9 +272,21 @@ (def has-position? #{:frame :rect :image :text}) (defn parse-position - [props svg-data] - (let [values (->> (select-keys svg-data [:x :y :width :height]) - (d/mapm (fn [_ val] (d/parse-double val))))] + [props node svg-data] + (let [x (get-meta node :x d/parse-double) + y (get-meta node :y d/parse-double) + width (get-meta node :width d/parse-double) + height (get-meta node :height d/parse-double) + + values (->> (select-keys svg-data [:x :y :width :height]) + (d/mapm (fn [_ val] (d/parse-double val)))) + + values + (cond-> values + (some? x) (assoc :x x) + (some? y) (assoc :y y) + (some? width) (assoc :width width) + (some? height) (assoc :height height))] (d/merge props values))) (defn parse-circle @@ -392,7 +404,7 @@ center (gpt/point center-x center-y)] (cond-> props (has-position? type) - (parse-position svg-data) + (parse-position node svg-data) (= type :svg-raw) (add-svg-position node) From 3a71068a4868d4a76132fb7501dab1a7b93c0e56 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Fri, 26 Apr 2024 12:16:05 +0200 Subject: [PATCH 5/5] :bug: Add warning when font cannot be found --- frontend/src/app/main/fonts.cljs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/fonts.cljs b/frontend/src/app/main/fonts.cljs index a17201124..31949e7fe 100644 --- a/frontend/src/app/main/fonts.cljs +++ b/frontend/src/app/main/fonts.cljs @@ -133,7 +133,10 @@ (defn- fetch-gfont-css [url] (->> (http/send! {:method :get :uri url :mode :cors :response-type :text}) - (rx/map :body))) + (rx/map :body) + (rx/catch (fn [err] + (.warn js/console "Cannot find the font" (obj/get err "message")) + (rx/empty))))) (defmethod load-font :google [{:keys [id ::on-loaded] :as font}]