From f248ab5644f4de5f1503b671a68a8739b3722ba8 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 3 Nov 2025 14:26:00 +0100 Subject: [PATCH 1/3] :bug: Relax schema for importing plain path data related to curve-to command --- common/src/app/common/types/path/impl.cljc | 8 +++---- .../common_tests/types/path_data_test.cljc | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/common/src/app/common/types/path/impl.cljc b/common/src/app/common/types/path/impl.cljc index a32e4465ab..def765f17f 100644 --- a/common/src/app/common/types/path/impl.cljc +++ b/common/src/app/common/types/path/impl.cljc @@ -498,10 +498,10 @@ [:map [:x schema:safe-number] [:y schema:safe-number] - [:c1x schema:safe-number] - [:c1y schema:safe-number] - [:c2x schema:safe-number] - [:c2y schema:safe-number]]]]) + [:c1x {:optional true} schema:safe-number] + [:c1y {:optional true} schema:safe-number] + [:c2x {:optional true} schema:safe-number] + [:c2y {:optional true} schema:safe-number]]]]) (def ^:private schema:segment [:multi {:title "PathSegment" diff --git a/common/test/common_tests/types/path_data_test.cljc b/common/test/common_tests/types/path_data_test.cljc index b371b17ef8..7a37438252 100644 --- a/common/test/common_tests/types/path_data_test.cljc +++ b/common/test/common_tests/types/path_data_test.cljc @@ -116,6 +116,27 @@ (t/is (= sample-content (vec pdata))))) + +;; Test the specific case where cuve-to commands comes without the +;; optional attrs +(t/deftest path-data-plain-to-binary-2 + (let [plain-content + [{:command :move-to :params {:x 480.0 :y 839.0}} + {:command :line-to :params {:x 439.0 :y 802.0}} + {:command :curve-to :params {:x 264.0 :y 634.0}} + {:command :curve-to :params {:x 154.0 :y 508.0}}] + + binary-content + (path/content plain-content)] + + #?(:clj + (t/is (= "M480.0,839.0L439.0,802.0C264.0,634.0,264.0,634.0,264.0,634.0C154.0,508.0,154.0,508.0,154.0,508.0" + (str binary-content))) + + :cljs + (t/is (= "M480,839L439,802C264,634,264,634,264,634C154,508,154,508,154,508" + (str binary-content)))))) + (t/deftest path-data-from-binary (let [barray #?(:clj (byte-array sample-bytes) :cljs (js/Int8Array.from sample-bytes)) From b7bae3850ba75fe46b7f604985fdb87a6fd7494a Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 12 Nov 2025 21:31:19 +0100 Subject: [PATCH 2/3] :bug: Fix webp exportation on exporter docker image (#7739) --- CHANGES.md | 4 ++++ docker/images/Dockerfile.exporter | 21 +++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index bf041c7ece..268488e398 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2.11.1 (Unreleased) + +- Fix WEBP shape export on docker images [Taiga #3838](https://tree.taiga.io/project/penpot/issue/3838) + ## 2.11.0 ### :boom: Breaking changes & Deprecations diff --git a/docker/images/Dockerfile.exporter b/docker/images/Dockerfile.exporter index c0d355fe8a..98c7b0e5c0 100644 --- a/docker/images/Dockerfile.exporter +++ b/docker/images/Dockerfile.exporter @@ -5,7 +5,7 @@ ENV LANG=en_US.UTF-8 \ LC_ALL=en_US.UTF-8 \ NODE_VERSION=v22.21.1 \ DEBIAN_FRONTEND=noninteractive \ - PATH=/opt/node/bin:$PATH + PATH=/opt/node/bin:/opt/imagick/bin:$PATH RUN set -ex; \ useradd -U -M -u 1001 -s /bin/false -d /opt/penpot penpot; \ @@ -62,6 +62,22 @@ RUN set -ex; \ libxfixes3 \ libxkbcommon0 \ libxrandr2 \ + \ + libgomp1 \ + libheif1 \ + libjpeg-turbo8 \ + liblcms2-2 \ + libopenexr-3-1-30 \ + libopenjp2-7 \ + libpng16-16 \ + librsvg2-2 \ + libtiff6 \ + libwebp7 \ + libwebpdemux2 \ + libwebpmux3 \ + libxml2 \ + libzip4t64 \ + libzstd1 \ ; \ rm -rf /var/lib/apt/lists/*; @@ -90,7 +106,8 @@ RUN set -eux; \ chown -R penpot:penpot /opt/penpot; ARG BUNDLE_PATH="./bundle-exporter/" -ADD --chown=penpot:penpot $BUNDLE_PATH /opt/penpot/exporter/ +COPY --chown=penpot:penpot $BUNDLE_PATH /opt/penpot/exporter/ +COPY --from=penpotapp/imagemagick:7.1.2-0 /opt/imagick /opt/imagick WORKDIR /opt/penpot/exporter USER penpot:penpot From befcca86df4a73d819cb24b8e9b958a8e80c9aa6 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 12 Nov 2025 21:37:16 +0100 Subject: [PATCH 3/3] :books: Update changelog --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 268488e398..9919aedf4c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,6 @@ # CHANGELOG -## 2.11.1 (Unreleased) +## 2.11.1 - Fix WEBP shape export on docker images [Taiga #3838](https://tree.taiga.io/project/penpot/issue/3838)