8 Commits

Author SHA1 Message Date
Andrés Moya
a3ea9fbecb
🔧 Add more validations for components, to avoid some crashes (#7820)
* 🔧 Validate only after propagation in tests

* 💄 Enhance some component sync traces

* 🔧 Add fake uuid generator for debugging

* 🐛 Remove old feature of advancing references when reset changes

Since long time ago, we only allow to reset changes in the top copy
shape. In this case the near and the remote shapes are the same, so
the advance-ref has no effect.

* 🐛 Fix some bugs and add validations, repair and migrations

Also added several utilities to debug and to create scripts that
processes files

* 🐛 Fix misplaced parenthesis passing propagate-fn to wrong function

The :propagate-fn keyword argument was incorrectly placed inside the
ths/get-shape call instead of being passed to tho/reset-overrides.
This caused reset-overrides to never propagate component changes,
making the test not validate what it intended.

* 🐛 Accept and forward :include-deleted? in find-near-match

Callers were passing :include-deleted? true but the parameter was not
in the destructuring, so it was silently ignored and the function
always hardcoded true. This made the API misleading and would cause
incorrect behavior if called with :include-deleted? false.

* 💄 Use set/union alias instead of fully-qualified clojure.set/union

The namespace already requires [clojure.set :as set], so use the alias
for consistency.

* 🐛 Add tests for reset-overrides with and without propagate-fn

Add two focused tests to comp_reset_test to cover the propagate-fn
path in reset-overrides:

- test-reset-with-propagation-updates-copies: verifies that resetting
  an override on a nested copy inside a main and supplying propagate-fn
  causes the canonical color to appear in all downstream copies.

- test-reset-without-propagation-does-not-update-copies: regression
  guard for the misplaced-parenthesis bug; confirms that omitting
  propagate-fn leaves copies with the overridden value because the
  component sync never runs.

---------

Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-04-15 08:42:42 +02:00
Pablo Alba
f961b75bba ♻️ Cleanup of componentsv2 2025-04-03 11:38:35 +02:00
Pablo Alba
014c297458
🎉 Add drag components in or out a variant container 2025-02-20 10:05:01 +01:00
Pablo Alba
018464aedf ♻️ Unify move shape on workspace and relocate on layers panel 2024-06-20 16:00:39 +02:00
Andrés Moya
c16ef39abf ♻️ Make test helpers globally usable 2024-05-13 13:10:01 +02:00
Andrés Moya
cb73ddc353 💄 Small refactor 2024-05-10 10:28:23 +02:00
Andrés Moya
8b4e52a2be 💄 Improve copy child selection and test robustness 2024-05-09 13:33:52 +02:00
Andrés Moya
caefaf6016 Add tests for reset components 2024-05-09 13:33:52 +02:00