0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-21 22:36:12 -05:00

Merge pull request #5616 from penpot/alotor-bugs-3

This commit is contained in:
Andrey Antukh 2025-01-17 15:25:13 +01:00 committed by GitHub
commit 8bb0a5b28f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 20 additions and 3 deletions

View file

@ -17,6 +17,10 @@
### :bug: Bugs fixed
- Fix problem with alt key measures being stuck [Taiga #9348](https://tree.taiga.io/project/penpot/issue/9348)
- Fix error when reseting stroke cap
- Fix problem with strokes not refreshing in Safari [Taiga #9040](https://tree.taiga.io/project/penpot/issue/9040)
## 2.4.2
### :bug: Bugs fixed

View file

@ -63,7 +63,7 @@
(def stroke-caps-line #{:round :square})
(def stroke-caps-marker #{:line-arrow :triangle-arrow :square-marker :circle-marker :diamond-marker})
(def stroke-caps (set/union stroke-caps-line stroke-caps-marker))
(def stroke-caps (conj (set/union stroke-caps-line stroke-caps-marker) nil))
(def shape-types
#{:frame

View file

@ -13,6 +13,7 @@
[app.common.geom.shapes :as gsh]
[app.common.geom.shapes.bounds :as gsb]
[app.common.geom.shapes.text :as gst]
[app.common.uuid :as uuid]
[app.config :as cf]
[app.main.ui.context :as muc]
[app.main.ui.shapes.attrs :as attrs]
@ -470,12 +471,18 @@
render-id (mf/use-ctx muc/render-id)
render-id (d/nilv (unchecked-get props "render-id") render-id)
stroke-id (dm/fmt "strokes-%" shape-id)
strokes (get shape :strokes)
;; Generate a unique id when the strokes change. This way we can solve some
;; render issues in Safari https://tree.taiga.io/project/penpot/issue/9040
prefix (mf/use-memo (mf/deps strokes) #(dm/str (uuid/next)))
stroke-id (dm/str (dm/fmt "strokes-%-%" prefix shape-id))
shape-blur (get shape :blur)
shape-fills (get shape :fills)
shape-shadow (get shape :shadow)
shape-strokes (not-empty (get shape :strokes))
shape-strokes (not-empty strokes)
svg-attrs (attrs/get-svg-props shape render-id)

View file

@ -976,6 +976,11 @@ Mousetrap.prototype.stopCallback = function (e, element, combo) {
return false;
}
// Keyup events need to be dispatched always. Otherwise some events can be stuck
if (e.type == 'keyup') {
return false;
}
if ('composedPath' in e && typeof e.composedPath === 'function') {
// For open shadow trees, update `element` so that the following check works.
const initialEventTarget = e.composedPath()[0];
@ -990,6 +995,7 @@ Mousetrap.prototype.stopCallback = function (e, element, combo) {
element.tagName == "TEXTAREA" ||
(element.tagName == "BUTTON" && combo.includes("tab")) ||
(element.contentEditable && (element.contentEditable == "true" || element.contentEditable === "plaintext-only"));
return shouldStop;
}