Commit graph

3669 commits

Author SHA1 Message Date
Marcel Mraz
49925038fd
Switch from sqlite payload strings to buffers, utils refactor, dev logging 2025-01-29 17:44:45 +01:00
Marcel Mraz
05ba0339fe
Ditching strings and exchanging buffers 2025-01-29 17:44:45 +01:00
Marcel Mraz
cdd7f6158b
Testing concurrent remote updates (wip) 2025-01-29 17:44:45 +01:00
Marcel Mraz
7e0f5b6369
Cache received changes, ignore snapshot cache for durable changes, revert StoreAction, history fix, indices fix 2025-01-29 17:44:45 +01:00
Marcel Mraz
310a9ae4e0
Syncing ephemeral element updates 2025-01-29 17:43:38 +01:00
Marcel Mraz
c57249481e
Custom room, various fixes 2025-01-29 17:41:42 +01:00
Marcel Mraz
e72d83541a
Don't strip seed 2025-01-29 17:41:42 +01:00
Marcel Mraz
9f8c87ae8c
Fix auto-reconnection & slider value sync 2025-01-29 17:41:42 +01:00
Marcel Mraz
f6061f5ec6
Sharding rows due to SQLite limits 2025-01-29 17:41:42 +01:00
Marcel Mraz
12be5d716b
Chunking incoming WS messages 2025-01-29 17:41:42 +01:00
Marcel Mraz
1abb901ec2
Various sync & time travel fixes 2025-01-29 17:41:42 +01:00
Marcel Mraz
6a17541713
Auto-reconnecting WS client 2025-01-29 17:41:32 +01:00
Marcel Mraz
040a57f56a
Offline support with increments peristed and restored to / from indexedb 2025-01-29 17:41:32 +01:00
Marcel Mraz
15d2942aaa
Applying & emitting increments on undo / redo 2025-01-29 17:40:50 +01:00
Marcel Mraz
59a0653fd4
POC versioning slider 2025-01-29 17:40:38 +01:00
Marcel Mraz
725c25c966
Include runtime types, otherwise ts goes crazy 2025-01-29 17:40:08 +01:00
Marcel Mraz
d2fed34a30
Deployed sync server 2025-01-29 17:38:03 +01:00
Marcel Mraz
f12ed8e0b2
WIP sync client 2025-01-29 17:38:03 +01:00
Marcel Mraz
508cfbc843
Temporarily move sync into package 2025-01-29 17:38:03 +01:00
Marcel Mraz
245d681b7d
Expose store, a bit 2025-01-29 17:37:55 +01:00
Ryan Di
52eaf64591
feat: box select frame & children to allow resizing at the same time (#9031)
* box select frame & children

* avoid selecting children twice to avoid double their moving

* do not show ele stats if frame and children selected together

* do not update frame membership if selected together

* do not group frame and its children

* comment and refactor code

* hide align altogether

* include frame children when selecting all

* simplify

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2025-01-28 22:10:16 +01:00
David Luzar
7028daa44a
fix: remove flushSync to fix flickering (#9057) 2025-01-28 19:23:35 +01:00
Ashwin Temkar
65f218b100
fix: excalidraw issue #9045 flowcharts: align attributes of new node (#9047)
* fix: excalidraw#9045 by modifying the stroke style, opacity, and fill style for the new node and next nodes.

* fix: added roughness and opacity to the arrowbindings
2025-01-25 17:05:50 +01:00
Alplune
807b3c59f2
fix: align arrows bound to elements excalidraw#8833 (#8998) 2025-01-25 17:00:39 +01:00
Alplune
b8da5065fd
fix: update elbow arrow on font size change #8798 (#9002) 2025-01-25 17:00:26 +01:00
Márk Tolmács
49f1276ef2
fix: Undo for elbow arrows create incorrect routing (#9046) 2025-01-24 20:18:08 +01:00
Ashwin Temkar
8f20b29b73
fix: #8575 , Flowchart clones the current arrowhead (#8581)
* fix: #8575, Flowchart clones the current arrowhead

* fix: #8575, changed stroke color, style and width to startBindingElement
2025-01-24 16:50:07 +01:00
David Luzar
f87c2cde09
feat: allow installing libs from excal github (#9041) 2025-01-23 16:50:47 +01:00
Ryan Di
0bf234fcc9
fix: adding partial group to frame (#9014)
* prevent new frame from including partial groups

* separate wrapped partial group
2025-01-23 07:26:12 +08:00
Ryan Di
dd1b45a25a
perf: reduce unnecessary frame clippings (#8980)
* reduce unnecessary frame clippings

* further optim
2025-01-23 07:25:46 +08:00
David Luzar
ec06fbc1fc
fix: do not refocus element link input on unrelated updates (#9037) 2025-01-22 21:30:15 +01:00
David Luzar
fa05ae1230
refactor: remove defaultProps (#9035) 2025-01-22 12:43:02 +01:00
Márk Tolmács
91ebf8b0ea
feat: Elbow arrow segment fixing & positioning (#8952)
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
Co-authored-by: David Luzar <5153846+dwelle@users.noreply.github.com>
2025-01-17 18:07:03 +01:00
Arnost Pleskot
8551823da9
feat: update jotai (#9015)
* feat: update jotai in excalidraw package

* feat: update jotai in excalidraw-app

* fix: exports from excalidraw/jotai

* fix: use isolated react hooks

* test: use jotai provider in <Trans /> test

* remove unused package

* refactor & make safer

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2025-01-16 16:59:11 +01:00
David Luzar
ae6bee3403
feat: do not delete frame children on frame delete (#9011) 2025-01-14 21:08:25 +01:00
David Luzar
46f42ef8d7
fix: arrow binding behaving unexpectedly on pointerup (#9010)
* fix: arrow binding behaving unexpectedly on pointerup

* update snaps
2025-01-14 19:36:47 +01:00
Ryan Di
00b5b0a0ca
feat: add action to wrap selected items in a frame (#9005)
* feat: add action to wrap selected items in a frame

* fix type

* select frame on wrap & refactor

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2025-01-13 15:03:56 +00:00
YongJoon Kim
c92f3bebf5
fix: change cursor by tool change immediately (#8212) 2025-01-09 14:26:12 +01:00
Marcel Mraz
2ac55067cd
fix: package build fails on worker chunks (#8990) 2025-01-07 11:22:36 +00:00
David Luzar
78ab12c7e6
fix: z-index clash in mobile UI (#8985) 2025-01-06 21:21:11 +01:00
David Luzar
f2f8219917
feat: reintroduce .excalidraw.png default when embedding scene (#8979) 2025-01-05 22:21:39 +01:00
한별
12c39d1034
feat: add mimeTypes on file save (#8946) 2025-01-05 21:12:07 +00:00
Ryan Di
d33e42e3a1
feat: add crowfoot to arrowheads (#8942)
* crowfoot many

* crowfoot one

* one or many

* add icons for crowfoot

* add crowfoot icons

* adjust arrowhead selection popover

* make options collapsible

* swap triangle and bar

* switch to radix popover

* put triangle outline in the first row

* align shadow with new design spec

* remove unused flag

* swap order

* tweak labels

* handle shift+tab

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
Co-authored-by: Jakub Królak <108676707+j-krolak@users.noreply.github.com>
2025-01-05 21:50:24 +01:00
zsviczian
3b9ffd9586
fix: elbow arrows do not work within frames (issue: #8964) (#8969)
check for !isFrameLikeElement
2025-01-05 21:47:20 +01:00
David Luzar
b63689c230
feat: make HTML attribute sanitization stricter (#8977)
* feat: make HTML attribute sanitization stricter

* fix double escape
2025-01-05 21:45:04 +01:00
David Luzar
c84babf574
feat: validate library install urls (#8976) 2025-01-05 17:10:55 +01:00
David Luzar
36274f1f3e
feat: cleanup svg export and move payload to <metadata> (#8975) 2025-01-05 16:53:05 +01:00
Aakansha Doshi
798c795405
docs: add demo link for browser integration (#8956) 2024-12-27 14:39:08 +09:00
Ryan Di
107eae3916
refactor: separate resizing logic from pointer (#8155)
* separate resizing logic for a single element

* replace resize logic in stats

* do not recompute width and height from points when they're already given

* correctly update linear elements' position when resized

* update snapshots

* lint

* simplify linear resizing logic

* fix initial scale for aspect ratio

* update tests for linear elements

* test typo

* separate pointer from resizing for multiple elements

* lint and simplify

* fix tests

* lint

* provide scene in param instead

* type

* refactor code

* fix floating in tests

* remove restrictions/checks on width & height

* update pointer to dimension to prevent regression

---------

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
2024-12-23 11:10:35 +01:00
zsviczian
56fca30bd0
fix: normalizeSVG width and height from viewbox when size includes decimal points (#8939)
Update image.ts
2024-12-22 23:10:11 +01:00