mirror of
https://github.com/penpot/penpot.git
synced 2026-11-13 13:31:24 +00:00
* 🐛 Fix collapsing token set groups after reordering The handler captured the first render path, and the tree is keyed by index, so after a reorder it toggled the path of another group. Closes #12625 AI-assisted-by: deepseek-v4.1-flash * 🐛 Refresh double click handler of token set groups Add the start edition callback to the hook deps so the handler does not keep the initial closure. AI-assisted-by: deepseek-v4.1-flash * ✨ Add regression test for folding reordered token set groups Reorder a group in the sets tree, fold it, and assert that only that group collapses. The tree is keyed by index, so the test also proves the collapse handler does not keep a stale path after a reorder. AI-assisted-by: deepseek-v4.1-flash * 🐛 Refresh double click handler of token set nodes Add the start edition callback to the hook deps so the handler does not keep the initial closure. AI-assisted-by: deepseek-v4.1-flash * ♻️ Key token set tree nodes by identity instead of index React reuses a node by its key. Keyed by the tree index, a reordered group moved the instance to another node and its handlers kept the previous paths. Groups are now keyed by path and sets by id, so each node keeps its own handlers. The set being created has no persisted id yet, so the tree walk generates a new one on every render. Keep one uuid for its whole creation instead. AI-assisted-by: deepseek-v4.1-flash