bflatastic
91af3782e0
#915 : the inspect response-limit tests join the MCP crate's one test binary (tests/it, as on main since #1208 )
2026-10-24 12:57:58 +07:00
bflatastic
1b41d129e6
Merge main into #915
2026-10-24 12:53:52 +07:00
BFlat
3476f4b1e7
Merge pull request #1244 from storytold/batch/r2-1
...
Community batch r2-1: 63 reviewed PRs
2026-10-24 11:15:53 +07:00
bflatastic
9f60f5470d
Batch r2-1 review: status lines and rows in ROADMAP, prototyping and UI parity
2026-10-24 10:31:31 +07:00
bflatastic
8af2efd1b9
Batch r2-1 review: U+2007 glues beside ideographs too
2026-10-24 10:31:29 +07:00
bflatastic
d0db758684
Batch r2-1 review: SVG ids unique as written; a filled open curve closes for its fill
2026-10-24 10:31:26 +07:00
bflatastic
31d4c6eba4
Batch r2-1 review: per-side strokes follow smoothed corners for every alignment
2026-10-24 10:31:24 +07:00
bflatastic
c45c693278
Batch r2-1 review: a report reason blank after cleaning is refused
2026-10-24 10:31:22 +07:00
bflatastic
d114c6ed92
Batch r2-1 review: CLI export file names stay within 200 bytes
2026-10-24 10:31:19 +07:00
bflatastic
46b02d44e6
Batch r2-1 review: paste_nodes refuses two nodes mapped to one new id
2026-10-24 10:31:17 +07:00
bflatastic
5d7eb04d44
Batch r2-1 review: the hello and close-drain deadlines bound every read
...
Duplex::read_until gives a reader a deadline: each socket read waits at most what's left of it.
The server reads the handshake and hello under the hello deadline, so a hello trickled in
fragments can't outlast it; manage's close drains under CLOSE_DRAIN, so a silent server can't
hold it for the idle timeout.
2026-10-24 10:31:15 +07:00
bflatastic
aac76ebeca
Batch r2-1 review: Save on close waits a frame for a panel field to commit
...
A click on Save takes the keyboard from a focused panel field, which commits next frame: the files
save then, as the field-save shortcut does. OsStr::to_str as a method reference (SonarCloud).
2026-10-24 10:31:13 +07:00
bflatastic
3334ec6c16
Batch r2-1 review: vector_up in smaller helpers (SonarCloud cognitive complexity)
2026-10-24 10:31:10 +07:00
bflatastic
8dcba0684b
Batch r2-1 review: .fig export grid sizing in helpers; instance layers clear inherited track sizes
...
auto_layout's grid branch moves to grid_layout and grid_sizing (SonarCloud cognitive complexity).
unset() clears gridColumnsSizing and gridRowsSizing, so an instance layer with equal tracks no
longer reads back its main layer's track sizes.
2026-10-24 10:31:08 +07:00
bflatastic
bd80829a27
Batch r2-1 review: a paint keeps its own opacity through unbind and rebind
...
color_alpha is the part of a solid paint's opacity that is its typed colour's alpha, not a flag:
binding a colour variable takes only that part out, unbinding puts the variable's alpha back in,
and REST import records it. A 50% paint bound to a 50% variable stays at 25% bound or not.
2026-10-24 10:30:49 +07:00
a1a842af9a
chore: resolve SonarCloud maintainability issues ( #1241 )
...
* chore: resolve SonarCloud maintainability issues
- Define SHA256_FMT constant in packaging script to remove duplicated string literal (shelldre:S1192)
- Remove redundant 'static lifetime annotations from const items (rust:S8863)
- Replace closures with method and function pointers (rust:S1612)
- Extract helper functions in synthetic document generation, bezier polyline flattening, and component restoration to reduce cognitive complexity (rust:S3776)
* fix(packaging): use verify_sha256 helper function to avoid shellcheck SC2059
* fix(engine): remove duplicate closing brace in large_document
* fix(engine): take &mut Document in restore_id_map; keep 'static on associated consts
restore_id_map allocates ids, so it needs a mutable document. Elided
lifetimes in associated consts trip elided_lifetimes_in_associated_constant,
so those annotations are restored.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* Assign positional parameters to locals in sha256 verification
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
Co-authored-by: Dylan Taylor <dylan@craftmaker.dev >
2026-10-23 23:28:13 -04:00
aiongg
c668e21759
PDF: write with craft-libs' krilla, which bounds decoded PNGs ( #1240 )
...
* PDF: write with craft-libs' krilla, which bounds decoded PNGs
* PDF: pin craft-libs' krilla at 9f75d3dc
2026-10-23 22:46:21 -04:00
bflatastic
1f9effd25d
#660 : a file saved as Proto.figcraft presents as Proto (titles follow file names on main)
2026-10-24 09:34:40 +07:00
bflatastic
f00b62ba2d
Merge fix: the server store tests keep each test closed
2026-10-24 09:26:44 +07:00
bflatastic
9fb88b6668
Merge #904 : M1: write grid track sizes in .fig export ( #465 ) (@xiaou61)
...
# Conflicts:
# docs/file-format-parity.md
2026-10-24 09:24:04 +07:00
bflatastic
489da09905
Merge #740 : engine: fill rules as vector.fillRule and vector.reverseLoop (@yelintong)
2026-10-24 09:23:50 +07:00
bflatastic
550c3e8bbb
Merge #905 : M1: say that the automation roots reach only the headless side ( #835 ) (@xiaou61)
2026-10-24 09:23:48 +07:00
bflatastic
fac42785c1
Merge #1158 : FreeBSD: package the aarch64 cross build (craft-common-actions#39) (@zuujiscom)
2026-10-24 09:23:45 +07:00
bflatastic
ba8b608673
Merge #660 : M5: one presentation tab per page of a file (@JimKnoxx)
...
# Conflicts:
# docs/prototyping-parity.md
2026-10-24 09:23:43 +07:00
bflatastic
21a334b3ef
Merge #976 : fix(ui): keep the style picker open while editing a style's colour (@kollakek1)
2026-10-24 09:23:29 +07:00
bflatastic
075f5bfc98
Merge #1197 : Regression test for #237 (@skylartaylor)
2026-10-24 09:23:26 +07:00
bflatastic
0a99f0fb69
Merge #1032 : M8: save-format tests keep their temp folders apart (@MortenHusted)
2026-10-24 09:23:24 +07:00
bflatastic
2577f53e2c
Merge #1212 : Control server: wait after a failed accept instead of retrying at once (@oracola91)
2026-10-24 09:23:21 +07:00
bflatastic
53b8b531ce
Merge #1031 : Treat U+2007 FIGURE SPACE as non-breaking in line breaking (@Silvertree2010)
2026-10-24 09:23:18 +07:00
bflatastic
771a0060b6
Merge #1038 : Keep literal true/false distinct from variables named true/false (@Silvertree2010)
...
# Conflicts:
# crates/doc/src/proto_expr_parse_tests.rs
2026-10-24 09:23:15 +07:00
bflatastic
60e1ef9976
Merge #1041 : Keep not <var> from reading back as a variable named 'not
' (@Silvertree2010)
2026-10-24 09:23:02 +07:00
bflatastic
a5e8d256e6
Merge #1052 : Drop XML-forbidden control characters from live-text SVG export (@Silvertree2010)
2026-10-24 09:23:00 +07:00
bflatastic
3610a7cb12
Merge #1142 : Write a final Greek sigma in lower-case text layout (@Silvertree2010)
2026-10-24 09:22:57 +07:00
bflatastic
378c015eb3
Merge #1145 : Remove all leftover temp files at server startup (@Silvertree2010)
...
# Conflicts:
# apps/figcraft-server/src/store_tests.rs
2026-10-24 09:22:54 +07:00
bflatastic
53e61e2a5d
Merge #1146 : Guard file generation increments against u64 overflow (@Silvertree2010)
...
# Conflicts:
# apps/figcraft-server/src/store_tests.rs
2026-10-24 09:22:42 +07:00
bflatastic
3774f9e51d
Merge #1149 : Bound the library/plugins close drain with a deadline (@Silvertree2010)
2026-10-24 09:22:28 +07:00
bflatastic
75c1586011
Merge #1153 : Match widget data check depth to serde_json's recursion limit (@Silvertree2010)
...
# Conflicts:
# crates/engine/src/plugins.rs
2026-10-24 09:22:12 +07:00
bflatastic
52afac49fe
Merge #1164 : Reject non-finite coordinates in control-channel ui.input (@Silvertree2010)
2026-10-24 09:21:48 +07:00
bflatastic
f4541d8b24
Merge #1147 : Restrict a pre-existing data directory to 0700 (@Silvertree2010)
2026-10-24 09:21:45 +07:00
bflatastic
70536a6265
Merge #948 : Keep a solid paint's own opacity when binding a colour variable (@Silvertree2010)
2026-10-24 09:21:42 +07:00
bflatastic
d93b806323
Merge #1151 : Never drop Sync events when the live inbox is full (@Silvertree2010)
2026-10-24 09:21:39 +07:00
bflatastic
ef6a6c49b2
Merge #1185 : Make is_ancestor fail closed on deep or looping parent chains (@Silvertree2010)
...
# Conflicts:
# crates/doc/src/tests.rs
2026-10-24 09:21:37 +07:00
bflatastic
82004c6e9c
Merge #1187 : Cap the issue list returned by Document::validate (@Silvertree2010)
2026-10-24 09:21:24 +07:00
bflatastic
15fd9fe1bf
Merge #1192 : Strip bidi control characters from names and report reasons (@Silvertree2010)
...
# Conflicts:
# apps/figcraft-server/src/store_tests.rs
2026-10-24 09:21:04 +07:00
bflatastic
6b37d779e0
Merge #1195 : Accept a version string for the plugin manifest api field (@Silvertree2010)
2026-10-24 09:20:03 +07:00
bflatastic
fed124fa77
Merge #1238 : Fix duplicate SVG ids when a layer name matches a generated id (@Silvertree2010)
...
# Conflicts:
# crates/svg/src/tests.rs
2026-10-24 09:20:00 +07:00
bflatastic
f109945c47
Merge #1165 : Make SVG unique_id linear for repeated layer names (@Silvertree2010)
2026-10-24 09:19:41 +07:00
bflatastic
404916a949
Merge #1169 : Refuse library versions that leave no newer one to publish (@Silvertree2010)
2026-10-24 09:19:38 +07:00
bflatastic
b5a8dcb059
Merge #1230 : Honour even-odd fill rule when hit testing vectors (@Silvertree2010)
...
# Conflicts:
# crates/doc/src/tests.rs
2026-10-24 09:19:18 +07:00
bflatastic
fcace33059
Merge #1178 : Enforce per-address storage caps per IPv6 /64, /56 and /48 (@Silvertree2010)
2026-10-24 09:18:28 +07:00