From 8a13ce5f9116e8990eec5069b6c3f985c650001d Mon Sep 17 00:00:00 2001
From: elhombretecla
Date: Thu, 6 Feb 2025 14:17:32 +0100
Subject: [PATCH 01/12] :lipstick: Change email button styles (#5785)
---
.../resources/app/email/comment-mention/en.html | 2 +-
.../resources/app/email/invite-to-team/en.html | 8 ++++----
backend/resources/app/email/join-team/en.html | 8 ++++----
.../app/email/password-recovery/en.html | 8 ++++----
backend/resources/app/email/register/en.html | 8 ++++----
.../request-file-access-yourpenpot-view/en.html | 8 ++++----
.../email/request-file-access-yourpenpot/en.html | 8 ++++----
.../app/email/request-file-access/en.html | 16 ++++++++--------
.../app/email/request-team-access/en.html | 8 ++++----
9 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/backend/resources/app/email/comment-mention/en.html b/backend/resources/app/email/comment-mention/en.html
index fa45cab25e..d628c96998 100644
--- a/backend/resources/app/email/comment-mention/en.html
+++ b/backend/resources/app/email/comment-mention/en.html
@@ -203,7 +203,7 @@
diff --git a/backend/resources/app/email/join-team/en.html b/backend/resources/app/email/join-team/en.html
index 1a59e70ce0..8f88a125b0 100644
--- a/backend/resources/app/email/join-team/en.html
+++ b/backend/resources/app/email/join-team/en.html
@@ -196,12 +196,12 @@
-
Go to the Team
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> GO TO THE TEAM
diff --git a/backend/resources/app/email/password-recovery/en.html b/backend/resources/app/email/password-recovery/en.html
index 7770402b75..37693942d3 100644
--- a/backend/resources/app/email/password-recovery/en.html
+++ b/backend/resources/app/email/password-recovery/en.html
@@ -196,12 +196,12 @@
-
Reset password
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> RESET PASSWORD
diff --git a/backend/resources/app/email/register/en.html b/backend/resources/app/email/register/en.html
index c5fb5bc3fb..8ee3b855a9 100644
--- a/backend/resources/app/email/register/en.html
+++ b/backend/resources/app/email/register/en.html
@@ -196,12 +196,12 @@
-
Verify email
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> VERIFY EMAIL
diff --git a/backend/resources/app/email/request-file-access-yourpenpot-view/en.html b/backend/resources/app/email/request-file-access-yourpenpot-view/en.html
index 3146665f08..11f8b8dea1 100644
--- a/backend/resources/app/email/request-file-access-yourpenpot-view/en.html
+++ b/backend/resources/app/email/request-file-access-yourpenpot-view/en.html
@@ -204,12 +204,12 @@
-
Send a View-Only link
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> SEND A VIEW-ONLY LINK
diff --git a/backend/resources/app/email/request-file-access-yourpenpot/en.html b/backend/resources/app/email/request-file-access-yourpenpot/en.html
index e32a1603fb..72d8e42821 100644
--- a/backend/resources/app/email/request-file-access-yourpenpot/en.html
+++ b/backend/resources/app/email/request-file-access-yourpenpot/en.html
@@ -227,12 +227,12 @@
-
Send a View-Only link
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> SEND A VIEW-ONLY LINK
diff --git a/backend/resources/app/email/request-file-access/en.html b/backend/resources/app/email/request-file-access/en.html
index 370687e3f0..4ea4acfcc9 100644
--- a/backend/resources/app/email/request-file-access/en.html
+++ b/backend/resources/app/email/request-file-access/en.html
@@ -211,12 +211,12 @@
-
Give access to “{{team-name|abbreviate:25}}” Team
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> GIVE ACCESS TO “{{team-name|abbreviate:25}}” TEAM
@@ -244,12 +244,12 @@
-
Send a View-Only link
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> SEND A VIEW-ONLY LINK
diff --git a/backend/resources/app/email/request-team-access/en.html b/backend/resources/app/email/request-team-access/en.html
index 54a7dcc2ab..2d9e266488 100644
--- a/backend/resources/app/email/request-team-access/en.html
+++ b/backend/resources/app/email/request-team-access/en.html
@@ -202,12 +202,12 @@
-
Give access to “{{team-name|abbreviate:25}}”
+ style="display:inline-block;background:#6911d4;color:#FFFFFF;font-family:Source Sans Pro, sans-serif;font-size:16px;font-weight:normal;line-height:120%;margin:0;text-decoration:none;text-transform:none;padding:10px 25px;mso-padding-alt:0px;border-radius:8px;"
+ target="_blank"> GIVE ACCESS TO “{{team-name|abbreviate:25}}” TEAM
From 518ba0ebe789706c857c5d890d0fb2e03b59f7dc Mon Sep 17 00:00:00 2001
From: Andres Gonzalez
Date: Wed, 5 Feb 2025 17:14:20 +0100
Subject: [PATCH 02/12] :books: Add info about import size limit at the user
guide
---
docs/user-guide/import-export/index.njk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/user-guide/import-export/index.njk b/docs/user-guide/import-export/index.njk
index 98d66b8f06..3d1dcdf02a 100644
--- a/docs/user-guide/import-export/index.njk
+++ b/docs/user-guide/import-export/index.njk
@@ -38,7 +38,7 @@ title: 14· Import/export files
Import Penpot files
-Importing files from other tools and services is among the main priorities of the Penpot team. Related features are coming soon.
+The maximum file import size is currently limited to 1GB.
The import option is at the projects menu. Press “Import files” and then select one or more .penpot files to import. You can import a .zip file as well.
@@ -50,7 +50,7 @@ title: 14· Import/export files
Unlike other design tools, Penpot's format is built on standard languages . The exported file is essentially a ZIP archive containing binary assets (such as bitmap and vector images) alongside a readable JSON structure. By avoiding proprietary formats, Penpot empowers users with autonomy from specific tools while enabling seamless third-party integrations.
Deprecated Penpot file formats
-These formats can only be exported from version 2.3 or earlier versions, but can be imported to any Penpot version
+These formats can only be exported from version 2.3 or earlier versions, but can be imported to any Penpot version.
There are two different deprecated Penpot file formats in which you can import/export Penpot files. A standard one and a binary one. You always have the chance to use both for any file.
[Deprecated] Penpot file (.penpot).
The fast one. Binary Penpot specific.
From 00b0a59868b6a85c18108c95192d3da5b44779eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?luis=CE=B4=CE=BC?=
Date: Thu, 6 Feb 2025 14:24:30 +0100
Subject: [PATCH 03/12] :bug: Fix user unread comments appear in every
workspace (#5786)
---
frontend/src/app/main/data/comments.cljs | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/frontend/src/app/main/data/comments.cljs b/frontend/src/app/main/data/comments.cljs
index fd818b9a7c..14f973af55 100644
--- a/frontend/src/app/main/data/comments.cljs
+++ b/frontend/src/app/main/data/comments.cljs
@@ -404,6 +404,10 @@
(defn retrieve-comment-threads
[file-id]
(ptk/reify ::retrieve-comment-threads
+ ptk/UpdateEvent
+ (update [_ state]
+ (dissoc state :comment-threads))
+
ptk/WatchEvent
(watch [_ state _]
(let [share-id (-> state :viewer-local :share-id)]
From ef9ead8072bbfebbaee92158c72bfc26530ba940 Mon Sep 17 00:00:00 2001
From: Eva Marco
Date: Thu, 6 Feb 2025 17:42:15 +0100
Subject: [PATCH 04/12] :bug: Fix typo on integration test docs (#5796)
---
CHANGES.md | 2 +-
docs/technical-guide/developer/frontend.md | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index f7796dab30..97d2b8e78d 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -50,7 +50,7 @@ is a number of cores)
- [COMMENTS] Notifications in Backend, Profile Section, and Mention Email Notification [Taiga #9233](https://tree.taiga.io/project/penpot/us/9233)
### :bug: Bugs fixed
-
+- Fix typo on integration tests docs [Taiga #10112](https://tree.taiga.io/project/penpot/issue/10112)
- 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)
diff --git a/docs/technical-guide/developer/frontend.md b/docs/technical-guide/developer/frontend.md
index 1291059765..cfd87ad79a 100644
--- a/docs/technical-guide/developer/frontend.md
+++ b/docs/technical-guide/developer/frontend.md
@@ -319,14 +319,14 @@ cd penpot/frontend
3. Run the tests with yarn:
```bash
-yarn e2e:test
+yarn test:e2e
```
> 💡 **TIP:** By default, the tests will _not_ run in parallel. You can set the amount of workers to run the tests with --workers. Note that, depending on your machine, this might make some tests flaky.
```bash
# run in parallel with 4 workers
-yarn e2e:test --workers 4
+yarn test:e2e --workers 4
```
#### Running the tests in Chromium
From 028a5ba596b93679fddc1937d0c2769a81d599bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?andr=C3=A9s=20gonz=C3=A1lez?=
Date: Fri, 7 Feb 2025 09:04:56 +0100
Subject: [PATCH 05/12] :books: Remove the permissions table (#5795)
---
docs/user-guide/teams/index.njk | 2 --
1 file changed, 2 deletions(-)
diff --git a/docs/user-guide/teams/index.njk b/docs/user-guide/teams/index.njk
index 47920629d0..ce9cb1e789 100644
--- a/docs/user-guide/teams/index.njk
+++ b/docs/user-guide/teams/index.njk
@@ -41,8 +41,6 @@ member is allowed to do depends on their permissions.
Admin: Admins have the same permissions as editors, with the added ability to change every other member's role except owners. They can invite members and update team settings.
Owner: There's only one owner per team, the role is automatically assigned to the team creator. Owners have all the permissions of admins, with the additional ability to change any member's role, including transferring ownership. Owners can update team settings, invite members and delete teams.
-
-More team roles will be eventually available, as well as fine grained permissions management to control members access and actions.
Transfer ownership
An owner can transfer their ownership to another team member anytime and is requested to transfer it before leaving the team.
From 87295eab76fd72b50d656f6cc61ded35118e1ad2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?andr=C3=A9s=20gonz=C3=A1lez?=
Date: Fri, 7 Feb 2025 09:05:12 +0100
Subject: [PATCH 06/12] :books: Add info about boards renaming (#5797)
---
docs/img/objects/board-rename.webm | Bin 0 -> 21903 bytes
docs/img/objects/board-rename.webp | Bin 0 -> 1104 bytes
docs/user-guide/objects/index.njk | 15 ++++++++++++++-
3 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 docs/img/objects/board-rename.webm
create mode 100644 docs/img/objects/board-rename.webp
diff --git a/docs/img/objects/board-rename.webm b/docs/img/objects/board-rename.webm
new file mode 100644
index 0000000000000000000000000000000000000000..dfcd8a7476dd5569c49077a3bb6434d08a8e443e
GIT binary patch
literal 21903
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
z
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 _0;Aqid}LdHf6aeG&My
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
IV-sT*0M9BHOaK4?
literal 0
HcmV?d00001
diff --git a/docs/img/objects/board-rename.webp b/docs/img/objects/board-rename.webp
new file mode 100644
index 0000000000000000000000000000000000000000..2e4d4f863a8095ad248032f96ffb8498002687f3
GIT binary patch
literal 1104
zcmWIYbaV4yVPFV%bqWXzu!!JdU|>)H;xmj4f{YBF&dvcR7=c^{#uFft#ejh!H?O29
z$lXaHA~H&W{Q(0b5Q0Hsa&ZBKg_Q)V`gRSX_OdQk75D`?Q&NkQfl59Au}Trpa-f?;
zfNYU;2wMZhPJ*y)K+Q#X(j{1_ErW4iCYLU
zl?4n8{4ER&+s-4z5Mfe~Sd<7h4j3B@OlfHh44;-WFz`k)FbH2@VBm@d%K-@-Zc_kC
z$pGDz4}|FqISi=`3JjhMc?`)6dO(&Dg8_pfgBdV}6{46J7y`5y<}zxXWfWqx%Qczl
zsiL%Kp;EyOj|Se(%)EzX8zm?9|F28GKlA%V8-sqQ$9KQ~Gim5QdPF0t`;5fP8M9xP{_ip<-Sz*dc=+#&3ZJJ-
z{ST>#*{R{motUHBx?!8xp&QX4W^9qqiED4N|KH9wTDUA?Em*?z7EPb`#vmpx;L)>-*)FizC=Ek
zLpsaCykq4{!ZdP$By`R`J6QeKTRm`q%d%2=Nu6`Bw
z&pW;TY(;GHxnr}LD@3JKPVhKPX8+@}gDruZ@weMHXPKv4D?`q@um3gW`h`*!iAuF^
a-YeJUzn=HvKowVjdW49@5(flczyJUciiUUq
literal 0
HcmV?d00001
diff --git a/docs/user-guide/objects/index.njk b/docs/user-guide/objects/index.njk
index b8392712f6..4ed50ca661 100644
--- a/docs/user-guide/objects/index.njk
+++ b/docs/user-guide/objects/index.njk
@@ -33,6 +33,20 @@ are shown by default at the View mode , actin
+Rename boards
+ There several ways to rename boards:
+
+ Double click on the board name at the workspace viewport.
+ Double click on the board name at the layers panel.
+ Press Alt/⌥ + N to rename the board at the layers panel.
+ Right click to show the menu and select "Rename".
+
+
+
+
+
+
+
Set board as thumbnail
Select a specific board to be the file thumbnail that will be shown at the dashboard in the file card.
To set a custom thumbnail:
@@ -171,7 +185,6 @@ You can choose to edit individual nodes or create new ones. Press Esc
-
Images
Insert images
There are several options for inserting an image into a Penpot file:
From a4e35ec713bfe149d16401ace8bd760e757dc63f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?andr=C3=A9s=20gonz=C3=A1lez?=
Date: Fri, 7 Feb 2025 09:05:29 +0100
Subject: [PATCH 07/12] :books: Update FAQ about sharing plugins (#5794)
---
docs/plugins/faq.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/plugins/faq.md b/docs/plugins/faq.md
index 471818555c..d883b39d61 100644
--- a/docs/plugins/faq.md
+++ b/docs/plugins/faq.md
@@ -61,7 +61,7 @@ Take a look at the Penpot Library methods in the Penpot community . In the future, we plan to create a place where we will publish the plugins we know about, but this is still something we have to define.
+Penpot Hub is where you can share plugins, templates and libraries all made possible through open-source collaboration. To add your plugin to our catalog, simply fill out this form with your plugin's details.
### My plugin works on my local machine, but I couldn’t install it on Penpot. What could be the problem?
From 5fa96315e39841ec67d56aa08d0a2a0060aa2357 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marina=20L=C3=B3pez?=
Date: Fri, 7 Feb 2025 09:51:25 +0100
Subject: [PATCH 08/12] :sparkles: Add event for A/B test first state project
(#5791)
---
frontend/src/app/main/ui/dashboard/placeholder.cljs | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/frontend/src/app/main/ui/dashboard/placeholder.cljs b/frontend/src/app/main/ui/dashboard/placeholder.cljs
index 8af3d723b8..d836fcf249 100644
--- a/frontend/src/app/main/ui/dashboard/placeholder.cljs
+++ b/frontend/src/app/main/ui/dashboard/placeholder.cljs
@@ -8,19 +8,29 @@
(:require-macros [app.main.style :as stl])
(:require
[app.config :as cf]
+ [app.main.data.event :as ev]
+ [app.main.store :as st]
[app.main.ui.dashboard.import :as udi]
[app.main.ui.ds.product.empty-placeholder :refer [empty-placeholder*]]
[app.main.ui.ds.product.loader :refer [loader*]]
[app.main.ui.icons :as i]
[app.util.dom :as dom]
[app.util.i18n :as i18n :refer [tr]]
+ [potok.v2.core :as ptk]
[rumext.v2 :as mf]))
(mf/defc empty-placeholder-projects*
{::mf/wrap-props false}
[{:keys [on-create on-finish-import project-id] :as props}]
(let [file-input (mf/use-ref nil)
- on-add-library (mf/use-fn #(dom/open-new-window "https://penpot.app/penpothub/libraries-templates"))
+ on-add-library (mf/use-fn
+ (fn [event]
+ (dom/prevent-default event)
+ (dom/stop-propagation event)
+ (st/emit! (ptk/event ::ev/event {::ev/name "explore-libraries-click"
+ ::ev/origin "dashboard"
+ :section "empty-placeholder-projects"}))
+ (dom/open-new-window "https://penpot.app/penpothub/libraries-templates")))
on-import-files (mf/use-fn #(dom/click (mf/ref-val file-input)))]
[:div {:class (stl/css :empty-project-container)}
From a98111f68d69c78308150e53ff010ab4ae2a3e21 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marina=20L=C3=B3pez?=
Date: Fri, 7 Feb 2025 11:07:47 +0100
Subject: [PATCH 09/12] :fire: Remove unnecessary prevent and stop (#5799)
---
frontend/src/app/main/ui/dashboard/placeholder.cljs | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/frontend/src/app/main/ui/dashboard/placeholder.cljs b/frontend/src/app/main/ui/dashboard/placeholder.cljs
index d836fcf249..042c0815a5 100644
--- a/frontend/src/app/main/ui/dashboard/placeholder.cljs
+++ b/frontend/src/app/main/ui/dashboard/placeholder.cljs
@@ -24,9 +24,7 @@
[{:keys [on-create on-finish-import project-id] :as props}]
(let [file-input (mf/use-ref nil)
on-add-library (mf/use-fn
- (fn [event]
- (dom/prevent-default event)
- (dom/stop-propagation event)
+ (fn [_]
(st/emit! (ptk/event ::ev/event {::ev/name "explore-libraries-click"
::ev/origin "dashboard"
:section "empty-placeholder-projects"}))
From b991a946857c7b2de5dbae6e8efe2ea6a15c0e18 Mon Sep 17 00:00:00 2001
From: Eva Marco
Date: Fri, 7 Feb 2025 12:32:44 +0100
Subject: [PATCH 10/12] :bug: Fix icon visualization on select component
(#5801)
---
CHANGES.md | 1 +
frontend/src/app/main/ui/ds/controls/select.cljs | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/CHANGES.md b/CHANGES.md
index 97d2b8e78d..db26b42382 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -50,6 +50,7 @@ is a number of cores)
- [COMMENTS] Notifications in Backend, Profile Section, and Mention Email Notification [Taiga #9233](https://tree.taiga.io/project/penpot/us/9233)
### :bug: Bugs fixed
+- Fix icon visualization on select component [Taiga #8889](https://tree.taiga.io/project/penpot/issue/8889)
- Fix typo on integration tests docs [Taiga #10112](https://tree.taiga.io/project/penpot/issue/10112)
- Fix problem with alt key measures being stuck [Taiga #9348](https://tree.taiga.io/project/penpot/issue/9348)
- Fix error when reseting stroke cap
diff --git a/frontend/src/app/main/ui/ds/controls/select.cljs b/frontend/src/app/main/ui/ds/controls/select.cljs
index 38222441c8..b74ac575d4 100644
--- a/frontend/src/app/main/ui/ds/controls/select.cljs
+++ b/frontend/src/app/main/ui/ds/controls/select.cljs
@@ -198,7 +198,7 @@
label]]
[:> icon* {:icon-id i/arrow
:class (stl/css :arrow)
- :size "s"
+ :size "m"
:aria-hidden true}]]
(when open
[:> options-dropdown* {:on-click on-option-click
From 92aa615da409595c8db7755c0d4073a4b26013bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?luis=CE=B4=CE=BC?=
Date: Fri, 7 Feb 2025 12:33:29 +0100
Subject: [PATCH 11/12] :bug: Fix users from another teams appear in mentions
(#5789)
---
frontend/src/app/main/ui/comments.cljs | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/frontend/src/app/main/ui/comments.cljs b/frontend/src/app/main/ui/comments.cljs
index aa5e0045e7..ff93524e43 100644
--- a/frontend/src/app/main/ui/comments.cljs
+++ b/frontend/src/app/main/ui/comments.cljs
@@ -425,7 +425,9 @@
[]
(let [mentions-s (mf/use-ctx mentions-context)
profile (mf/deref refs/profile)
- profiles (mf/deref refs/profiles)
+
+ team (mf/deref refs/team)
+ members (:members team)
state*
(mf/use-state
@@ -437,10 +439,8 @@
(deref state*)
mentions-users
- (mf/with-memo [mention-filter]
-
-
- (->> (vals profiles)
+ (mf/with-memo [mention-filter members]
+ (->> members
(filter (fn [{:keys [id fullname email]}]
(and
(not= id (:id profile))
@@ -461,9 +461,12 @@
(dom/stop-propagation event)
(let [id (-> (dom/get-current-target event)
(dom/get-data "user-id")
- (uuid/uuid))]
+ (uuid/uuid))
+
+ user (d/seek #(= (:id %) id) members)]
+
(rx/push! mentions-s {:type :insert-mention
- :data {:user (get profiles id)}}))))]
+ :data {:user user}}))))]
(mf/with-effect [mentions-users selected]
(let [sub
From debad85d6dc9b3fd79062c7e3dd684977bceb0c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?andr=C3=A9s=20gonz=C3=A1lez?=
Date: Fri, 7 Feb 2025 16:41:04 +0100
Subject: [PATCH 12/12] :books: Add info about fit board to content (#5800)
---
docs/img/objects/board-fit.webp | Bin 0 -> 7346 bytes
docs/user-guide/objects/index.njk | 6 ++++++
2 files changed, 6 insertions(+)
create mode 100644 docs/img/objects/board-fit.webp
diff --git a/docs/img/objects/board-fit.webp b/docs/img/objects/board-fit.webp
new file mode 100644
index 0000000000000000000000000000000000000000..561b819a6aeff6dc245153328041ef1b8f258958
GIT binary patch
literal 7346
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
literal 0
HcmV?d00001
diff --git a/docs/user-guide/objects/index.njk b/docs/user-guide/objects/index.njk
index 4ed50ca661..7946dd9f30 100644
--- a/docs/user-guide/objects/index.njk
+++ b/docs/user-guide/objects/index.njk
@@ -87,6 +87,12 @@ Penpot allows you to decide if the fill of an artboard will be shown in exports,
+Resize board to fit to content
+You can adjust the board size to fit its content by clicking the icon in the design sidebar.
+
+
+
+
Board guides
You can set guides on boards that will assist with aligning objects.
Read more about guides .