diff --git a/CHANGES.md b/CHANGES.md index f6f85cced..9c9297eb2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -54,6 +54,7 @@ - Fix toolbar keeps hiding when click outside workspace [Taiga #7776](https://tree.taiga.io/project/penpot/issue/7776) - Fix open overlay relative to a frame [Taiga #7563](https://tree.taiga.io/project/penpot/issue/7563) - Workspace-palette items stay hidden when opening with keyboard-shortcut [Taiga #7489](https://tree.taiga.io/project/penpot/issue/7489) +- Fix SVG attrs are not handled correctly when exporting/importing in .zip [Taiga #7920](https://tree.taiga.io/project/penpot/issue/7920) ## 2.0.3 diff --git a/frontend/src/app/main/data/persistence.cljs b/frontend/src/app/main/data/persistence.cljs index 08a0719b3..22f1cdb65 100644 --- a/frontend/src/app/main/data/persistence.cljs +++ b/frontend/src/app/main/data/persistence.cljs @@ -96,6 +96,13 @@ (rx/of (run-persistence-task) (update-status :saving)))))))) +(defn- discard-persistence-state + [] + (ptk/reify ::discard-persistence-state + ptk/UpdateEvent + (update [_ state] + (dissoc state :persistence)))) + (defn- persist-commit [commit-id] (ptk/reify ::persist-commit @@ -114,7 +121,6 @@ :changes (vec changes) :features features}] - ;; FIXME: handle lagged here !!!! (->> (rp/cmd! :update-file params) (rx/mapcat (fn [{:keys [revn lagged] :as response}] (log/debug :hint "changes persisted" :commit-id (dm/str commit-id) :lagged (count lagged)) @@ -128,6 +134,7 @@ (rx/of (rt/assign-exception cause) (ptk/data-event ::error cause) (update-status :error))) + (rx/of (discard-persistence-state)) (rx/throw cause)))))))))) @@ -173,7 +180,6 @@ (assoc :redo-changes rchg) (assoc :changes rchg))))))) - (defn initialize-persistence [] (ptk/reify ::initialize-persistence diff --git a/frontend/src/app/main/ui/shapes/export.cljs b/frontend/src/app/main/ui/shapes/export.cljs index 35895b777..0f216186f 100644 --- a/frontend/src/app/main/ui/shapes/export.cljs +++ b/frontend/src/app/main/ui/shapes/export.cljs @@ -263,7 +263,7 @@ [:* (when (contains? shape :svg-attrs) (let [svg-transform (get shape :svg-transform) - svg-attrs (->> shape :svg-attrs keys (mapv d/name) (str/join ",")) + svg-attrs (->> shape :svg-attrs keys (mapv (comp d/name str/kebab)) (str/join ",")) svg-defs (->> shape :svg-defs keys (mapv d/name) (str/join ","))] [:> "penpot:svg-import" #js {:penpot:svg-attrs (when-not (empty? svg-attrs) svg-attrs)