Commit Graph

2615 Commits

Author SHA1 Message Date
373d16abe6 improve & granularize ExcalidrawElement types (#991)
* improve & granularize ExcalidrawElement types

* fix incorrectly passing type

* fix tests

* fix more tests

* fix unnecessary spreads & refactor

* add comments
2020-03-17 20:55:40 +01:00
1c545c1d47 New Crowdin translations (#990) 2020-03-17 21:46:35 +02:00
b603337c3f Fix multielements (#987) 2020-03-17 11:01:11 -07:00
0dc07135b7 Fix three rendering when loading (#986)
The problem is that syncActionResult wasn't using batching.
2020-03-16 19:21:01 -07:00
e9f5175f51 Fix performance bug (#984) 2020-03-16 19:07:47 -07:00
f4cc4253b8 Bump @testing-library/react from 9.5.0 to 10.0.1 (#975)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 9.5.0 to 10.0.1.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/master/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v9.5.0...v10.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-16 19:06:45 -07:00
a218ddd668 Bump asar from 2.1.0 to 3.0.1 (#974)
Bumps [asar](https://github.com/electron/asar) from 2.1.0 to 3.0.1.
- [Release notes](https://github.com/electron/asar/releases)
- [Changelog](https://github.com/electron/asar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron/asar/compare/v2.1.0...v3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-16 19:06:34 -07:00
5ae4cd7dfb Update to browser-nativefs 0.4.0 (#980) 2020-03-16 19:06:17 -07:00
a985d1b9b8 New Crowdin translations (#983)
* New translations en.json (Chinese Simplified)

* New translations en.json (French)

* New translations en.json (German)

* New translations en.json (Indonesian)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Spanish)

* New translations en.json (Turkish)

* New translations en.json (Korean)

* New translations en.json (French)

* New translations en.json (Portuguese)
2020-03-16 23:23:38 +01:00
ae9b64a623 CMD + D to Duplicate Selection (#982)
* cmd+d to duplicate selection

* use duplicateElement instead

* use duplicateElement instead

* Update actionDuplicateSelection.ts

* select the new duplicated element

* add locale

* use event.key instead of event.code

Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-03-16 22:53:02 +01:00
6966a7a008 Bump rewire from 4.0.1 to 5.0.0 (#976)
Bumps [rewire](https://github.com/jhnns/rewire) from 4.0.1 to 5.0.0.
- [Release notes](https://github.com/jhnns/rewire/releases)
- [Changelog](https://github.com/jhnns/rewire/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jhnns/rewire/compare/v4.0.1...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-16 22:24:48 +01:00
83e49232ee New Crowdin translations (#978)
* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Korean)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)
2020-03-16 19:23:56 +01:00
db1f97f59e Revert "[RFC] Randomized names next to mouse pointers. (#971)" (#972)
This reverts commit dcb93f75e6.
2020-03-16 00:38:37 -07:00
dcb93f75e6 [RFC] Randomized names next to mouse pointers. (#971)
* [WIP] Add names next to pointers

This implements the rendering and messaging across. Still need to do the UI to set the name.

Also, not really sure what's the best place to send the name and store it.

* Add randomized names

Co-authored-by: Christopher Chedeau <vjeux@fb.com>
2020-03-15 18:56:38 -07:00
d58216f5ec [RFC] show confirmation dialog before the user closes the page (#957) 2020-03-15 14:00:33 -07:00
fed7054114 Fix hit testing threshold (#969)
* Fix hit testing threshold

- The bounding box was not correctly extended to take into account the threshold. It was only for y axis but not x.
- The bezier threshold was using 20 instead of 10 and not taking into account zoom level.

Both those issues are fixed and now the behavior looks good on all the shapes I can test.

* fix_tests
2020-03-15 13:42:18 -07:00
2937efacde Remove last get/setTransform (#964)
My original hack to put the scale when we create the canvas element doesn't make much sense. It should be done when we are rendering the scene. I moved it there in this PR.

The rest was all about forwarding the scale to where it's needed.
2020-03-15 12:25:18 -07:00
79ea76b48b Different color for the stroke of the collaborator's arrow (#963)
* Different color for the stroke of the arrow

* Sort
2020-03-15 11:05:12 -07:00
e44801123a Restyle the color picker a touch (#920) 2020-03-15 19:26:52 +02:00
d834ff4d89 New Crowdin translations (#912) 2020-03-15 19:12:35 +02:00
35ce1729cc remove most setState({}) (#959) 2020-03-15 10:06:41 -07:00
e1e2249f57 Abstract away or eliminate most of the mutation of the Elements array (#955) 2020-03-14 21:48:51 -07:00
05af9f04ed [easy] run typechecking on CI (#954) 2020-03-14 21:12:39 -07:00
3f8144ef85 Fix many syncing issues (#952) 2020-03-14 20:46:57 -07:00
b20d4539c0 Stop using getTransform (#950)
* Stop using getTransform

Fixes #861

The original motivation behind this is to make it work with Firefox. But it also helped make the code more intentional.

Test Plan:
- Create one square, select it, zoom in repeatedly, make sure that it zooms centered in the screen and everything looks good
- Scroll at various zoom levels, things look good
- Export a small scene at 1x and 3x, make sure the background is properly set and look good

* fix selection element
2020-03-14 17:24:28 -07:00
dbfc8bee57 Add copy to PNG option on context menu (#941)
* Add copy to PNG option on context menu

* lint & refactor & fixes

* add keybinding

* swap keybinding

* fix docs

Co-authored-by: dwelle <luzar.david@gmail.com>
2020-03-14 22:53:18 +01:00
e19088f214 Make selection handle resolution independent (#948)
They shouldn't really change when zooming in or out.
2020-03-14 22:29:48 +01:00
809d7ba9f5 Remove text trim (#947)
This was added when we were computing the width without adding "pre" behavior. Now it is no longer an issue
2020-03-14 14:00:20 -07:00
b49f9b29e5 Render pointers out of screen (#945)
I opted to use transparency to indicate that the pointer is out of screen. It seems to be working relatively well.

Fixes #935
2020-03-14 13:52:42 -07:00
b9c75b5bc4 use deletedIds map to sync deletions (#936)
* use deletedIds map for sync deletions

* refactor how we create data for syncing

* fix comments

* streamline broadcast API

* split broadcast methods
2020-03-14 21:25:07 +01:00
ead6a083d4 Assign a colors to each pointers (#944)
I'm using the client id as a random number to index on the color array. So far it's been working better than using a sequential increment as the colors in the array are sorted by proximity. Also, it has the advantage that everyone in the room will see the same color for the same person.
2020-03-14 12:18:57 -07:00
a6244e7602 Better looking pointer (#943)
Instead of a crude circle, this makes it look more like a pointer. I manually tweaked the numbers until it looked like a pointer :)
2020-03-14 12:08:45 -07:00
668f8ec4a6 Make dialogs look better on mobile (#908)
* Standardize mobile media query

* Refactor & add mobile support to dialogs

* back & close icons
2020-03-13 20:32:47 +01:00
c85315650f fix calculating text width for indented text (#930) 2020-03-13 15:10:44 +01:00
450a024f5c remove object.fromEntries (#933) 2020-03-13 15:10:24 +01:00
f393486eed Merge pull request #928 from excalidraw/fix_multiplayer_concurrency
Fix multiplayer concurrency
2020-03-12 21:32:33 -07:00
642e47bd03 Merge remote-tracking branch 'origin/master' into fix_multiplayer_concurrency 2020-03-12 21:49:54 +01:00
c04fe403fc don't sync editing elements & prefer local versions 2020-03-12 21:28:58 +01:00
37284c9174 Merge pull request #915 from excalidraw/fix_remote_pointers
remove remote pointers on client disconnect
2020-03-12 12:18:27 -07:00
f1ac8cac32 remove unused selectedId 2020-03-12 20:02:10 +01:00
95e726bd6f cancel text via doubleclick when in multiElement mode (#926) 2020-03-12 18:31:53 +01:00
f0e6f4dbb8 Text esc fixes (#925)
* fix incorrectly resetting state on esc

* confirm text on esc
2020-03-12 18:04:56 +01:00
3a5ca27600 fix zero-coalescing roughness (#924) 2020-03-12 17:49:11 +01:00
5706dd7ae2 consolidate & align collaboration socket eventing with server 2020-03-12 12:19:56 +01:00
96320478e6 remove remote pointers on client disconnect 2020-03-12 10:41:36 +01:00
2db2f3f5e4 Collab ui tweaks (#913)
* decrease gap between menu icons

* reduce margin of copy button

* add collaboratorsCount to roomDialog toggle button
2020-03-11 14:48:27 -07:00
b82b0754ac Room dialog (#905)
* support ToolIcon className and fix label padding

* factor some ExportDialog classes out to Modal

* initial RoomDialog prototype

* change label for another-session button

* remove unused css

* add color comments

* Move the collaboration button to the main menu, add support for mobile

* remove button for creating another session

* add locks

* Fix alignment issue

* Reorder button

* reuse current scene for collab session

* keep collaboration state on restore

Co-authored-by: Jed Fox <git@twopointzero.us>
2020-03-11 19:42:18 +01:00
aa9a6b0909 New Crowdin translations (#893) 2020-03-11 11:55:07 +02:00
83a2f5de28 remove closures from mutateElement, get rid of the element spreading (#902) 2020-03-10 20:11:02 -07:00
13b838117c filter out selection elements on restore (#901)
* filter out selection elements on restore

* add comment
2020-03-10 19:41:41 +01:00