BFlat
f143260c3a
Merge pull request #935 from YarilaFox/fix/saved-document-title
...
M7: show the chosen filename for saved documents
2026-10-21 15:47:09 +07:00
NetterSilver and Claude Haiku 5.5
8b198ea364
Strip default port in same_server when the address has a path
...
Found while testing crates/engine/src/online.rs:118
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-20 15:41:47 +00:00
YarilaFox
23463f719b
M7: keep saved document titles in sync with filenames
2026-10-20 17:56:30 +05:00
bflatastic
f979878d9e
Merge main into fix/issue-892
...
# Conflicts:
# ROADMAP.md
2026-10-20 06:09:17 +07:00
bflatastic
8a46478e81
Merge main into fix/issue-879
...
# Conflicts:
# ROADMAP.md
2026-10-20 05:46:30 +07:00
bflatastic
b82369201d
M3: duplicating a main component makes an instance ( #892 )
...
Duplicate and Alt-drag copied a main component as a second main. Within
its file the copy is now an instance of it (components::copy_in_file,
shared by edit.duplicate and the Alt-drag copy), as Copy then Paste
already was. A variant duplicated in its set stays a new variant.
2026-10-20 05:44:46 +07:00
bflatastic
05da6b2125
M1: node.get reports layer data (pluginData) ( #879 )
...
Layer data written with node.set {props: {pluginData}} was saved but no
command read it back. node.get (the command, the control method and MCP
get_node) and document.inspect now report pluginData as {key: value}
when a layer or page has any, so a tool keeping state in a file can
read it on its next run. Widget keys are included: the plugin rules
only stop plugins writing them, and widget.list already reports that
state.
2026-10-20 04:58:32 +07:00
bflatastic
cc4799061e
#889 : say a join is too large in words for people (native and web), translated; keep one test
2026-10-20 04:38:28 +07:00
bflatastic
4b030f027a
Merge main into #872
2026-10-20 03:20:30 +07:00
BFlat
1abb9083c7
Merge pull request #821 from attisvalentin/fix/rescan-and-load-fonts
...
M4: fonts installed while the app runs: text.rescanFonts, text.loadFont, text.refit
2026-10-20 03:04:29 +07:00
BFlat
4788c6b819
Merge pull request #870 from MortenHusted/fix/component-paste-instance
...
M3: copied components paste as instances within their file
2026-10-20 03:04:03 +07:00
BFlat
54e3587fd8
Merge pull request #862 from MortenHusted/fix/instance-main-modes
...
M3: instances follow the variable modes their main component sets
2026-10-20 03:03:27 +07:00
BFlat
163e840fc3
Merge pull request #818 from leandrodslv/feat/ui-size
...
feat(ui): add the interface size preference (#540 )
2026-10-20 03:01:28 +07:00
BFlat
b5904ad4c2
Merge pull request #874 from justinjohn0306/fix/857-start-on-home
...
M7: a preference to start on the Home screen (#857 )
2026-10-20 03:00:49 +07:00
BFlat
d32e971685
Merge pull request #832 from Ahmed5Emad/seperate-padding
...
adding individual padding controls in Layout panel
2026-10-20 02:59:33 +07:00
bflatastic
baf93b7756
Merge #874 into #872
...
# Conflicts:
# docs/mcp.md
2026-10-20 02:05:13 +07:00
bflatastic
9c2988d408
Merge main into #872
...
# Conflicts:
# crates/text/build.rs
2026-10-20 02:04:57 +07:00
bflatastic
df99f364a7
Merge main into #821
2026-10-20 02:04:35 +07:00
bflatastic
f22e2ed825
Merge main into #870
2026-10-20 02:04:33 +07:00
bflatastic
4e8f258300
Merge main into #862
2026-10-20 02:04:32 +07:00
bflatastic
e8b7917002
Merge #874 into #818
...
# Conflicts:
# crates/ui-egui/locales/es.toml
# crates/ui-egui/locales/fr.toml
2026-10-20 01:43:53 +07:00
bflatastic
7b478052d1
Merge main into #818
2026-10-20 01:43:44 +07:00
bflatastic
bc35f02ecb
Merge main into #874
2026-10-20 01:43:43 +07:00
bflatastic
7814c32a05
Merge main into #832
2026-10-20 01:43:40 +07:00
bflatastic
cbb95c6412
Merge main into #854
2026-10-20 01:33:53 +07:00
BFlat
b51c9b68d7
Merge pull request #866 from YarilaFox/fix/tab-engine-order
...
M7: Preserve active tab and support tab reordering
2026-10-20 01:11:21 +07:00
BFlat
54ddb2a200
Merge pull request #829 from Silvertree2010/fix/h2788-swiftui-compose-code-generation
...
Keep multiline layer names inside the SwiftUI/Compose too-deep comment
2026-10-20 01:07:34 +07:00
BFlat
6382be2197
Merge pull request #878 from Silvertree2010/fix/h636-live-parse-color-accepts-signs-i
...
Reject non-hex characters in live::parse_color
2026-10-20 01:06:57 +07:00
BFlat
3ed4578112
Merge pull request #851 from MortenHusted/fix/effect-unknown-keys
...
M3: effects refuse keys they don't read instead of dropping them
2026-10-20 00:46:45 +07:00
BFlat
f3c211eca5
Merge pull request #850 from MortenHusted/fix/make-slot-errors
...
M3: a refused slot names component.makeSlot
2026-10-20 00:46:07 +07:00
BFlat
ab5a508538
Merge pull request #849 from MortenHusted/fix/css-stroke-sides
...
M7: CSS borders follow individual stroke sides
2026-10-20 00:45:39 +07:00
bflatastic
b29e17f5c0
Merge main into #842
...
# Conflicts:
# crates/engine/src/variables_behaviour_tests.rs
2026-10-20 00:25:18 +07:00
BFlat
7ca8c80a8f
Merge pull request #814 from muamerETS/fix/layout-remove-gap-binding
...
M3: removing auto layout drops its gap and padding bindings (#810 )
2026-10-20 00:23:28 +07:00
bflatastic
20e4028afa
#818 : interface sizes are relative to the system's display scale (100% is native, Auto goes; 75-200% in Preferences, pref.uiScale takes 0.75-3, "auto" reads as 1); interface_size moved above batch_rename_dialog's doc comment; tests and docs follow
2026-10-20 00:23:14 +07:00
bflatastic
9877b8e6cc
#874 : test that the Start on the Home screen preference persists (old settings read off)
2026-10-20 00:13:46 +07:00
BFlat
409de1a762
Merge pull request #871 from justinjohn0306/fix/809-scalar-bound-edits
...
M3: explicit edits of bound scalar fields detach their variable (#809 )
2026-10-20 00:10:09 +07:00
bflatastic
7614567502
Merge main into #872
2026-10-20 00:02:45 +07:00
BFlat
ba496eddca
Merge pull request #811 from MortenHusted/fix/bound-paint-edits-detach
...
M3: an explicit paint edit detaches the variable bound to what it changed
2026-10-19 23:59:18 +07:00
BFlat
ec512a7767
Merge pull request #807 from MortenHusted/fix/wrap-error-command
...
M1: wrap errors name the command that was run
2026-10-19 23:58:39 +07:00
bflatastic
cfbb5a8f50
#854 : no help-centre URL in selection_reorder.rs
2026-10-19 23:49:01 +07:00
bflatastic
6325a323ee
#821 : move the loadFont/rescanFonts test into fonts_tests
2026-10-19 23:44:08 +07:00
bflatastic
203ec13e03
#821 : text.loadFont reads at most MAX_FONT_FILE (the font scan's 256 MiB cap)
2026-10-19 23:44:08 +07:00
bflatastic
b8aa1ef8f0
Merge main into #821
2026-10-19 23:42:20 +07:00
bflatastic
17da39a5ea
Merge main into #870
2026-10-19 23:42:15 +07:00
bflatastic
95483273e3
Merge main into #862
2026-10-19 23:42:13 +07:00
bflatastic
0008fc7901
#878 : move the parse_color test into live_tests
2026-10-19 22:18:15 +07:00
bflatastic
09427e72be
#871 : text style shortcuts and text.set detach the bound field they change
2026-10-19 22:09:05 +07:00
NetterSilver and Claude Haiku 5.5
258d6f61c0
Reject non-hex characters in live::parse_color
...
Found while testing crates/engine/src/live.rs:85
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 14:49:19 +02:00
justinjohn0306 and Claude Opus 5.5
82a50dad1b
M7: a preference to start on the Home screen ( #857 )
...
Launching opens a new empty file, which then has to be closed to get
back to Home. Preferences ▸ "Start on the Home screen"
(`pref.startOnHome {on?}`, off by default) starts the desktop app on Home
instead. Files named on the command line and recovered files still open.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 17:53:24 +05:30
justinjohn0306 and Claude Opus 5.5
6a163721dc
M3: explicit edits of bound scalar fields detach their variable ( #809 )
...
An explicit edit of a bound width, height, opacity, gap, padding, corner
radius, stroke weight, arc or text field reported ok, but normalize wrote
the variable's value straight back. Now the edit sticks and that field's
binding is dropped, as paint edits already do.
- `styles::bound_before` / `detach_edited`: compare each layer-level
bound field's stored value before and after the edit (`bound_field`),
so keys written unchanged keep their bindings and fields moved along
with another (proportions, min/max) lose theirs. A binding the edit
itself made (`boundVariables`) stays. List and component property
bindings are left to their own rules.
- Hooked into node.set, transform.resize, object.opacityKeys, text.style
and `Session::preview` (canvas drags of the selected layers).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 17:33:29 +05:30