bflatastic
23e16be7f5
#1398 : share the member size check between JSON and images (capped_member)
...
# Conflicts:
# crates/format/src/sketch.rs
2026-10-29 10:30:56 +07:00
bflatastic
ca84502ffd
Merge main into #1398
...
# Conflicts:
# crates/format/src/sketch.rs
2026-10-29 10:30:35 +07:00
bflatastic
61c5b1c0b8
Merge main into #1407
...
# Conflicts:
# docs/roadmap.md
2026-10-29 10:30:23 +07:00
bflatastic
aa5c016518
Merge main into #1419
...
# Conflicts:
# docs/roadmap.md
2026-10-29 10:30:12 +07:00
bflatastic
069449e33c
#1425 : share fraction_of for opacity, fill opacity, innerRadius and arcInner
2026-10-29 10:29:16 +07:00
bflatastic
6a652c594b
Merge main into #1411
2026-10-29 10:29:16 +07:00
bflatastic
d5494fc989
Merge main into #1425
...
# Conflicts:
# crates/engine/src/cmd/props.rs
2026-10-29 10:29:16 +07:00
bflatastic
d03f385f6c
Merge main into #1426
2026-10-29 10:29:14 +07:00
bflatastic
5721140cb4
Merge main into #1405
2026-10-29 10:29:13 +07:00
bflatastic
5db45f11b3
Merge main into #1467
...
# Conflicts:
# crates/engine/src/cmd/props.rs
2026-10-29 10:29:12 +07:00
bflatastic
53d4676e1f
Merge main into #1469
2026-10-29 10:29:10 +07:00
bflatastic
837cad5d25
Merge main into #1404
2026-10-29 10:29:09 +07:00
bflatastic
a5e8330aee
Merge main into #1417
2026-10-29 10:29:08 +07:00
bflatastic
08a36418a6
#1444 : accept imported entries from unissued spaces; reserve only the top half (NO_SESSION_SPACE)
2026-10-29 10:29:07 +07:00
bflatastic
6b205dd1b5
Merge main into #1444
2026-10-29 10:29:07 +07:00
bflatastic
d3551f3c6c
#1432 : accept components and instances as thumbnails; move the tests to thumbnail_tests.rs
2026-10-29 10:29:06 +07:00
bflatastic
c49acd1db9
Merge main into #1432
2026-10-29 10:29:05 +07:00
bflatastic
b9db7dce25
Merge main into #1479
2026-10-29 10:29:04 +07:00
BFlat
da1cf8da3a
Merge pull request #1466 from hussain-hz/ar/figcraft-catalog
...
i18n(ar): add Arabic draft interface catalog
2026-10-29 10:18:37 +07:00
BFlat
4ae1b7c574
Merge pull request #1491 from samhyun/fix/jpeg-finer-than-first
...
M8: a progressive JPEG sampling a component finer than its first is refused, not decoded
2026-10-29 10:12:58 +07:00
bflatastic
0cc380c228
Merge main into #1466
2026-10-29 10:08:11 +07:00
BFlat
a8753e4aca
Merge pull request #1484 from StrajnarFilip/claude/fix-922-scaled-instances
...
M3: scaled instances keep their scale when their main is rebuilt (#922 )
2026-10-29 10:07:47 +07:00
bflatastic
6abddb0f68
Merge main into #1465
2026-10-29 09:55:55 +07:00
bflatastic
158d402ee7
Merge main into #1457
2026-10-29 09:55:12 +07:00
bflatastic
fe56681075
Merge main into #1406
2026-10-29 09:55:07 +07:00
bflatastic
1bb73d6809
Merge main into #1400
2026-10-29 09:54:58 +07:00
bflatastic
d7945584b3
Merge main into #1462
2026-10-29 09:54:48 +07:00
bflatastic
233d92b022
Merge main into #1439
2026-10-29 09:54:41 +07:00
BFlat
7f646aac24
Merge pull request #1468 from samhyun/perf/web-zoom-settle
...
M8: the browser refines a zoom only once it has paused
2026-10-29 09:49:26 +07:00
BFlat
4a0bd79797
Merge pull request #1488 from ChristopherLinnett/issue/1086-image-validation
...
fix(collab): image entries must match their hash and sane bounds (#1086 )
2026-10-29 09:49:20 +07:00
bflatastic
8440cb80f9
Merge main into #1484
2026-10-29 09:48:13 +07:00
BFlat
d2811b9d86
Merge pull request #1486 from StrajnarFilip/claude/fix-1059-fig-embedded-copies
...
M6: .fig embedded images are copied once per blob, not once per hash (#1059 )
2026-10-29 09:44:38 +07:00
BFlat
5804c0e2cc
Merge pull request #1489 from ChristopherLinnett/issue/857-confirm-quit
...
fix(app): ask before ⌘Q quits with unsaved changes (#857 )
2026-10-29 09:41:19 +07:00
BFlat
738f7c7692
Merge pull request #1470 from watchakorn-18k/fix/context-menu-frame-label
...
fix(ui): right-click on a frame's name label picks that frame
2026-10-29 09:37:58 +07:00
BFlat
3a86db900d
Merge pull request #1424 from samhyun/fix/keepalive-ping-under-presence
...
M9: a ping every keep-alive interval, whatever else the client sends
2026-10-29 09:37:20 +07:00
BFlat
ea2a8ea84a
Merge pull request #1443 from devius/ka-new-strings
...
i18n(ka): Georgian for 76 strings added since the language landed
2026-10-29 09:35:42 +07:00
BFlat
84e0ea5449
Merge pull request #1393 from kler/swedish-ui-2026-10-26
...
i18n(sv): translate 47 new strings
2026-10-29 09:35:37 +07:00
bflatastic
e83f9691b3
Merge main into #1466
2026-10-29 09:32:26 +07:00
bflatastic
7c413dfe0a
Merge main into #1486
2026-10-29 09:32:05 +07:00
bflatastic
a6b41b2f4c
Merge main into #1484
2026-10-29 09:31:53 +07:00
BFlat
cff1d0bf45
Merge pull request #1487 from ChristopherLinnett/issue/1096-openurl-gesture
...
fix(present): prototype links open only behind the notice or a viewer's click (#1096 )
2026-10-29 09:30:04 +07:00
BFlat
baaafc381b
Merge pull request #1485 from StrajnarFilip/claude/fix-1476-guides-reopen
...
M1: page ruler guides survive save and reopen (#1476 )
2026-10-29 09:29:31 +07:00
BFlat
95fd3c2444
Merge pull request #1482 from StrajnarFilip/claude/fix-1452-stroke-weight
...
M1: the stroke weight keeps room for its value beside the variable button (#1452 )
2026-10-29 09:29:26 +07:00
BFlat
712074ae2d
Merge pull request #1481 from StrajnarFilip/claude/fix-1085-normalize-guard
...
M8: normalising after a command runs under the panic guard (part of #1085 )
2026-10-29 09:29:21 +07:00
BFlat
f8355c0680
Merge pull request #1480 from StrajnarFilip/claude/fix-1078-linear-repair
...
M8: repair and library manifests check membership by set lookups (#1078 )
2026-10-29 09:28:53 +07:00
bflatastic
170f1fdf32
#1466 : gaps and ROADMAP list the Arabic draft as shipped
2026-10-29 09:26:15 +07:00
Christopher Linnett
57cf1bec48
fix(collab): keep in-use images and resync clients after filtered history ( #1086 )
...
- An image a layer or style still shows can't be removed: removing it and
putting other bytes under its key would swap the picture that layer
shows, which giving the key other bytes directly can't. A batch made by
the diff stops using an image (node changes, then styles) before it
removes it; an undo keeps the changes that apply, so its image may stay.
- Restore and replay leave out the image entries history written under
older rules can't apply, using one method shared with the undo history
(Replica::apply_kept, extracted from history.rs). It is exact for every
image rule, including removals in use and replacements, and leaves out
only image entries: any other change that doesn't apply is still an
error. The image-only filter it replaces is gone.
- A server whose restore or replay left image entries out, or whose saved
log puts images, catches every resuming client up with its snapshot,
including one at the same sequence number.
- Tests: an_image_in_use_cannot_be_removed,
an_image_no_longer_in_use_can_be_removed, undoing_an_image_layer_still_works,
a_restart_replays_past_a_logged_removal_of_an_image_in_use,
a_resume_after_history_was_left_out_catches_up_with_the_snapshot,
a_resume_after_a_clean_restart_catches_up_with_the_log,
a_snapshot_with_a_broken_layer_change_still_fails_to_open.
- Docs: collab-protocol.md, collaboration-parity.md.
2026-10-29 10:25:16 +08:00
bflatastic
6c18fe916b
Merge main into #1466
2026-10-29 09:23:22 +07:00
bflatastic
2bc14d946b
#1465 : split the event and prompt code for cognitive complexity, drop the panel header button
2026-10-29 09:20:55 +07:00
bflatastic
1ed9eb6b8c
Merge main into #1393
2026-10-29 09:20:18 +07:00