Merge remote-tracking branch 'origin/staging' into develop

This commit is contained in:
Andrey Antukh 2022-02-25 12:56:30 +01:00
commit 45f9d5bb81
10 changed files with 62 additions and 27 deletions

View file

@ -28,6 +28,7 @@
### :sparkles: New features ### :sparkles: New features
- Open feedback in a new window [Taiga #2901](https://tree.taiga.io/project/penpot/us/2901)
- Improve usage of file menu [Taiga #2853](https://tree.taiga.io/project/penpot/us/2853) - Improve usage of file menu [Taiga #2853](https://tree.taiga.io/project/penpot/us/2853)
- Rotation to snap to 15º intervals with shift [Taiga #2437](https://tree.taiga.io/project/penpot/issue/2437) - Rotation to snap to 15º intervals with shift [Taiga #2437](https://tree.taiga.io/project/penpot/issue/2437)
- Support border radius and stroke properties for images [Taiga #497](https://tree.taiga.io/project/penpot/us/497) - Support border radius and stroke properties for images [Taiga #497](https://tree.taiga.io/project/penpot/us/497)

View file

@ -38,14 +38,17 @@
(defmethod ig/init-key ::handler (defmethod ig/init-key ::handler
[_ {:keys [pool sprops version] :as cfg}] [_ {:keys [pool sprops version] :as cfg}]
(fn [_] (fn [{:keys [send?] :or {send? true}}]
;; Sleep randomly between 0 to 10s ;; Sleep randomly between 0 to 10s
(thread-sleep (rand-int 10000)) (when send?
(thread-sleep (rand-int 10000)))
(let [instance-id (:instance-id sprops)] (let [instance-id (:instance-id sprops)
(-> (get-stats pool version) stats (-> (get-stats pool version)
(assoc :instance-id instance-id) (assoc :instance-id instance-id))]
(send! cfg))))) (when send?
(send! stats cfg))
stats)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; IMPL ;; IMPL
@ -137,12 +140,28 @@
(->> [sql:team-averages] (->> [sql:team-averages]
(db/exec-one! conn))) (db/exec-one! conn)))
(defn- retrieve-enabled-auth-providers
[conn]
(let [sql (str "select auth_backend as backend, count(*) as total "
" from profile group by 1")
rows (db/exec! conn [sql])]
(->> rows
(map (fn [{:keys [backend total]}]
(let [backend (or backend "penpot")]
[(keyword (str "auth-backend-" backend))
total])))
(into {}))))
(defn- retrieve-jvm-stats (defn- retrieve-jvm-stats
[] []
(let [^Runtime runtime (Runtime/getRuntime)] (let [^Runtime runtime (Runtime/getRuntime)]
{:jvm-heap-current (.totalMemory runtime) {:jvm-heap-current (.totalMemory runtime)
:jvm-heap-max (.maxMemory runtime) :jvm-heap-max (.maxMemory runtime)
:jvm-cpus (.availableProcessors runtime)})) :jvm-cpus (.availableProcessors runtime)
:os-arch (System/getProperty "os.arch")
:os-name (System/getProperty "os.name")
:os-version (System/getProperty "os.version")
:user-tz (System/getProperty "user.timezone")}))
(defn get-stats (defn get-stats
[conn version] [conn version]
@ -161,6 +180,7 @@
:total-touched-files (retrieve-num-touched-files conn)} :total-touched-files (retrieve-num-touched-files conn)}
(d/merge (d/merge
(retrieve-team-averages conn) (retrieve-team-averages conn)
(retrieve-jvm-stats)) (retrieve-jvm-stats)
(retrieve-enabled-auth-providers conn))
(d/without-nils)))) (d/without-nils))))

View file

@ -19,7 +19,7 @@ $height-palette-max: 80px;
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
user-select: none; user-select: none;
background-color: $color-canvas;
display: grid; display: grid;
grid-template-areas: grid-template-areas:
"header header header header" "header header header header"

View file

@ -727,9 +727,13 @@
ptk/WatchEvent ptk/WatchEvent
(watch [_ state _] (watch [_ state _]
(let [selected (wsh/lookup-selected state) (let [selected (wsh/lookup-selected state)
hover-guides (get-in state [:workspace-guides :hover])] hover-guides (get-in state [:workspace-guides :hover])
options-mode (get-in state [:workspace-local :options-mode])]
(cond (cond
(d/not-empty? selected) (and (= options-mode :prototype) (d/not-empty? selected))
(rx/of (dwi/remove-interactions selected))
(and (= options-mode :design) (d/not-empty? selected))
(rx/of (dwc/delete-shapes selected) (rx/of (dwc/delete-shapes selected)
(dws/deselect-all)) (dws/deselect-all))

View file

@ -171,6 +171,15 @@
(update shape :interactions (update shape :interactions
csi/remove-interaction index))))))) csi/remove-interaction index)))))))
(defn remove-interactions
[ids]
(ptk/reify ::remove-interactions
ptk/WatchEvent
(watch [_ _ _]
(rx/of (dch/update-shapes ids
(fn [shape]
(assoc shape :interactions [])))))))
(defn update-interaction (defn update-interaction
[shape index update-fn] [shape index update-fn]
(ptk/reify ::update-interaction (ptk/reify ::update-interaction

View file

@ -53,7 +53,7 @@
(mf/use-callback (mf/use-callback
(mf/deps vport) (mf/deps vport)
(fn [resize-type size] (fn [resize-type size]
(when vport (when (and vport (not= size vport))
(st/emit! (dw/update-viewport-size resize-type size))))) (st/emit! (dw/update-viewport-size resize-type size)))))
node-ref (use-resize-observer on-resize)] node-ref (use-resize-observer on-resize)]

View file

@ -252,8 +252,7 @@
[:span (tr "workspace.header.menu.option.preferences")] [:span i/arrow-slide]] [:span (tr "workspace.header.menu.option.preferences")] [:span i/arrow-slide]]
(when (contains? @cf/flags :user-feedback) (when (contains? @cf/flags :user-feedback)
[:* [:*
[:li.feedback {:on-click (st/emitf (rt/nav :settings-feedback)) [:li.feedback {:on-click (st/emitf (rt/nav-new-window* {:rname :settings-feedback}))}
:on-pointer-enter (st/emitf (rt/nav :settings-feedback))}
[:span (tr "labels.give-feedback")]]])]] [:span (tr "labels.give-feedback")]]])]]
[:& dropdown {:show (= @show-sub-menu? :file) [:& dropdown {:show (= @show-sub-menu? :file)

View file

@ -209,6 +209,7 @@
{:keys [on-pointer-down on-lost-pointer-capture on-mouse-move parent-ref size]} {:keys [on-pointer-down on-lost-pointer-capture on-mouse-move parent-ref size]}
(use-resize-hook :sitemap 200 38 400 :y false nil) (use-resize-hook :sitemap 200 38 400 :y false nil)
size (if @show-pages? size 38)
toggle-pages toggle-pages
(mf/use-callback #(reset! show-pages? not))] (mf/use-callback #(reset! show-pages? not))]
@ -217,12 +218,13 @@
[:div.tool-window-bar [:div.tool-window-bar
[:span (tr "workspace.sidebar.sitemap")] [:span (tr "workspace.sidebar.sitemap")]
[:div.add-page {:on-click create} i/close] [:div.add-page {:on-click create} i/close]
[:div.collapse-pages {:on-click toggle-pages} i/arrow-slide]] [:div.collapse-pages {:on-click toggle-pages
:style {:transform (when (not @show-pages?) "rotate(-90deg)")}} i/arrow-slide]]
[:div.tool-window-content
[:& pages-list {:file file :key (:id file)}]]
(when @show-pages? (when @show-pages?
[:div.tool-window-content [:div.resize-area {:on-pointer-down on-pointer-down
[:& pages-list {:file file :key (:id file)}]]) :on-lost-pointer-capture on-lost-pointer-capture
:on-mouse-move on-mouse-move}])]))
[:div.resize-area {:on-pointer-down on-pointer-down
:on-lost-pointer-capture on-lost-pointer-capture
:on-mouse-move on-mouse-move}]]))

View file

@ -196,13 +196,13 @@
(if (= axis :x) (if (= axis :x)
{:rect-x (- pos (/ guide-pill-width 2)) {:rect-x (- pos (/ guide-pill-width 2))
:rect-y (+ (:y vbox) rules-pos (- (/ guide-pill-width 2)) (/ 2 zoom)) :rect-y (+ (:y vbox) rules-pos (- (/ guide-pill-width 2)) (/ 3 zoom))
:rect-width guide-pill-width :rect-width guide-pill-width
:rect-height guide-pill-height :rect-height guide-pill-height
:text-x pos :text-x pos
:text-y (+ (:y vbox) rules-pos (- (/ 3 zoom)))} :text-y (+ (:y vbox) rules-pos (- (/ 3 zoom)))}
{:rect-x (+ (:x vbox) rules-pos (- (/ guide-pill-height 2)) (- (/ 5 zoom))) {:rect-x (+ (:x vbox) rules-pos (- (/ guide-pill-height 2)) (- (/ 4 zoom)))
:rect-y (- pos (/ guide-pill-width 2)) :rect-y (- pos (/ guide-pill-width 2))
:rect-width guide-pill-height :rect-width guide-pill-height
:rect-height guide-pill-width :rect-height guide-pill-width
@ -363,8 +363,8 @@
:text-anchor "middle" :text-anchor "middle"
:dominant-baseline "middle" :dominant-baseline "middle"
:transform (when (= axis :y) (str "rotate(-90 " text-x "," text-y ")")) :transform (when (= axis :y) (str "rotate(-90 " text-x "," text-y ")"))
:style {:font-size (/ 13 zoom) :style {:font-size (/ rules/font-size zoom)
:font-family "sourcesanspro" :font-family rules/font-family
:fill colors/black}} :fill colors/black}}
(str (mth/round pos))]]))]))) (str (mth/round pos))]]))])))

View file

@ -25,8 +25,8 @@
(def over-number-size 50) (def over-number-size 50)
(def over-number-opacity 0.7) (def over-number-opacity 0.7)
(def font-size 13) (def font-size 12)
(def font-family "sourcesanspro") (def font-family "worksans")
;; ---------------- ;; ----------------
;; RULES ;; RULES