20957 Commits

Author SHA1 Message Date
Alejandro Alonso
c254f88367
Merge pull request #8575 from penpot/niwinz-staging-fetch-exception
🐛 Wrap fetch TypeError into proper ex-info with :unable-to-fetch code
2026-03-12 12:48:48 +01:00
Alejandro Alonso
8f7b12dfd8
Merge pull request #8569 from penpot/niwinz-staging-bugfix-2-not-iseqable-exception
🐛 Fix 'not ISeqable' error when entering float values in layout/opacity inputs
2026-03-12 12:37:35 +01:00
Andrey Antukh
82e3a5fa53 🐛 Fix 'not ISeqable' error when entering float values in layout/opacity inputs
Replace int? with number? in on-change handlers for layout item margins,
min/max sizes, and layer opacity. Using int? caused float values like 8.5
to fall into the design token branch, calling (first 8.5) and crashing.

Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 12:37:22 +01:00
alonso.torres
0e0029bd56 🐛 Fix MCP keep alive messages 2026-03-12 12:34:22 +01:00
Alejandro Alonso
1680be33ef
Merge pull request #8568 from penpot/niwinz-staging-bugfix-1-path-get-points
🐛 Fix TypeError when path content is nil in get-points calls
2026-03-12 12:31:58 +01:00
Alejandro Alonso
a079de1305
Merge pull request #8579 from penpot/elenatorro-13619-fix-outer-non-closing-stroke
🐛 Fix stroke closing on outer strokes on paths
2026-03-12 12:24:52 +01:00
Andrey Antukh
6ee8184821
🐛 Fix error when creating guides without frame (#8598)
* 🐛 Fix error when creating guides without frame

The error 'Cannot read properties of undefined (reading
$cljs$core$IFn$_invoke$arity$0$)' occurred when creating a new
guide. It is probably a race condition because it is not reproducible
from the user point of view.

The cause is mainly because of use incorrect jsx handler :& where :>
should be used. This caused that some props pased with incorrect casing
and the relevant callback props received as nil on the component and
on the use-guide hook.

The fix is simple: use correct jsx handler

Signed-off-by: Andrey Antukh <niwi@niwi.nz>

* 💄 Add cosmetic changes to viewport guides components

---------

Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 12:23:09 +01:00
Alejandro Alonso
0c778d7278 🐛 Consolidate WASM text content update and resize into a single change 2026-03-12 12:21:06 +01:00
Andrey Antukh
86f2cbf45e Merge remote-tracking branch 'origin/staging' into develop 2026-03-12 12:19:54 +01:00
Dominik Jain
93896d2263 Remove workaround for FlexLayout.appendChild
Update instructions to no longer stress that FlexLayout.appendChild
does not work as expected (#8417 now being resolved)
2026-03-12 12:06:16 +01:00
Dominik Jain
6c7c584c9a Emphasise the importance of the 'auto' sizing option of layouts 2026-03-12 12:06:16 +01:00
Dominik Jain
ac6541d74a Add instructions to avoid unnecessary annotations 2026-03-12 12:06:16 +01:00
Dominik Jain
683468fa97 Update instructions on sizing options for FlexLayout & GridLayout
With #39 implemented, update the instructions accordingly.
2026-03-12 12:06:16 +01:00
Dominik Jain
d2c9911eb2 📎 Fix typo 2026-03-12 12:06:16 +01:00
Dominik Jain
ba138de53e Make clear that layoutChild is only available after the child was added 2026-03-12 12:06:16 +01:00
Dominik Jain
bf87af1928 Add instructions on how to reuse fills/strokes 2026-03-12 12:06:16 +01:00
Dominik Jain
a928980d62 📎 Ignore .claude 2026-03-12 12:06:16 +01:00
Eva Marco
c00ef7c128
🐛 Fix unnexpected warning (#8603) 2026-03-12 12:01:28 +01:00
Elena Torro
6ca8865e5b 🐛 Close the subpath when possible 2026-03-12 12:00:03 +01:00
Marina López
58d7e1de18
📎 Revert show version notes when navigate from cc (#8591) 2026-03-12 11:47:50 +01:00
Xaviju
9b3207b06c
🐛 Fix wrong value on property copy on inspect styles (#8605) 2026-03-12 11:45:16 +01:00
Eva Marco
5c989d00d0
🎉 Token form combobox (#8294)
* 🎉 Create token combobox

* ♻️ Extract floating position as hook

* ♻️ Extract mouse navigation as hook

* ♻️ Extract token parsing

* 🎉 Add test

* 🎉 Add flag

* 🐛 Fix comments

* 🐛 Fix some errors on navigation

* 🐛 FIx errors on dropdown selection in the middle of the string

* 🐛 Only select available options not headers or empty mesage

* ♻️ Change component name

* 🐛 Intro doesn't trigger dropdown

* 🐛 Fix differences between on-option-enter and on-option-click

* ♻️ Refactor scrollbar rule

* 🐛 Fix update proper option

* ♻️ Use tdd to resolve parsing token

* ♻️ Add more test

* ♻️ Use new fn for token parsing

* ♻️ Refactor new fns and add docstrings

* 🐛 Fix comments and warnings

---------

Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-03-12 09:34:29 +01:00
Elena Torró
1512d53e7c
Merge pull request #8601 from penpot/superalex-fix-text-width-not-applied-on-first-change-for-auto-width-texts-in-wasm-viewport
🐛 Fix text width not applied on first change for auto-width texts in WASM viewport
2026-03-12 09:30:10 +01:00
Elena Torró
c59df2e52d
Merge pull request #8602 from penpot/superalex-fix-slash-problem-in-embedded-editor
🐛 Fix slash problem in embedded editor
2026-03-12 09:21:18 +01:00
Elena Torro
e72e2bf176 🐛 Fix stroke closing on outer strokes on paths 2026-03-12 09:02:37 +01:00
Alejandro Alonso
0d1b8dc1d6 🐛 Fix slash problem in embedded editor 2026-03-12 08:45:14 +01:00
Alejandro Alonso
70ef763bfe 🐛 Fix text width not applied on first change for auto-width texts in WASM viewport 2026-03-12 08:25:36 +01:00
Alejandro Alonso
ecf525e094
Merge pull request #8576 from penpot/elenatorro-13619-fix-svg-inner-stroke-artifact
🐛 Fix inner stroke intersection on paths
2026-03-12 08:20:21 +01:00
Andrey Antukh
3e60de9582 🐛 Backport merge issues fixes from develop. 2026-03-11 20:16:32 +01:00
Elena Torró
af7a9b4589
Merge pull request #8584 from penpot/azazeln28-fix-13577-auto-width-fixed-width-regression
🐛 Fix auto-width/fixed-width regression
2026-03-11 16:32:23 +01:00
Andrey Antukh
11a1ac2a09 🐛 Fix RangeError (stack overflow) in find-component-main
Refactor find-component-main to use an iterative loop/recur pattern instead of direct recursion and added cycle detection for malformed data structures.

Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-11 16:15:47 +01:00
Andrey Antukh
ade0b6b07b 🐛 Fix issues introduced on merge from staging 2026-03-11 16:07:35 +01:00
Alonso Torres
31a4a7f21f
💄 Removed forgotten print (#8594) 2026-03-11 16:04:33 +01:00
Andrey Antukh
2de3ead14f Merge remote-tracking branch 'origin/staging-render' into develop 2026-03-11 15:50:58 +01:00
Andrey Antukh
0708b0f334 Merge remote-tracking branch 'origin/staging' into staging-render 2026-03-11 15:45:55 +01:00
Andrey Antukh
7ec9261475
Add improvements to AGENTS.md (#8586) 2026-03-11 15:24:40 +01:00
Belén Albeza
d8249cc3db
Add regression test for token highlight bug (13302) (#8573)
*  Add aria role to token pill

*  Clean up unused vars, imports and unneeded intercepts in tokens tests

*  Add regression test for bug 13302 (highlight token)
2026-03-11 14:17:57 +01:00
Elena Torró
2ca264496c
Merge pull request #8529 from penpot/azazeln28-feat-add-proper-ltr-rtl-navigation
🎉 Add LTR/RTL cursor navigation
2026-03-11 13:52:17 +01:00
Aitor Moreno
920e66fd24 🎉 Add LTR/RTL cursor navigation 2026-03-11 13:34:23 +01:00
Andrey Antukh
33da7f384a Merge remote-tracking branch 'origin/staging' 2026-03-11 12:04:28 +01:00
Aitor Moreno
e380886f51 🐛 Fix auto-width/fixed-width regression 2026-03-10 20:51:40 +01:00
David Barragán Merino
e6d15a5ac2 🔧 Disable search indexing of plugin docs for non-production envs 2026-03-10 19:36:52 +01:00
David Barragán Merino
e855907b05 🔧 Disable search indexing of plugin docs for non-production envs 2026-03-10 19:36:28 +01:00
David Barragán Merino
b314faa0e9 🔧 Disable search indexing of plugin docs for non-production envs 2026-03-10 19:35:19 +01:00
Andrey Antukh
db9e9f4832 🐛 Ignore browser extension errors in unhandled exception handler
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 19:30:01 +01:00
Andrey Antukh
7939cb045b 🐛 Fix plain vector leaking into shape :content from shape-to-path conversions
group-to-path was storing a raw concatenated vector into :content after
flattening children's PathData instances via (map vec). bool-to-path
was storing the plain-vector result of bool/calculate-content directly.
Both now wrap through path.impl/path-data at the assignment site so the
:content invariant (always a PathData instance) is upheld.

Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 19:26:03 +01:00
Andrey Antukh
f566a2adfd 🐛 Fix ITransformable error when path content is a plain vector
Coerce content to PathData in transform-content before dispatching
the ITransformable protocol, so shapes carrying a plain vector in
their :content field (legacy data, bool shapes, SVG imports) no
longer crash with 'No protocol method ITransformable.-transform
defined for type object'.

Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 18:06:44 +00:00
Andrey Antukh
31d8b35a2c 📎 Revert small changes related to browser pool on exporter 2026-03-10 18:51:04 +01:00
Elena Torro
70dd46f8ce 🐛 Fix inner stroke intersection on paths 2026-03-10 16:08:55 +01:00
Andrey Antukh
fed01fba73 🐛 Wrap fetch TypeError into proper ex-info with :unable-to-fetch code
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-10 15:59:14 +01:00