bflatastic
e21becfa85
Merge main into #691
2026-10-17 14:57:55 +07:00
BFlat
69806c9edd
Plugins: refuse file and network access through path params and collab ( #723 )
...
Plugins can no longer reach the disk or network through path parameters (variable.export/codeConnect.export/component.playground writes, codeConnect.import/variable.import reads) or through collab.* and window.*; found and fixed by @lucasmartins-ai, split out of #696 .
2026-10-17 13:35:00 +07:00
BFlat
40c744da10
M1: convert frames to sections and sections to frames ( #719 ) ( #721 )
...
Frames on the page or in a section convert to sections (object.convertToSection) and sections back to frames (object.convertToFrame), in place, one undo step each, from the canvas context menu; nested frames, instances, main components and sections holding sections are refused.
2026-10-17 13:03:49 +07:00
RealtaNua and Claude Opus 5.5
569a3b3669
fix(engine): a Shift-click on a selected widget doesn't also click it ( #498 )
...
With Shift let go before the button, the release took the layer out of
the selection and also ran the widget's click. The take-out now skips
the widget click, as a Shift-click always has.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-16 23:11:00 +07:00
RealtaNua and Claude Opus 5.5
8303cfa56f
fix(engine): Shift-drag on a selected layer moves the selection ( #498 )
...
Shift on a selected layer took it out of the selection on press, so the
drag that followed had nothing to move, and with several layers selected
the grabbed one stayed behind. It now leaves the selection on release,
and only when the press didn't become a drag. Where no move can start
(a version being viewed), it still leaves on press.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-16 22:52:41 +07:00
BFlat
9c2d61f6ae
Merge pull request #601 from Skyfuller1303/feat/drop-to-open
...
M7: drop files anywhere to open them
2026-10-16 07:41:02 +07:00
Skyfuller1303
1f6010e07c
M7: open dropped files that have no file on disk
...
A home-screen drop that carries only bytes queued file.open with data and name, which file.open rejected because it requires a path. file.open now also takes base64 data with a name and opens it as a new document without a save path.
2026-10-16 00:22:14 +02:00
NetterSilver and Claude Haiku 5.5
90d7521840
Reject negative or fractional index in file.close
...
Found while testing crates/engine/src/cmd/file.rs:1283
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 00:19:49 +02:00
bflatastic
891f0acb3c
Merge branch 'rb-560' into batch/t6
2026-10-16 02:36:56 +07:00
bflatastic
d60a27b675
Merge main into #554 : one id map for the copy, and #562 's flows, prototype and guides follow it
...
page.duplicate copies every layer with duplicate_all_into (navigation between
copied frames points at the copies) and builds the old-to-new list for flows
from that copy, instead of copying each layer separately.
2026-10-16 02:34:54 +07:00
bflatastic
db8bf6ba33
Merge main into #560 ; normalise the replacement where findReplace reads it
...
Main's case-insensitive replace loop (from an earlier PR) took the place of the
loop this change edited, so the replacement text is normalised once, where
the parameter is read.
2026-10-16 02:31:34 +07:00
bflatastic
c4c88900c4
Merge branch 'pr-563' into batch/t5
2026-10-16 01:36:10 +07:00
bflatastic
aadaa2d975
Merge branch 'pr-562' into batch/t5
2026-10-16 01:36:09 +07:00
bflatastic
580eee3572
Merge branch 'pr-561' into batch/t5
2026-10-16 01:36:08 +07:00
bflatastic
4df3702dbb
Merge branch 'pr-556' into batch/t5
2026-10-16 01:36:05 +07:00
bflatastic
d95aef1d0c
Merge branch 'pr-547' into batch/t5
2026-10-16 01:36:02 +07:00
bflatastic
887e374c58
Merge branch 'pr-545' into batch/t5
2026-10-16 01:36:00 +07:00
bflatastic
34dcf852d5
Merge branch 'pr-542' into batch/t5
2026-10-16 01:35:59 +07:00
bflatastic
d40fd80be7
Merge branch 'pr-536' into batch/t5
2026-10-16 01:35:58 +07:00
bflatastic
1c5b4d8450
Merge branch 'pr-534' into batch/t5
2026-10-16 01:35:57 +07:00
bflatastic
ef69a7f8e9
Merge branch 'pr-533' into batch/t5
2026-10-16 01:35:57 +07:00
bflatastic
a1849aae15
Merge branch 'pr-531' into batch/t5
2026-10-16 01:35:56 +07:00
bflatastic
1e25e239c2
Merge branch 'pr-527' into batch/t5
2026-10-16 01:35:55 +07:00
bflatastic
362bdce73b
Merge branch 'pr-525' into batch/t5
2026-10-16 01:35:54 +07:00
bflatastic
09e85240ea
Merge branch 'pr-522' into batch/t5
2026-10-16 01:35:52 +07:00
bflatastic
07130947f9
Merge branch 'pr-517' into batch/t5
2026-10-16 01:35:45 +07:00
bflatastic
16e26b69ff
Merge branch 'pr-516' into batch/t5
2026-10-16 01:35:44 +07:00
bflatastic
cd5c70a244
Merge branch 'pr-515' into batch/t5
2026-10-16 01:35:44 +07:00
bflatastic
0105724108
Merge branch 'pr-508' into batch/t5
2026-10-16 01:35:36 +07:00
bflatastic
b1760ff098
Merge branch 'pr-497' into batch/t5
2026-10-16 01:35:30 +07:00
bflatastic
991cb604c2
Merge branch 'pr-493' into batch/t5
2026-10-16 01:35:23 +07:00
bflatastic
e2b567d5b3
Merge branch 'pr-485' into batch/t5
2026-10-16 01:35:16 +07:00
bflatastic
77b6f1fc12
Merge branch 'pr-483' into batch/t5
2026-10-16 01:35:14 +07:00
MarekSpodBiedry
843b00b22f
text: scripted text stores CRLF, CR, U+2028 and U+2029 as LF like the editor ( #427 )
2026-10-15 17:20:58 +02:00
MarekSpodBiedry
85d97a831c
Keep flows, prototype settings and guides when duplicating a page ( #417 )
2026-10-15 17:19:38 +02:00
MarekSpodBiedry
3062c6c4d6
Keep the selected guide selected when an earlier guide is removed ( #418 )
2026-10-15 17:18:38 +02:00
MarekSpodBiedry
fdf397d7dc
Refuse to create a variable collection with a name that is already taken ( #416 )
2026-10-15 17:17:44 +02:00
NetterSilver and Claude Haiku 5.5
6ce65b24f4
Keep region loops in ring order when adding a point to a reversed edge
...
Fixes #420
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 15:12:06 +00:00
NetterSilver and Claude Haiku 5.5
a4f4869443
Point duplicated page navigation at the copied frames
...
Fixes #419
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 17:10:00 +02:00
NetterSilver and Claude Haiku 5.5
76a67e7ee5
Point library style variable bindings at imported library variables
...
Fixes #462
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 16:47:58 +02:00
NetterSilver and Claude Haiku 5.5
330b237c9c
Refresh linked layers when a library update changes only a style
...
Fixes #461
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 14:45:47 +00:00
NetterSilver and Claude Haiku 5.5
7689af50d6
Keep character-range text styles when publishing and placing components
...
Fixes #463
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 16:31:53 +02:00
NetterSilver and Claude Haiku 5.5
b61122ccca
Fix eraser missing brush crossings narrower than the sample spacing
...
Fixes #421
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 15:28:43 +02:00
NetterSilver and Claude Haiku 5.5
524b538908
Report changed=false when list indentation is capped
...
Fixes #425
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 13:21:05 +00:00
NetterSilver and Claude Haiku 5.5
72b826d65b
Fix cross-axis arrows and drop slot on single-item wrapped lines
...
Fixes #422
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 15:17:21 +02:00
NetterSilver and Claude Haiku 5.5
0d125374d3
Don't record an undo step for an abandoned empty text box
...
Fixes #423
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 13:05:07 +00:00
bflatastic
2ea8c3f86f
Merge #338 : M9: remove someone from a live session (@HaSh3003)
2026-10-15 19:54:09 +07:00
bflatastic
9ba207e900
Merge #400 : Let batch steps reference ids created by earlier steps (@edivanteixeira)
2026-10-15 19:54:08 +07:00
bflatastic
6551f870b6
Merge #363 : fix(engine): drag with the Text tool to make a fixed-width text box ( #360 ) (@vxMacDev)
2026-10-15 19:54:07 +07:00
bflatastic
7a9e9de38c
Merge #305 : M1: save files automatically ( #296 ) (@AganzeFelicite)
...
# Conflicts:
# crates/ui-egui/src/idle_tests.rs
# docs/mcp.md
2026-10-15 19:53:52 +07:00