Commit Graph

2339 Commits

Author SHA1 Message Date
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
c95dcf2682 Merge pull request #898 from idlewinn/master
enable version bumping for collaboration
2020-03-09 23:41:46 -07:00
a0669f874e add comments 2020-03-09 23:37:42 -07:00
1419f17175 enable version bumping for collaboration 2020-03-09 22:34:50 -07:00
30903fbe04 Fill the resize handles with white so they are visible on dark b… (#894)
* Fill the resize handles with white so they are visible on dark backgrounds

* revert package-lock.json

Co-authored-by: dwelle <luzar.david@gmail.com>
2020-03-09 21:01:29 +01:00
5dadbcdcd5 don't set pointer on pointerMove if not already present (#889) 2020-03-09 09:17:26 -07:00
3bf3d96d9f make error message more user-friendly (#812)
* make error message more user-friendly

* tweak aria

* override user-select for error splash screen

* localize messages

* fix naming

* log error

* include spaces in i18n
2020-03-09 17:09:45 +01:00
56a2f8f15f Add a doc with all the current shortcuts (#785) 2020-03-09 18:03:44 +02:00
c261f089fc New Crowdin translations (#888) 2020-03-09 18:03:12 +02:00
0e5c29b3f3 basic Socket.io implementation of collaborative editing (#879)
* Enable collaborative syncing for elements

* Don't fall back to local storage if using a room, as that is confusing

* Use remote socket server

* Send updates to new users when they join

* ~

* add mouse tracking

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* Add Live button and app state to support tracking collaborator counts

* Enable collaborative syncing for elements

* add mouse tracking

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* fix syncing bugs and add a button to start syncing mid session

* Add Live button and app state to support tracking collaborator counts

* prettier

* Fix bug with remote pointers not changing on scroll

* Enable collaborative syncing for elements

* add mouse tracking

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* Add Live button and app state to support tracking collaborator counts

* enable collaboration, rooms, and mouse tracking

* fix syncing bugs and add a button to start syncing mid session

* fix syncing bugs and add a button to start syncing mid session

* Fix bug with remote pointers not changing on scroll

* remove UI for collaboration

* remove link

* clean up lingering unused UI

* set random IV passed per encrypted message, reduce room id length, refactored socket broadcasting API, rename room_id to room, removed throttling of pointer movement

* fix package.json conflict
2020-03-09 08:48:25 -07:00
463854e42a fix pinch zoom (#885) 2020-03-09 07:19:38 -07:00
9de3716324 Update send/bring shortcuts and show them properly per operating… (#784)
* Show proper shortcuts

* sort

* Add shortcuts to bring/send

* fix hotkeys matching greedily

* Space

* align zindex shortcuts with figma

* switch to event.code & change Darwin shortcuts

Co-authored-by: dwelle <luzar.david@gmail.com>
2020-03-09 14:06:35 +01:00
f9edb1b4ac Remove www from open graph images (#884)
* Remove www from open graph images

* Lint
2020-03-09 12:42:48 +02:00
d3771b7e0b Bump @testing-library/react from 9.4.1 to 9.5.0 (#883)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 9.4.1 to 9.5.0.
- [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.4.1...v9.5.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-09 10:51:38 +01:00
165a2a17d8 Bump @types/jest from 25.1.3 to 25.1.4 (#882)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 25.1.3 to 25.1.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

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-09 10:47:09 +01:00
05ebf3434b Fix a bug introduced by #880 (#881) 2020-03-08 23:35:30 -07:00
86f9f32a59 Fix perf regression (#880) 2020-03-08 23:08:26 -07:00
30434e3e6c fix: update og images (#878)
* fix: change og images to absolute urls

Co-authored-by: Justin E. Samuels <js1599.msu@gmail.com>

* fix: width and height of image

Also added og:image:secure_url for security purposes

Co-authored-by: Justin E. Samuels <js1599.msu@gmail.com>

* fix: enlarge image for og

Co-authored-by: Justin E. Samuels <js1599.msu@gmail.com>

Co-authored-by: Justin E. Samuels <js1599.msu@gmail.com>
2020-03-08 19:48:23 -07:00
8d8f9f23bd Make gesture.pointers a Map instead of an array of pointers (#877) 2020-03-08 19:25:16 -07:00
92ba401da8 Pull onPointerDown, onDoubleClick, onPointerMove into instance methods (#876)
* Pull onPointerDown, onDoubleClick, onPointerMove into instance methods

* Use bound instance methods
2020-03-08 18:09:45 -07:00
c89584832d Reset selectedElementIds when deleting selected elements (#875) 2020-03-08 14:10:42 -07:00
ccbbdb75a6 Refactor ExcalidrawElement (#874)
* Get rid of isSelected, canvas, canvasZoom, canvasOffsetX and canvasOffsetY on ExcalidrawElement.

* Fix most unit tests. Fix cmd a. Fix alt drag

* Focus on paste

* shift select should include previously selected items

* Fix last test

* Move this.shape out of ExcalidrawElement and into a WeakMap
2020-03-08 10:20:55 -07:00
8ecb4201db How could I have gotten this so wrong? (#873) 2020-03-07 17:37:35 -08:00
c6a0cfc2b1 Refactor (#862)
* Initial factoring out of parts of the LayerUI component

2360 → 2224 LOC

* Create a Section component

* Break up src/index.tsx

* Refactor actions to reduce duplication, fix CSS

Also consolidate icons

* Move scene/data.ts to its own directory

* Fix accidental reverts, banish further single-character variables

* ACTIVE_ELEM_COLOR → ACTIVE_ELEMENT_COLOR

* Further refactoring the icons file

* Log all errors

* Pointer Event polyfill to make the tests work

* add test hooks & fix tests

Co-authored-by: dwelle <luzar.david@gmail.com>
2020-03-07 16:20:38 +01:00
1a6431a04a New Crowdin Translations (#845)
* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* Update i18n.ts

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (German)

* 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 (Chinese Simplified)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (Indonesian)

* Update i18n.ts

* Update i18n.ts

* New translations en.json (French)
2020-03-07 01:01:01 +02:00
8d1c897962 Update README.md (#870)
* Update README.md

* Update README.md

* Update README.md
2020-03-06 15:20:02 +01:00
65fe3ba592 Bump react-dom from 16.12.0 to 16.13.0 (#863)
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 16.12.0 to 16.13.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.13.0/packages/react-dom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 11:15:51 +01:00