diff --git a/CHANGES.md b/CHANGES.md index 44f251ba85..25f3d848c8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,13 +2,22 @@ ## :rocket: Next +### :boom: Breaking changes +### :sparkles: New features +### :bug: Bugs fixed +### :arrow_up: Deps updates +### :boom: Breaking changes +### :heart: Community contributions by (Thank you!) + + +## 1.8.0-alpha + ### :boom: Breaking changes - This release includes a new approach for handling share links, and this feature is incompatible with the previous one. This means that all the public share links generated previously will stop working. - ### :sparkles: New features - Add tooltips to color picker tabs [Taiga #1814](https://tree.taiga.io/project/penpot/us/1814). @@ -26,7 +35,6 @@ - Allow navigate through pages on the viewer [Taiga #1550](https://tree.taiga.io/project/penpot/us/1550). - Allow create share links with specific pages [Taiga #1844](https://tree.taiga.io/project/penpot/us/1844). - ### :bug: Bugs fixed - Prevent adding numeric suffix to layer names when not needed [Taiga #1929](https://tree.taiga.io/project/penpot/us/1929). @@ -39,6 +47,8 @@ - Fix problems with order in groups [Taiga #1960](https://tree.taiga.io/project/penpot/issue/1960) - Fix SVG components preview [#1134](https://github.com/penpot/penpot/issues/1134) - Fix group renaming problem [Taiga #1969](https://tree.taiga.io/project/penpot/issue/1969) +- Fix problem with import broken images links [#1197](https://github.com/penpot/penpot/issues/1197) +- Fix problem while moving imported SVG's [#1199](https://github.com/penpot/penpot/issues/1199) ### :arrow_up: Deps updates ### :boom: Breaking changes @@ -47,6 +57,21 @@ - eduayme [#1129](https://github.com/penpot/penpot/pull/1129). +## 1.7.4-alpha + +### :bug: Bugs fixed + +- Fix demo user creation (self-hosted only) +- Add better ldap response validation and reporting (self-hosted only) + + +## 1.7.3-alpha + +### :bug: Bugs fixed + +- Fix font uploading issue on Windows. + + ## 1.7.2-alpha ### :sparkles: New features diff --git a/backend/src/app/rpc/mutations/ldap.clj b/backend/src/app/rpc/mutations/ldap.clj index d327589d89..d982a30b05 100644 --- a/backend/src/app/rpc/mutations/ldap.clj +++ b/backend/src/app/rpc/mutations/ldap.clj @@ -13,11 +13,20 @@ [app.loggers.audit :as audit] [app.rpc.mutations.profile :as profile-m] [app.rpc.queries.profile :as profile-q] + [app.util.logging :as l] [app.util.services :as sv] [clj-ldap.client :as ldap] [clojure.spec.alpha :as s] [clojure.string])) + +(s/def ::fullname ::us/not-empty-string) +(s/def ::email ::us/email) +(s/def ::backend ::us/not-empty-string) + +(s/def ::info-data + (s/keys :req-un [::fullname ::email ::backend])) + (defn ^java.lang.AutoCloseable connect [] (let [params {:ssl? (cfg/get :ldap-ssl) @@ -57,6 +66,13 @@ (ex/raise :type :validation :code :wrong-credentials)) + (when-not (s/valid? ::info-data info) + (let [explain (s/explain-str ::info-data info)] + (l/warn ::l/raw (str "invalid response from ldap, looks like ldap is not configured correctly\n" explain)) + (ex/raise :type :restriction + :code :wrong-ldap-response + :reason explain))) + (let [profile (login-or-register cfg {:email (:email info) :backend (:backend info) :fullname (:fullname info)})] @@ -94,7 +110,9 @@ (cfg/get :ldap-attrs-fullname)] base-dn (cfg/get :ldap-base-dn) - params {:filter query :sizelimit 1 :attributes attrs}] + params {:filter query + :sizelimit 1 + :attributes attrs}] (first (ldap/search cpool base-dn params)))) (defn- authenticate diff --git a/docker/devenv/docker-compose.yaml b/docker/devenv/docker-compose.yaml index b34f56b1ca..c15bd7d00b 100644 --- a/docker/devenv/docker-compose.yaml +++ b/docker/devenv/docker-compose.yaml @@ -92,6 +92,7 @@ services: ports: - "1080:1080" + # https://github.com/rroemhild/docker-test-openldap ldap: image: rroemhild/test-openldap:2.1 expose: diff --git a/frontend/src/app/main/ui/shapes/attrs.cljs b/frontend/src/app/main/ui/shapes/attrs.cljs index 5185a17edf..973a155a4b 100644 --- a/frontend/src/app/main/ui/shapes/attrs.cljs +++ b/frontend/src/app/main/ui/shapes/attrs.cljs @@ -159,7 +159,8 @@ id)) svg-attrs (-> svg-attrs (usvg/clean-attrs) - (usvg/update-attr-ids replace-id)) + (usvg/update-attr-ids replace-id) + (dissoc :id)) attrs (-> svg-attrs (dissoc :style) (clj->js)) styles (-> svg-attrs (:style {}) (clj->js))] diff --git a/frontend/src/app/main/ui/workspace/header.cljs b/frontend/src/app/main/ui/workspace/header.cljs index b50b681b28..5b817509f7 100644 --- a/frontend/src/app/main/ui/workspace/header.cljs +++ b/frontend/src/app/main/ui/workspace/header.cljs @@ -170,7 +170,8 @@ (fn [_] (let [filename (str (:name file) ".pdf") frame-ids (mapv :id frames)] - (st/emit! (dm/info (tr "workspace.options.exporting-object"))) + (st/emit! (dm/info (tr "workspace.options.exporting-object") + {:timeout nil})) (->> (rp/query! :export-frames {:name (:name file) :file-id (:id file) diff --git a/frontend/src/app/worker/import.cljs b/frontend/src/app/worker/import.cljs index 5891d4ea47..fc6c8a4c18 100644 --- a/frontend/src/app/worker/import.cljs +++ b/frontend/src/app/worker/import.cljs @@ -255,7 +255,7 @@ (let [name (cip/get-image-name node) data-uri (cip/get-image-data node)] (->> (upload-media-files file-id name data-uri) - (rx/catch #(do (.error js/console %) + (rx/catch #(do (.error js/console "Error uploading media: " name) (rx/of node))) (rx/map (fn [media] @@ -370,7 +370,9 @@ :content content :is-local false}))) (rx/flat-map #(rp/mutation! :upload-file-media-object %)) - (rx/map (constantly media)))))) + (rx/map (constantly media)) + (rx/catch #(do (.error js/console (str "Error uploading media: " (:name media)) ) + (rx/empty))))))) (rx/reduce fb/add-library-media file))) (rx/of file)))