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 @@ - -
Accept invite + 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"> ACCEPT INVITE
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
Export penpot file

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.

Import penpot file
@@ -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.
  • -
    Team members
    -

    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 zcmeFZcTiN#(a=+3-$g}*_6;6L(l7*zg~?=t#7@*Od3aQIigefEE-T8sQB2&7fRsE37O z8aTzzK06hnjm^|F@Nl!UzGdgebIaPp&Bgtu^({|t9xppL_v}uD8*A!OtYOl*?xKcFuU^Z&x`I493l{haBmFdxXxiw<;`)!!1;mE zbz3_Zfd7MXJU;-@QW1bSl7K^A&i|80cexygxLklExm*EXl{k_I4~#60bmal}nNrU~ z9D}AQ99z0N5(fY_LL4L`L|PC>5Okl(f`db!2Za&^{8Fv;jj(L-7bQ4MGk4d__+bgz zP)D55HQx*KucyiFQQH^xke)xDV>V6cVr%`(Ht3YGe!w4duU6~43h#X`=+rON_H9CN zUDJ2|bCG=NVMqSAA1eN$7UK1svT0Dbh8f;?p!=b$y5BY4sBlGDk4{w}Xe`memhON0 zeZ)FiC(85$28Tpy)V|NA2?y71%AgRDf+Xoy4Jb;MGVPWOdcFr|&x-pg)$@#iNOw(%9!Y zZ+{#OUIllN65(|rGIv3#5<_e!DVMEaBME&!#+oH8xSjXaFe!NK12QJXpwbFzE?W{3gZ@@ z2FouDhX&{9Fv31?ryV>1>7P17Y#;vqKR{Tug<>STeF15= zRxPn~2A;NU)@rx5Zf-08gOwFP9>oH+hyy0+88{FKB2nNBogrWWEGCk_0U4GE2!zHk zX(I?tVse*h0Z7N>!+jAbAcoP-0d`mJNsq}JfIgcSg4QbenXX6|j!)Lo;iUi(nFD|R zPeVgy$1qjfD#B8HDnSfQ=%l4U@2sZoSYAs*+Ch62o%cw0wIGP3Cb@upueyYa=+l^o z>Bcx@tmIAzNliy3{n&iS7Mw6+Qoqr!xqGb}Lo{&K0oo}|F+I^%$*Yt4+;iUDOhmD) zZdABkCd9+f7O+>Xwp?<_?5eLgwRNb?bWAr6@dn%`IVc&sRcj9EJSiQm6&DYOHb|l%b-?*3q`5k1*_DSLc2ZWD-4BH%WsuJKsw>>H}>G-y3f$i4*fch>ZuC z@AR&>jN+|J?A%|u3Ey|Au)^#?#8%K&(EHs)|M4up@v#%(!&pj&uRrO{`s-Fuy%m!= zQt6dHQm)066Fo8&Hic^ou894rn8YEP|0)-2Jd)i?1yjfbVRjLS$e28N@D0!*N3nss zFz&e&_=fUfsvqQa60c{f1BA(9Xw4t`ZI7N;fNmTs`I(wKyhD68CbeL3Cj6;+MhDgM zol)qqj^|7LQJRSY-zzx8%JUwOXf_Q(3v3E!@8jEodVrLbsG$`i7y#Lf|tgOA*)3|X2RmLzmRu5001 z=7ypHx3KpG3uesV8bealKo^an*K$ziMN2{~SIlXNu5a$9V9O0p{)h)Pwv}>6bMSbE zC#|30rp1G9G!|L)E^jBO`00zq42ZJ5|Me2E=lf0LaoGtw)j?Ri(0Z=VA4=m)#exk; z8=difj!@;g`wY9d%DLb?uNA&<}>?;iP%J;Uh1 zGV9Bkz!iVUG5v;*P4{5%Baj6*F zlsG~Cn}yiq7PJ!v5l*@6z5778?@#-nkvYWwe8BWt@_s8x*IO$KXNgQ^42vi`uVpfG zV#f)^1qnYlx?EjhTr*l^TqCxZSvUAeU%GsVXcy=Y;?+>qA2__fO8FkYGjyHRK`6le zDRlBQ@m**Vl@Z|xt9c*NF>i55H_-9N8oW@hNFXC)H;JW(y|@Mq=`qPBVHpP6Xh=!Rb5J= zI3%lSrROkRgIF5-5!pe+|7ikmw|x~#3bSQ*{Nd9e=>d>!+c)C(o8ceWANtc(X>rIB zptnEbVE`L%`N&&TNxXcS%Q!f!1@<&7ViSO4ShCeb_h^iN;raH_M=TZZMMHW1q5}Z5 z;UIWr&+NBFDIT!8Lp#L&gsirT1Y^Pk+F>%oUo_%uXIph(95U8h?k<)z{uqs4p(3l0 z8MNpM-0=Es$X5mm>U$C%KF>G?GFJoirlQM-`QNxEUbT4mJ1;3}AULqq;U;>Lxp7o4 zh{dZ91Au%m8mg`h94kX++lw>Q-a39NGGNVngmaWWNzqDBZPdSU_=$qI-_IG062$(RF>@(2!)Um19rQ-GiSS|oP6 zTK^t40=rN308r2`si!xS7lYG(y8*;^&hrBOOXfY!@Ve|378AQ06@GXAh`tS zj>389i{K7ZBH|!7+=i_I!?p>ut?mM)Lo;w98X9tPfOAZI7_SAuZP?8UfYUDJ(hAMd zfmLr#-yHE@yEfd-A)X2uiSOyP`zRTYS-$E?-Tid8b*LuT3O{m(px|k|if4-zq%`D6 z-U@hDpdm#nI%HVO{Bpj8^2;-s9^>EM-CpN@W#)0sOsRWO_PbS2TtsB9u-mpI(V%heK$sS-bU%QrmW`9+|2 zl>Xd^AKx64=$k0hKd67v*th6(90~z$@7Lc^!1}x{9olY*bD^u5%^S||CkPW~F)Zes zoN=6}WyRJ4&!V18Y~&XrS7bfkQ$R9(_M%i2>_9Xk8rCKG%QZ$#wD2@fFqEo}erL6~ zLy<(VcQWzmeK_23k-dm{u?NY2Zm5uuE&O=61sn0t)EyCSLbE@C7JZ~ukRV~H z-7WoFhh|A%TGE2_?wKKo$RQ$;0DA&`?6Dk|(Qn?UPm~x$z0zz8_rzG4{Gu`;WmpT? zF8@xAJ$*jG%QdVgMBWA0qdxXIV&#hT#?8|o_pCm=lT24I4ZhRyOqRrc!SJezBPp9S z*98HK1qWChQre}O1PBtQohcb0uwCnXFubREE)QQ5O* zg!Pu|)MZZxZcI!=gO-$Rqm)cC-BG5gJ4KeUN-ToXT> zJv(PMr4>ChJhk|Cr}c>6P=Q)%(@As8-~10=(p5uoD5t|diVm<-k#JB>ES3?AkuH(M zkUEhrBeelZPm6CFl7|NziE8k?fE7)nAXve9FYKw>wsX%55tf;85*M~^HO$?rcv5hQ z;`*;E`DmyG@owURa3e^3w;mBUBI_=LrW;|!a1qncavKzrN2CrBoOkWMr0U=wkrtO_%e8 z@nz!$fw$?u5vQs)(GIS;>I1hh;0-0W|90Cgy7xQWe9WJP#jO+G8HX;9IiIXd^9)GCc6`5WExR7!#eM6=LEd5s* z3o-w4y@Uil2_ejZ@hSkSl55290Ggk+_w?xdRy}EZx`kLsCf`m-Q|(@XNpK%eR8tPw z%{(3}o>P6|Ll`W~gA`h(B6>}q~|NS~YYPG=eb)E{!G^RV}=ESmxukO?RNd|IN@Uo}5@ zG*rXyf8H*YUC{2`jV*(%<1|I4!^1r0bMTsg?f2>^S>ylaZ{?HhVdK6g8W>^jmPn-XCWcwPMRnzHB{ zR$g%UE(SrTRm{7Kv%03Mo=jksC^)!OUZ-!@mL*;rs;dV+Te>PU4mAMi_pRITs7lbT0n7S5Cs~3j0&N zp_-2DQ^}{_M^Tg5iv+E>!c6`J>8gP^)ZSmV$7T+I@Eg53EFB)uDI6z$ihaOw(CoJZ zn$pmHJb*CQbx$0sStoTR)L64#tKaLalAPR0qn(?;4s9%Zu4pB}&8J2%QaKOWDURWL z#pH!JQlpHoc-#4IO!MaL+ky9JX<~{>C zfm561TYQbQRZ4nJ!u8K+AB#QKVJkQqKWfoi%O-!fsm|X{(Kam;@;mSUAmgwowbCkg z`qR#&4q^aobg8F{-z0A>iBu;Rq}`6Kj&j&*I!+^F!b<@Vb^Uvk6WOkOW#DVYnpfUM z=D48txEJsDnBqe7^p>5Zq;7=^LYvP4i-^1HeOs;NaO@p~eP72_%`>X&+au@BNG!d1 zbQKi%|L7F+ho&UTFXx++`n|*atxz8S&HhTLWXbm0D<$V6qL(#kIS+c?j1;doO(>No z%f+R)1bp_J(tkj@suGTf3*7$G`>wMw@}M79ldW3f&Z_xafe-+29YSIrL{fMj3PQB3 zmUTteYe0y!iArsK@tU6KVe|Wi?@Ow=K`0uyhp;qbPl@rv0P2n{h~Q`2aO~Fn7u0TP z6~E78^l3pgNEw$20N?Q^=wKH+oxaNCVj^L!p(4pKUO_4;??M{9_*=>UWVumP%;?mbH*8WRjJ;!s+6gY_9 zQaPL}D7*)|mm$MH&hpSX1u`xnEuz2Q`%cVl&>d=<4eXUELh33%;CG1myBbQiJ{H^# z9T_iAm5!RqQgklD615P@LzW;&v4_7QD?EeYugSJL^m`QZAG(8oq^mLFi0VMc{@N2A zVEe|r#9hm&%Y2R=LSl#-5N~v;6--aNl2}Q>%N1+BPtyR<9JdlpGfG!@eM`5LDS}`d z$I~KEic2h6C2_+3LmdGTULwf7{UPRW7k-K|MTosS*%)JR^ZD$N)O?q%NX3f#TUF1> zYpaL8$mQ)iOApr(qG`}N#|-X^43?_;IK(d+b>y!_8CJSvaED`<3N5&W;=}YOaampk zYm>(-3Gc%1j*Q#Cx?miV+s0~Rf3s62ER{sn)gMaV&gEJE;TwU8Mn{M$p1eN7{8HNu zH9IHtW9FTBi9~yaw|0huO)T|FUgmuhqeN26JBq#}(s-n>Y{Lih$?Yz&`)-skjGBkA%Ty;`p>ulK` zX-_y6GMVPsd)Y@op4q`ahLk|wu)4SqH>UDBg4Vn0+LP1iu!fw^DBhM*vX^V{ zV5oOu-@lZS1?)SY-cXC=B(Jt5;9lO3&>m~2;ZqJR`}95kF#{e&Jv@+HvFx_=eD;FQ zTQ2kbe`*JQLtqQcb03vAeq}fB!V=^E;~V@V{XE>PMnUB91H0e|OOcfO9nLcp>%-vI zHq?&Z+^zFZAzYd34)A5z{4p(A#ywgC&%kTyYAWspRikWam-0qaKSIjYNBotc4ey|J z%n%|icNIY+YUSSpAqcEnrwFKTw9~Xaw7sRG?swf#_b^p?B7wPs9n-M zmnH5o?pi-Igk8lEPW`6-h_X!iggya1+LT-3)=hacbIcx!nUC5S;#FcNpf-Q3_}{Y} z_Q&`K?;=(akmYXNFH|w@aw-O04~6@8teHcIU71Zuy&kgH zww?t!z&m-C8{fF)%QcdZs@CGDw3kCW6W=XTsRQtoh>u@Aj8{X?Gbof%Z=IXwG2^=Z zc0~QCL=E=uEc-9Cw`&Y)IGR4yU45TKEf6iHS=%jddj?NAf*v4K%TNf^cUSDuw3IQE zC)A%e!~@!wv0`v_29=p}l{NxI$Cu%mxpgNMnwpKq^TUsGFPC$JW|4UdWpmcq)l|Vs zd&aE6=_)~90ca=W)5LkAsBqz~OK%diC99bNYEB4Ft$v#${Jis}djNh=Ir(ww5`#Z}@UDXBQHt$S zeVwgDSu}xZ!eUM~lGThHmrz$^wqvg3g5F6J`F`rf&kOUsaZkRRvU0ql@_3ho&k6Zn zCGaVkFy+-h_^zZ2!_jS)juI=-fx~yIWroed}2# zPc-bbjtV(%I?w&gd?j%c`fU`yro2ILI}yIoF&rrPDC+Y`Qme0JH06Y+>6FW6o@x!l zJ3VU2Wb0qf0D#V^?$RW+cs}bKs+YAntc;{r%XayB$xB7)DQ(dDMfR5qVc`|ldLuMj zvL46lNgkd61DfB{#JqQx=iFyFl{F%RsQRSL#+H2UMWK6NWr~Q8j-1Qeo@rUBVPLvj zAatYa{Y+|6MGRDTCq3l1FIoK68a+KxMJ&Vd1fC)E_-&5s^R}#Uk+lc*Li_$(2kWc+ z>l?RJkHS8z!taHn9%@fChZU0wG`KzQb$nhPY*=cJv7`+@7C6GqrAb;3ydmXLRgE+- z9+r2rnbFfq2j&w%{QA#?Yo97J3BF8@xUNisx;FTU8pSE;|1) zmNWU1tfUkfQ;O9;IDbi8CWmA?MJCiGN3_Y#98W~4BlQoC1offBSJ`otY(YnFum|{3 zKl+CJzp0=lm&x$c*mK%X8pfaEZZP)9K71Yemw^6Xx`h)rBL&)$W64XZbsyUij; z_mwy@^B~ot$Z6@wGxQ9^VNZt+__Skhy zfY}XzP_{zc$^t}dSmM&OsZ0087ew+)YreDTq8+B76Ea#`qG*Pn*RvfmQa3>-e*4W# z7rDHyrSiQPY2qOJPFI3nop4m*UuxKY(#%9`B{Q{~NL?4e2d zDJ{Qy-xWS!_~%A)xe8-FbsI|-RtshzFg0i^>4GW#2*E(74=_>VF`o|Lcw z5HisgczAv5=AdA`@Aob}f!LQ}CKI~wd_)@yfd0PXGG*Z*!tXORk0R$1$hgDqez ziT@Fn&i@E2_P@u{#N$YoK>_1|Tg#r!)ZnwN#Jz)^BOQi9Ne7#ExtDHE)TF6UKv)9n zZqPj+Ow*>r?6cMIZEidi>koU5-z#Yh@T9uV0V|Z#)hw16e>fJ*1vwK~hV{Q<{>Ht? z60Z!qt1H;`T0-_{>I}4ri!YfR*@71MI8-a8)6h5jCl)dto^!)9#0olHr+~k2Sj#K$ zC=RT68hILf@jo#%RUbd8wMiR=4f+GZ=v#9{;;3;=(7i`l*gIepw3aGeG#L>$KF?$(RvNN1C-SFmD5Spy3ZosYSDBYpx-dE~Uzsz^(aWquQMJWzE?lAiF0jX-40SD$={dJv_Xx ztG`JxFJUgX8D1|1D!d=duwP&04L%AB!~&wDxg5eRP4^9iZ2=$3;%k~|r2G7FGaGw~ ztBv{mAuXrZz1+0!uy32PkEmO^ww*gDHK3dSHitda+|BTI^JLRKwbPbtzb2Bti?q*w znd*tEStNL&@Yp>TSz{;mV*&`lm}qDbES;*}HiQ4>5=it4a5e)2#Z1PdoJ_Tek05)Qxq|Aj2s87Ao)ggXPb=qE27E{!-NOwj$9Q~(rUF;0MFdTq3$;WEvasuCtr9i zo~**4q4nDcW(azou(~2HW$j`{g>tD4?N3b9|Do}pEitNys##Y z3s*UPd-WaH``lN&Drff|?##BbY)w2&H-oIg$kKo8Vic}i@+vJk#=O@S|FZMjcWDJt zC!R2;xUAECdLtygM)Rvxmy=1Sj`c@>do+pQ+5gSrZl3k;OYxy;@&i-#_Y67{U4_wE zI0^g}9^xp};@KZf9Y>7D&*%kyx$pozz|x#Kajl1P2fLQj${AYg6>Vdao?QAvLwSvb z?)1@APJzUJ(*>;C`&0J17JJI9KHg5O<9W_NQu%u{m;25DbDnOan#CathDwPQ^qmfLlXw9+vj_}?H#{qe?O|E z2(4w>o4=M#9Fl7yrhKE$dd>&{Of(U>6au}fC_ytbrp`B}%4v0&6_J{e>(ut$sMKLb z)J*30v)o6truioKx&s<|a+tVEtN@%36HUsuCQ_#O`U%~mCq$mGx$gtXA6|WbQTW4* z@{j-)(DBzHFLFHUdW-*+a#Bs=Bz@0e#{W)QGBqol0L|Ii%dU5H*m#-Q$mag!qxx3~ z54iqIPPo8Cy#ITW2GGUxXaz>zdv=wx^Hb>APXP+GhYV4$CjTzozJB%<@-NMjU4)DH zrTY9kSf^-KQ)NF<^>C>X`v^ZV2rV0Z8m=5#>a}kZ7&xZGMj_(Gg>xZ&IjWAZLmpXH z1;<3#Bz^-8GMVYFw7-Rgcrdi-KRls3KJ9(29Q4%{e~SF?NBS8n9H|;OL4LTRIaLAt zv3vNd0y~kzQEOVCY%9k)nD?@@SqVJ1@w=zxwYTdwa3^u~=Q-rwyYW!fS^qO*yYQ1J2;=!f8gr!Sge^j`o5w4jgQiD>~X{aRrG(z16-AljjUPHWfqVUbprnu}{|Huw! zS%2T(lHayo-sAK8K77nuNpOT-j;Rj2JZIKBr-;TLa$+-nI6Y__M`6Xz9!RG4J@2N| zmA9d621P zTDz3{gk=1Y`g84UGi_Yjhs06mm(4j$Pd}(WJ~B7^DAPmE>-}`nrwBmHp8s??Uzt3@ zck0{TARw{C1&Vu~HBZ>Z*foF3*~<$I6FBnhyl>18^!q1TJ?U<5pH$sis;rhmz7JLE zt9LfGKJxy;G#zUUQIk2(6V)&*lyR?_PoG!`)sUO=>#epMTGcFeUB0M3=-H)ZT3>DX zs4-*SM{CA`(48+M&X|6mK&(C?7wVz-kZV!DW0UU zL;hU@I&E0D+s{3})b|l*hpO;Biqo&%=slliW1wfh+nOnr=V-kBeR(8`VO%f++(o;d5wk>kz@cC`|_>mu~O z2)1ZFbb5shMEdxT3JrCNeHAsyE~gl2Ozk3`q-(_1c4Qj(ZG|Lj-lM4q`Gp6vDR_LpLBzzPXZ?#GFROSWeV)EN zRu#~{LD>?M@g{&n$mk85Y|VKROgPU2j`bg zn^B%4%%*f&SN_>?0vbQ0Za(%9^5%USOiOg4{RMvC#97>}q@)9XW}CW?_p}5a1cl-?qOsr>Shs-(Ndxi@TsKWaA}T41kIY%D7>RBeuRV!>)+;le;14AfK3|uSa{DRCo=^R&(lM09 z7esEoymjqX6Tt(DiF8&oX~1FtQ#K>5kdK%09$Xxe9+h`+=VeAb21mRgM>P7+N5ETl z2n(V>LTAn3r?QVeWdOzT;P!j!FN}`u;T>3oC$>P&Y574-zn^1?BfAMs9Pa0^hfup&V%nw~l{z}& zO^9>5urfRV+wkGIKBf}S*iK2=EHrb18!zt4;QA2|euX%6cRhD~=k3r;_5$}x(KVPw zsmh{f@$xTs-XywjR9>fY=?<%o?CG(1WZ*yaSMrw1DQt}laFyC!=pWK5m zb`?ZDs{0uC)~2=h$s>o?qxAsKB*T0=He??C!7`zQcwSKfe>L@45Qi=gr^V-j`Mf^D zgvl~L7BHtgK3l(dOd4J0{DlYBP|3)LsL!2$J<_IMaUu>BXi0OaP#Kl~yj`hnUd9Cq?Tp7F`Dd7REqG>DZR} z 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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, show board fill 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.

    +
    + Resize board to fit to content button +
    +

    Board guides

    You can set guides on boards that will assist with aligning objects.

    Read more about guides.