Commit graph

14227 commits

Author SHA1 Message Date
Nigel Breslaw
b43bb1a361 No need for 2 maps 2025-06-16 19:13:55 +03:00
autofix-ci[bot]
02244f8176 [autofix.ci] apply automated fixes 2025-06-16 19:13:39 +03:00
Nigel Breslaw
3a7fe41d18 Stricter typescript with less 'any' 2025-06-16 19:13:39 +03:00
Nigel Breslaw
82ff1eaeb9 Refactor converter based on simpler upfront system 2025-06-16 19:13:39 +03:00
Nigel Breslaw
769ebc5238 Small tidy 2025-06-16 19:13:39 +03:00
Nigel Breslaw
d85505c7c7 Flatten tests - no 'describe' 2025-06-16 19:13:39 +03:00
Nigel Breslaw
c291692613 Simplify 2025-06-16 19:13:39 +03:00
Nigel Breslaw
6dcb91b3a2 test-data now creates ALL data upfront
This is a new approach that first creates the main data. It then scans this data for variable references that point to deleted variables and/or variable collections. Figma then lets you get those collections and variables via another api and we then insert them back into the data.

This means the converter can be simplified in a later refactor as there was complexity in the logic to handle this problems after it was given the data. Now the data is complete the convertor can be simpler.
2025-06-16 19:13:39 +03:00
autofix-ci[bot]
a6fbd47435 [autofix.ci] apply automated fixes 2025-06-16 19:13:39 +03:00
Nigel Breslaw
008d3c9621 Updated tests 2025-06-16 19:13:39 +03:00
Nigel Breslaw
bd1cfe8f20 Support the recovery of deleted variables and collections 2025-06-16 19:13:39 +03:00
autofix-ci[bot]
689f4fdf64 [autofix.ci] apply automated fixes 2025-06-16 19:13:39 +03:00
Nigel Breslaw
65e351cf4d Tidy 2025-06-16 19:13:39 +03:00
Nigel Breslaw
9df556c034 Use some Figma types directly 2025-06-16 19:13:39 +03:00
Nigel Breslaw
90dab3bbad Tidy 2025-06-16 19:13:39 +03:00
Nigel Breslaw
0747b44b94 Slight tweak 2025-06-16 19:13:39 +03:00
Nigel Breslaw
48cd9ee237 Fix converstion issue 2025-06-16 19:13:39 +03:00
Nigel Breslaw
724a47fad9 Simplify export by reducing the number of levels you can use variable-aliases 2025-06-16 19:13:39 +03:00
Nigel Breslaw
97ef530725 Resolve self referencing figma variables 2025-06-16 19:13:39 +03:00
Nigel Breslaw
24b1aad236 Save the whole variable in the map for fast lookup 2025-06-16 19:13:39 +03:00
Nigel Breslaw
da4a720c4f Handle case of variable-alias to an item in the same collection 2025-06-16 19:13:39 +03:00
Nigel Breslaw
4e2e0beb6b bug: Handle Figma file with deleted variables 2025-06-16 19:13:39 +03:00
Nigel Breslaw
59fd753458 bug: Make collections with one mode have an 'out' property 2025-06-16 19:13:39 +03:00
Nigel Breslaw
9d625a4148 Fix issue when only one mode value is shared across all modes 2025-06-16 19:13:39 +03:00
Nigel Breslaw
201e835cfe Support slint hex color values 2025-06-16 19:13:39 +03:00
Nigel Breslaw
89623502d0 Tweak tests 2025-06-16 19:13:39 +03:00
Nigel Breslaw
95af9964bc Support more slint types via variable scopes 2025-06-16 19:13:39 +03:00
Nigel Breslaw
362e1e33ff Add test for names starting with a hypen 2025-06-16 19:13:39 +03:00
Nigel Breslaw
59ecfa3055 DRY 2025-06-16 19:13:39 +03:00
Nigel Breslaw
28d0a89f67 Add variable references to data 2025-06-16 19:13:39 +03:00
Nigel Breslaw
9f7e676e32 Stop multiple running of export
If you clicked the buttons quickly it would do the export multiple times
2025-06-16 19:13:39 +03:00
Nigel Breslaw
6b0c30f070 Sanitize names without using regex 2025-06-16 19:13:39 +03:00
Nigel Breslaw
6695dd27cf Remove consecutive duplicate words in names 2025-06-16 19:13:39 +03:00
Nigel Breslaw
9bc4c0d853 Create one struct per collection 2025-06-16 19:13:39 +03:00
Nigel Breslaw
44e8d112b4 Typo 2025-06-16 19:13:39 +03:00
Nigel Breslaw
814ccde173 Save as example.slint 2025-06-16 19:13:39 +03:00
Nigel Breslaw
0ec54c4188 Sanitise property names and add tests 2025-06-16 19:13:39 +03:00
Nigel Breslaw
a48baa70aa Add Simple export button 2025-06-16 19:13:39 +03:00
Nigel Breslaw
1a3ff7b7df Make zip file saving more generic 2025-06-16 19:13:39 +03:00
Nigel Breslaw
c2c2d2bb44 Simplify as TypeScript can infer the types itself. 2025-06-16 19:13:39 +03:00
Nigel Breslaw
8c2dcdb4ae Optomise with figma.variables.getLocalVariablesAsync 2025-06-16 19:13:39 +03:00
Nigel Breslaw
0eee1ca7af Simplify 2025-06-16 19:13:39 +03:00
Nigel Breslaw
f450cbf99c Add 'dev:testdata' with download test data button 2025-06-16 19:13:39 +03:00
Nigel Breslaw
a8564d40ce Extract json from getLocalVariableCollectionsAsync() 2025-06-16 19:13:39 +03:00
Simon Hausmann
504474f90b system-testing: Disable Nagle's algorithm to speed up round-trips
Some checks are pending
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, beta) (push) Blocked by required conditions
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
Also write the leading message size header and the message body in one go to the socket, to reduce the risk of fragmentation.

Kindly suggested by @ubruhin
2025-06-16 17:50:24 +02:00
Olivier Goffart
647c18451f Remove Cargo.lock now that the release is done 2025-06-16 15:34:55 +02:00
ogoffart
92f9f0e85d Bump version number to 1.12.1 2025-06-16 13:32:39 +00:00
Simon Hausmann
2ea583d9d9
windows: Use a default stack size of 8MB (#8711)
This matches Linux and avoids annoying stack overflows, especially when running our own demos (see printerdemo).

This is now also documented for our users.

Fixes #4586
2025-06-16 15:27:34 +02:00
Olivier Goffart
52c978238e live-preview: lazily compute the palette
Computing the palette can be quite expensive if there are many globals
with many big struct (in the case for example of a big figma export).
This is done for every refresh or selection making the UI not responsive
at all.

This change lazily compute the palette when needed by the color picker.
2025-06-16 15:24:32 +02:00
Olivier Goffart
37fb91fafc Commit Cargo.lock for the release
Some checks are pending
CI / build_and_test (--exclude ffmpeg --exclude gstreamer-player, windows-2022, stable) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
2025-06-16 12:18:20 +02:00