From 92b7a35c589261a3bd7754f633ffcbbeaff2b7c5 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Mon, 21 Oct 2024 17:37:00 +0200 Subject: [PATCH 1/9] :tada: Add test A/B for add a link to the libraries page --- frontend/src/app/main/ui/workspace/libraries.cljs | 10 +++++++++- frontend/src/app/main/ui/workspace/libraries.scss | 10 ++++++++++ frontend/translations/en.po | 8 ++++++++ frontend/translations/es.po | 8 ++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/ui/workspace/libraries.cljs b/frontend/src/app/main/ui/workspace/libraries.cljs index 0eaca99b4..26ae8ca01 100644 --- a/frontend/src/app/main/ui/workspace/libraries.cljs +++ b/frontend/src/app/main/ui/workspace/libraries.cljs @@ -14,6 +14,7 @@ [app.common.types.file :as ctf] [app.common.types.typographies-list :as ctyl] [app.common.uuid :as uuid] + [app.config :as cf] [app.main.data.modal :as modal] [app.main.data.users :as du] [app.main.data.workspace.colors :as mdc] @@ -293,7 +294,14 @@ [:* [:span {:class (stl/css :empty-state-icon)} library-icon] - (tr "workspace.libraries.no-shared-libraries-available")] + (tr "workspace.libraries.no-shared-libraries-available") + (when (cf/external-feature-flag "templates-01" "test") + [:div {:class (stl/css :templates-info)} + (tr "workspace.libraries.more-templates") + [:a {:target "_blank" + :class (stl/css :templates-info-link) + :href "https://penpot.app/libraries-templates"} + (tr "workspace.libraries.more-templates-link")]])] :else (tr "workspace.libraries.no-matches-for" search-term))]))]])) diff --git a/frontend/src/app/main/ui/workspace/libraries.scss b/frontend/src/app/main/ui/workspace/libraries.scss index dd97685cb..7c04d7b30 100644 --- a/frontend/src/app/main/ui/workspace/libraries.scss +++ b/frontend/src/app/main/ui/workspace/libraries.scss @@ -323,3 +323,13 @@ @include headlineSmallTypography; padding: $s-0 $s-16; } + +.templates-info { + color: var(--color-accent-primary); +} + +.templates-info-link { + color: var(--color-accent-primary); + text-decoration: underline; + font-weight: $fw400; +} diff --git a/frontend/translations/en.po b/frontend/translations/en.po index b0b931a05..570903def 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -4415,6 +4415,14 @@ msgstr "No matches found for “%s“" msgid "workspace.libraries.no-shared-libraries-available" msgstr "There are no Shared Libraries available" +#: src/app/main/ui/workspace/libraries.cljs:297 +msgid "workspace.libraries.more-templates" +msgstr "You can look for " + +#: src/app/main/ui/workspace/libraries.cljs:297 +msgid "workspace.libraries.more-templates-link" +msgstr "more templates in here" + #: src/app/main/ui/workspace/libraries.cljs:260 msgid "workspace.libraries.search-shared-libraries" msgstr "Search shared libraries" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 7400fd0b9..a9a4d2bef 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -4397,6 +4397,14 @@ msgstr "No se encuentra “%s“" msgid "workspace.libraries.no-shared-libraries-available" msgstr "No hay bibliotecas compartidas disponibles" +#: src/app/main/ui/workspace/libraries.cljs:297 +msgid "workspace.libraries.more-templates" +msgstr "Puedes buscar " + +#: src/app/main/ui/workspace/libraries.cljs:297 +msgid "workspace.libraries.more-templates-link" +msgstr "más plantillas aquí" + #: src/app/main/ui/workspace/libraries.cljs:260 msgid "workspace.libraries.search-shared-libraries" msgstr "Buscar bibliotecas compartidas" From 3eb35f0aa644b8f176d2417f4b143b6f5f80e088 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 30 Oct 2024 16:15:44 +0100 Subject: [PATCH 2/9] :bug: Fix incorrect thumbnail lookup on dashboard project view That causes a repeated generation of thumbnails on each page view instead of reusing already generated thumbnails. --- backend/src/app/rpc/commands/files.clj | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/backend/src/app/rpc/commands/files.clj b/backend/src/app/rpc/commands/files.clj index dcd54e7ce..355e5a4a4 100644 --- a/backend/src/app/rpc/commands/files.clj +++ b/backend/src/app/rpc/commands/files.clj @@ -356,7 +356,7 @@ f.name, f.revn, f.is_shared, - ft.media_id + ft.media_id AS thumbnail_id from file as f left join file_thumbnail as ft on (ft.file_id = f.id and ft.revn = f.revn @@ -367,13 +367,7 @@ (defn get-project-files [conn project-id] - (->> (db/exec! conn [sql:project-files project-id]) - (mapv (fn [row] - (if-let [media-id (:media-id row)] - (-> row - (dissoc :media-id) - (assoc :thumbnail-uri (resolve-public-uri media-id))) - (dissoc row :media-id)))))) + (db/exec! conn [sql:project-files project-id])) (def schema:get-project-files [:map {:title "get-project-files"} From 977a2090fbd75d721721f43a24004736030ed785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Wed, 30 Oct 2024 19:17:04 +0100 Subject: [PATCH 3/9] :tada: add command to build docs bundle --- docs/scripts/{build.sh => build} | 0 manage.sh | 34 ++++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) rename docs/scripts/{build.sh => build} (100%) diff --git a/docs/scripts/build.sh b/docs/scripts/build similarity index 100% rename from docs/scripts/build.sh rename to docs/scripts/build diff --git a/manage.sh b/manage.sh index 942aec241..09ce5ab42 100755 --- a/manage.sh +++ b/manage.sh @@ -177,13 +177,27 @@ function build-exporter-bundle { rm -rf $bundle_dir; mv ./exporter/target $bundle_dir; - echo $version > $bundle_dir/version.txt put-license-file $bundle_dir; - echo ">> bundle exporter end"; } +function build-docs-bundle { + echo ">> bundle docs start"; + + mkdir -p ./bundles + local version=$(print-current-version); + local bundle_dir="./bundles/docs"; + + build "docs"; + + rm -rf $bundle_dir; + mv ./docs/_dist $bundle_dir; + echo $version > $bundle_dir/version.txt; + put-license-file $bundle_dir; + echo ">> bundle docs end"; +} + function build-docker-images { rsync -avr --delete ./bundles/frontend/ ./docker/images/bundle-frontend/; rsync -avr --delete ./bundles/backend/ ./docker/images/bundle-backend/; @@ -204,12 +218,24 @@ function usage { echo "Options:" echo "- pull-devenv Pulls docker development oriented image" echo "- build-devenv Build docker development oriented image" + echo "- build-devenv-local Build a local docker development oriented image" echo "- create-devenv Create the development oriented docker compose service." echo "- start-devenv Start the development oriented docker compose service." echo "- stop-devenv Stops the development oriented docker compose service." echo "- drop-devenv Remove the development oriented docker compose containers, volumes and clean images." echo "- run-devenv Attaches to the running devenv container and starts development environment" + echo "- run-devenv-shell Attaches to the running devenv container and starts a bash shell." + echo "- log-devenv Show logs of the running devenv docker compose service." echo "" + echo "- build-bundle Build all bundles (frontend, backend and exporter)." + echo "- build-frontend-bundle Build frontend bundle" + echo "- build-backend-bundle Build backend bundle." + echo "- build-exporter-bundle Build exporter bundle." + echo "- build-docs-bundle Build docs bundle." + echo "" + echo "- build-docker-images Build all docker images (frontend, backend and exporter)." + echo "" + echo "- version Show penpot's version." } case $1 in @@ -276,6 +302,10 @@ case $1 in build-exporter-bundle; ;; + build-docs-bundle) + build-docs-bundle; + ;; + build-docker-images) build-docker-images ;; From 1cda61e230dd7b91b2a865c5a6d0d5fae7886c49 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 4 Nov 2024 11:02:04 +0100 Subject: [PATCH 4/9] :bug: Fix problem with plugins path positioning --- frontend/src/app/plugins/shape.cljs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/plugins/shape.cljs b/frontend/src/app/plugins/shape.cljs index c480b6b0a..0245e9c63 100644 --- a/frontend/src/app/plugins/shape.cljs +++ b/frontend/src/app/plugins/shape.cljs @@ -952,7 +952,7 @@ ;; Geometry properties {:name "x" - :get #(-> % u/proxy->shape :x) + :get #(-> % u/proxy->shape :points grc/points->rect :x) :set (fn [self value] (let [id (obj/get self "$id")] @@ -967,7 +967,7 @@ (st/emit! (dw/update-position id {:x value})))))} {:name "y" - :get #(-> % u/proxy->shape :y) + :get #(-> % u/proxy->shape :points grc/points->rect :y) :set (fn [self value] (let [id (obj/get self "$id")] @@ -991,9 +991,10 @@ {:name "parentX" :get (fn [self] (let [shape (u/proxy->shape self) + shape-x (-> shape :points grc/points->rect :x) parent-id (:parent-id shape) parent (u/locate-shape (obj/get self "$file") (obj/get self "$page") parent-id)] - (- (:x shape) (:x parent)))) + (- shape-x (:x parent)))) :set (fn [self value] (cond @@ -1013,10 +1014,11 @@ {:name "parentY" :get (fn [self] (let [shape (u/proxy->shape self) + shape-y (-> shape :points grc/points->rect :y) parent-id (:parent-id shape) parent (u/locate-shape (obj/get self "$file") (obj/get self "$page") parent-id) parent-y (:y parent)] - (- (:y shape) parent-y))) + (- shape-y parent-y))) :set (fn [self value] (cond @@ -1036,10 +1038,11 @@ {:name "boardX" :get (fn [self] (let [shape (u/proxy->shape self) + shape-x (-> shape :points grc/points->rect :x) frame-id (:parent-id shape) frame (u/locate-shape (obj/get self "$file") (obj/get self "$page") frame-id) frame-x (:x frame)] - (- (:x shape) frame-x))) + (- shape-x frame-x))) :set (fn [self value] (cond @@ -1059,10 +1062,11 @@ {:name "boardY" :get (fn [self] (let [shape (u/proxy->shape self) + shape-y (-> shape :points grc/points->rect :y) frame-id (:parent-id shape) frame (u/locate-shape (obj/get self "$file") (obj/get self "$page") frame-id) frame-y (:y frame)] - (- (:y shape) frame-y))) + (- shape-y frame-y))) :set (fn [self value] (cond @@ -1080,10 +1084,10 @@ (st/emit! (dw/update-position id {:y (+ frame-y value)})))))} {:name "width" - :get #(-> % u/proxy->shape :width)} + :get #(-> % u/proxy->shape :selrect :width)} {:name "height" - :get #(-> % u/proxy->shape :height)} + :get #(-> % u/proxy->shape :selrect :height)} {:name "bounds" :get #(-> % u/proxy->shape :points grc/points->rect format/format-bounds)} From cd3f8f0c4319e1ec24217ff9130ca848922b0343 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Mon, 4 Nov 2024 12:50:29 +0100 Subject: [PATCH 5/9] :sparkles: Add event for add-frame --- frontend/src/app/main/data/workspace/shapes.cljs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/data/workspace/shapes.cljs b/frontend/src/app/main/data/workspace/shapes.cljs index 734d0488c..c489b07dd 100644 --- a/frontend/src/app/main/data/workspace/shapes.cljs +++ b/frontend/src/app/main/data/workspace/shapes.cljs @@ -18,6 +18,7 @@ [app.common.types.shape-tree :as ctst] [app.main.data.changes :as dch] [app.main.data.comments :as dc] + [app.main.data.events :as ev] [app.main.data.workspace.edition :as dwe] [app.main.data.workspace.selection :as dws] [app.main.data.workspace.state-helpers :as wsh] @@ -129,7 +130,9 @@ (dwu/commit-undo-transaction undo-id)) (when (cfh/text-shape? shape) (->> (rx/of (dwe/start-edition-mode (:id shape))) - (rx/observe-on :async))))))))) + (rx/observe-on :async))) + (when (cfh/frame-shape? shape) + (rx/of (ptk/event ::ev/event {::ev/name "add-frame"}))))))))) (defn move-shapes-into-frame [frame-id shapes] From 3334fb0e99f83213b70caad4514036149255ebc4 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 2 Nov 2024 09:57:53 +0100 Subject: [PATCH 6/9] :bug: Add migration to fix invalid pages --- common/src/app/common/files/changes.cljc | 2 +- common/src/app/common/files/defaults.cljc | 2 +- common/src/app/common/files/migrations.cljc | 32 ++++++++++++++++++++- common/src/app/common/geom/point.cljc | 3 ++ 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/common/src/app/common/files/changes.cljc b/common/src/app/common/files/changes.cljc index 3c097b5d0..1ff501f34 100644 --- a/common/src/app/common/files/changes.cljc +++ b/common/src/app/common/files/changes.cljc @@ -467,7 +467,7 @@ #?(:clj (validate-shapes! data result items)) result)))) -;; DEPRECATED: remove before 2.3 release +;; DEPRECATED: remove after 2.3 release (defmethod process-change :set-option [data _] data) diff --git a/common/src/app/common/files/defaults.cljc b/common/src/app/common/files/defaults.cljc index 7628d9469..21a8f304f 100644 --- a/common/src/app/common/files/defaults.cljc +++ b/common/src/app/common/files/defaults.cljc @@ -6,4 +6,4 @@ (ns app.common.files.defaults) -(def version 56) +(def version 57) diff --git a/common/src/app/common/files/migrations.cljc b/common/src/app/common/files/migrations.cljc index a2e2b5f55..2ac80c1de 100644 --- a/common/src/app/common/files/migrations.cljc +++ b/common/src/app/common/files/migrations.cljc @@ -13,6 +13,7 @@ [app.common.files.defaults :as cfd] [app.common.files.helpers :as cfh] [app.common.geom.matrix :as gmt] + [app.common.geom.point :as gpt] [app.common.geom.rect :as grc] [app.common.geom.shapes :as gsh] [app.common.geom.shapes.path :as gsp] @@ -1102,6 +1103,33 @@ (update :pages-index update-vals update-container) (update :components update-vals update-container)))) + +(defn migrate-up-57 + [data] + (letfn [(fix-thread-positions [positions] + (reduce-kv (fn [result id {:keys [position] :as data}] + (let [data (cond + (gpt/point? position) + data + + (and (map? position) + (gpt/valid-point-attrs? position)) + (assoc data :position (gpt/point position)) + + :else + (assoc data :position (gpt/point 0 0)))] + (assoc result id data))) + positions + positions)) + + (update-page [page] + (d/update-when page :comment-thread-positions fix-thread-positions))] + + (-> data + (update :pages (fn [pages] (into [] (remove nil?) pages))) + (update :pages-index dissoc nil) + (update :pages-index update-vals update-page)))) + (def migrations "A vector of all applicable migrations" [{:id 2 :migrate-up migrate-up-2} @@ -1149,4 +1177,6 @@ {:id 53 :migrate-up migrate-up-26} {:id 54 :migrate-up migrate-up-54} {:id 55 :migrate-up migrate-up-55} - {:id 56 :migrate-up migrate-up-56}]) + {:id 56 :migrate-up migrate-up-56} + {:id 57 :migrate-up migrate-up-57}]) + diff --git a/common/src/app/common/geom/point.cljc b/common/src/app/common/geom/point.cljc index 2ac57cdbc..3e6a4c727 100644 --- a/common/src/app/common/geom/point.cljc +++ b/common/src/app/common/geom/point.cljc @@ -56,6 +56,9 @@ [:x ::sm/safe-number] [:y ::sm/safe-number]]) +(def valid-point-attrs? + (sm/validator schema:point-attrs)) + (def valid-point? (sm/validator [:and [:fn point?] schema:point-attrs])) From 59050a7bc6dd7b4acf6b9e9b4dcba3dc246ed2f3 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 4 Nov 2024 14:47:16 +0100 Subject: [PATCH 7/9] :paperclip: Backport frontend/package.json changes Mainly for compatibility with the upcoming devenv changes --- frontend/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/package.json b/frontend/package.json index 0064d2574..e1fdba5ad 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -38,6 +38,7 @@ "translations": "node ./scripts/translations.js", "watch": "yarn run watch:app:assets", "watch:app:assets": "node ./scripts/watch.js", + "watch:app": "clojure -M:dev:shadow-cljs watch main", "watch:storybook": "concurrently \"clojure -M:dev:shadow-cljs watch storybook\" \"storybook dev -p 6006 --no-open\" \"yarn run watch:storybook:assets\"", "watch:storybook:assets": "node ./scripts/watch-storybook.js" }, From 6c0dce580d004ff3ad393dbe2a34657678f0830c Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 4 Nov 2024 17:12:45 +0100 Subject: [PATCH 8/9] :bug: Fix problem with promises in plugins --- frontend/src/app/plugins/api.cljs | 7 +++---- frontend/src/app/plugins/comments.cljs | 13 ++++++------- frontend/src/app/plugins/file.cljs | 5 ++--- frontend/src/app/plugins/library.cljs | 7 +++---- frontend/src/app/plugins/page.cljs | 11 +++++------ frontend/src/app/plugins/shape.cljs | 5 ++--- frontend/src/app/plugins/utils.cljs | 5 ++--- 7 files changed, 23 insertions(+), 30 deletions(-) diff --git a/frontend/src/app/plugins/api.cljs b/frontend/src/app/plugins/api.cljs index 0b4b7259d..15dc990e4 100644 --- a/frontend/src/app/plugins/api.cljs +++ b/frontend/src/app/plugins/api.cljs @@ -40,8 +40,7 @@ [app.plugins.viewport :as viewport] [app.util.code-gen :as cg] [app.util.object :as obj] - [beicon.v2.core :as rx] - [promesa.core :as p])) + [beicon.v2.core :as rx])) ;; ;; PLUGINS PUBLIC API - The plugins will able to access this functions @@ -174,7 +173,7 @@ :else (let [file-id (:current-file-id @st/state)] - (p/create + (js/Promise. (fn [resolve reject] (->> (dwm/upload-media-url name file-id url) (rx/take 1) @@ -184,7 +183,7 @@ (uploadMediaData [_ name data mime-type] (let [file-id (:current-file-id @st/state)] - (p/create + (js/Promise. (fn [resolve reject] (->> (dwm/process-blobs {:file-id file-id diff --git a/frontend/src/app/plugins/comments.cljs b/frontend/src/app/plugins/comments.cljs index ff3a33106..79f8e9c39 100644 --- a/frontend/src/app/plugins/comments.cljs +++ b/frontend/src/app/plugins/comments.cljs @@ -19,13 +19,12 @@ [app.plugins.shape :as shape] [app.plugins.user :as user] [app.plugins.utils :as u] - [beicon.v2.core :as rx] - [promesa.core :as p])) + [beicon.v2.core :as rx])) (deftype CommentProxy [$plugin $file $page $thread $id] Object (remove [_] - (p/create + (js/Promise. (fn [resolve reject] (cond (not (r/check-permission $plugin "comment:write")) @@ -79,7 +78,7 @@ Object (findComments [_] - (p/create + (js/Promise. (fn [resolve reject] (cond (not (r/check-permission $plugin "comment:read")) @@ -106,7 +105,7 @@ (u/display-not-valid :reply "Not valid") :else - (p/create + (js/Promise. (fn [resolve reject] (->> (rp/cmd! :create-comment {:thread-id $id :content content}) (rx/subs! #(resolve (comment-proxy $plugin $file $page $id $users %)) reject)))))) @@ -121,9 +120,9 @@ (u/display-not-valid :remove "Cannot change content from another user's comments") :else - (p/create + (js/Promise. (fn [resolve] - (p/create + (js/Promise. (st/emit! (dc/delete-comment-thread-on-workspace {:id $id} #(resolve)))))))))) (defn comment-thread-proxy? [p] diff --git a/frontend/src/app/plugins/file.cljs b/frontend/src/app/plugins/file.cljs index d74f1d86e..acef7b860 100644 --- a/frontend/src/app/plugins/file.cljs +++ b/frontend/src/app/plugins/file.cljs @@ -20,8 +20,7 @@ [app.plugins.utils :as u] [app.util.http :as http] [app.util.object :as obj] - [beicon.v2.core :as rx] - [promesa.core :as p])) + [beicon.v2.core :as rx])) (deftype FileProxy [$plugin $id] Object @@ -128,7 +127,7 @@ file (u/proxy->file self) features (features/get-team-enabled-features @st/state) team-id (:current-team-id @st/state)] - (p/create + (js/Promise. (fn [resolve reject] (->> (uw/ask-many! {:cmd export-cmd diff --git a/frontend/src/app/plugins/library.cljs b/frontend/src/app/plugins/library.cljs index 31080c720..bce7fa071 100644 --- a/frontend/src/app/plugins/library.cljs +++ b/frontend/src/app/plugins/library.cljs @@ -30,8 +30,7 @@ [app.plugins.utils :as u] [app.util.object :as obj] [beicon.v2.core :as rx] - [potok.v2.core :as ptk] - [promesa.core :as p])) + [potok.v2.core :as ptk])) (declare lib-color-proxy) (declare lib-typography-proxy) @@ -915,7 +914,7 @@ (availableLibraries [_] (let [team-id (:current-team-id @st/state)] - (p/create + (js/Promise. (fn [resolve reject] (let [current-libs (into #{} (map first) (get @st/state :workspace-libraries))] (->> (rp/cmd! :get-team-shared-files {:team-id team-id}) @@ -939,7 +938,7 @@ (u/display-not-valid :connectLibrary "Plugin doesn't have 'library:write' permission") :else - (p/create + (js/Promise. (fn [resolve reject] (cond (not (string? library-id)) diff --git a/frontend/src/app/plugins/page.cljs b/frontend/src/app/plugins/page.cljs index 9160d739e..a575ff742 100644 --- a/frontend/src/app/plugins/page.cljs +++ b/frontend/src/app/plugins/page.cljs @@ -29,8 +29,7 @@ [app.plugins.utils :as u] [app.util.object :as obj] [beicon.v2.core :as rx] - [cuerdas.core :as str] - [promesa.core :as p])) + [cuerdas.core :as str])) (deftype FlowProxy [$plugin $file $page $id] Object @@ -288,7 +287,7 @@ (some? board) (-> (update :x - (:x board)) (update :y - (:y board))))] - (p/create + (js/Promise. (fn [resolve] (st/emit! (dc/create-thread-on-workspace @@ -315,10 +314,10 @@ (u/display-not-valid :removeCommentThread "Plugin doesn't have 'content:write' permission") :else - (p/create + (js/Promise. (fn [resolve] (let [thread-id (obj/get thread "$id")] - (p/create + (js/Promise. (st/emit! (dc/delete-comment-thread-on-workspace {:id thread-id} #(resolve))))))))) (findCommentThreads @@ -326,7 +325,7 @@ (let [only-yours (boolean (obj/get criteria "onlyYours" false)) show-resolved (boolean (obj/get criteria "showResolved" true)) user-id (-> @st/state :profile :id)] - (p/create + (js/Promise. (fn [resolve reject] (cond (not (r/check-permission $plugin "comment:read")) diff --git a/frontend/src/app/plugins/shape.cljs b/frontend/src/app/plugins/shape.cljs index 0245e9c63..9097cd5b0 100644 --- a/frontend/src/app/plugins/shape.cljs +++ b/frontend/src/app/plugins/shape.cljs @@ -52,8 +52,7 @@ [app.util.object :as obj] [app.util.path.format :as upf] [beicon.v2.core :as rx] - [cuerdas.core :as str] - [promesa.core :as p])) + [cuerdas.core :as str])) (declare shape-proxy) (declare shape-proxy?) @@ -542,7 +541,7 @@ :type (:type value :png) :suffix (:suffix value "") :scale (:scale value 1)}]}] - (p/create + (js/Promise. (fn [resolve reject] (->> (rp/cmd! :export payload) (rx/mapcat #(rp/cmd! :export {:cmd :get-resource :wait true :id (:id %) :blob? true})) diff --git a/frontend/src/app/plugins/utils.cljs b/frontend/src/app/plugins/utils.cljs index fe2b555cb..c98a1b3a9 100644 --- a/frontend/src/app/plugins/utils.cljs +++ b/frontend/src/app/plugins/utils.cljs @@ -12,8 +12,7 @@ [app.common.types.container :as ctn] [app.common.types.file :as ctf] [app.main.store :as st] - [app.util.object :as obj] - [promesa.core :as p])) + [app.util.object :as obj])) (defn locate-file [id] @@ -175,7 +174,7 @@ [] (let [ret-v (atom nil) ret-p - (p/create + (js/Promise. (fn [resolve _] (add-watch ret-v From 33d51a51d1af5ef4bfe99b77b0551c1819243a41 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 4 Nov 2024 17:29:52 +0100 Subject: [PATCH 9/9] :books: Update changelog --- CHANGES.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index eaf8a47c5..c876a55cf 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,13 @@ # CHANGELOG +## 2.3.1 + +### :bug: Bugs fixed + +- Fix unexpected issue on interaction between plugins sandbox and + internal impl of promise + + ## 2.3.0 ### :rocket: Epics and highlights