Commit Graph

1033 Commits (a679ef78761186815c8743931c0661b76a492ed3)
 

Author SHA1 Message Date
Jed Fox 668f8ec4a6
Make dialogs look better on mobile ()
* Standardize mobile media query

* Refactor & add mobile support to dialogs

* back & close icons
David Luzar c85315650f
fix calculating text width for indented text ()
David Luzar 450a024f5c
remove object.fromEntries ()
Pete Hunt f393486eed
Merge pull request from excalidraw/fix_multiplayer_concurrency
Fix multiplayer concurrency
dwelle 642e47bd03 Merge remote-tracking branch 'origin/master' into fix_multiplayer_concurrency
dwelle c04fe403fc don't sync editing elements & prefer local versions
Edwin Lin 37284c9174
Merge pull request from excalidraw/fix_remote_pointers
remove remote pointers on client disconnect
dwelle f1ac8cac32 remove unused selectedId
David Luzar 95e726bd6f
cancel text via doubleclick when in multiElement mode ()
David Luzar f0e6f4dbb8
Text esc fixes ()
* fix incorrectly resetting state on esc

* confirm text on esc
David Luzar 3a5ca27600
fix zero-coalescing roughness ()
dwelle 5706dd7ae2 consolidate & align collaboration socket eventing with server
dwelle 96320478e6 remove remote pointers on client disconnect
David Luzar 2db2f3f5e4
Collab ui tweaks ()
* decrease gap between menu icons

* reduce margin of copy button

* add collaboratorsCount to roomDialog toggle button
David Luzar b82b0754ac
Room dialog ()
* 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>
Lipis aa9a6b0909
New Crowdin translations ()
Pete Hunt 83a2f5de28
remove closures from mutateElement, get rid of the element spreading ()
David Luzar 13b838117c
filter out selection elements on restore ()
* filter out selection elements on restore

* add comment
Edwin Lin c95dcf2682
Merge pull request from idlewinn/master
enable version bumping for collaboration
idlewinn a0669f874e add comments
idlewinn 1419f17175 enable version bumping for collaboration
Jed Fox 30903fbe04
Fill the resize handles with white so they are visible on dark b… ()
* 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>
David Luzar 5dadbcdcd5
don't set pointer on pointerMove if not already present ()
David Luzar 3bf3d96d9f
make error message more user-friendly ()
* 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
Lipis 56a2f8f15f
Add a doc with all the current shortcuts ()
Lipis c261f089fc
New Crowdin translations ()
Edwin Lin 0e5c29b3f3
basic Socket.io implementation of collaborative editing ()
* 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
David Luzar 463854e42a
fix pinch zoom ()
Lipis 9de3716324
Update send/bring shortcuts and show them properly per operating… ()
* 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>
Lipis f9edb1b4ac
Remove www from open graph images ()
* Remove www from open graph images

* Lint
dependabot-preview[bot] d3771b7e0b
Bump @testing-library/react from 9.4.1 to 9.5.0 ()
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>
dependabot-preview[bot] 165a2a17d8
Bump @types/jest from 25.1.3 to 25.1.4 ()
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>
Pete Hunt 05ebf3434b
Fix a bug introduced by ()
Pete Hunt 86f9f32a59
Fix perf regression ()
Joe Previte 30434e3e6c
fix: update og images ()
* 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>
Pete Hunt 8d8f9f23bd
Make gesture.pointers a Map instead of an array of pointers ()
Pete Hunt 92ba401da8
Pull onPointerDown, onDoubleClick, onPointerMove into instance methods ()
* Pull onPointerDown, onDoubleClick, onPointerMove into instance methods

* Use bound instance methods
Pete Hunt c89584832d
Reset selectedElementIds when deleting selected elements ()
Pete Hunt ccbbdb75a6
Refactor ExcalidrawElement ()
* 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
Jed Fox 8ecb4201db
How could I have gotten this so wrong? ()
Jed Fox c6a0cfc2b1
Refactor ()
* 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>
Lipis 1a6431a04a
New Crowdin Translations ()
* 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)
Jed Fox 8d1c897962
Update README.md ()
* Update README.md

* Update README.md

* Update README.md
dependabot-preview[bot] 65fe3ba592
Bump react-dom from 16.12.0 to 16.13.0 ()
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>
dependabot-preview[bot] 7463de8964
Bump @types/react from 16.9.22 to 16.9.23 ()
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.22 to 16.9.23.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
dependabot-preview[bot] 95a80a1217
Bump typescript from 3.8.2 to 3.8.3 ()
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.8.2 to 3.8.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.8.2...v3.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
dependabot-preview[bot] dee7f5db92
Bump react from 16.12.0 to 16.13.0 ()
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) 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)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
dependabot-preview[bot] cd1117150a
Bump lint-staged from 10.0.7 to 10.0.8 ()
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.0.7 to 10.0.8.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v10.0.7...v10.0.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
lissitz e920c078b9
Improve scrollbar-mouse interaction ()
* fix scrollbar detection on high devicePixelRatio devices

* don't create a new element on pointerdown over a scrollbar

* Return scrollbars from renderScene and use it in isOverScrollBars

* remove unneeded setState

* show default cursor when hovering or dragging a scrollbar

* disable scrollbars when in multielement mode

Co-authored-by: David Luzar <luzar.david@gmail.com>
Jed Fox 8e0206cc1e
Undo/Redo buttons, refactor menu toggles ()
* Make Undo & Redo and the menu buttons into actions; add undo/redo buttons

* Create variables for the ToolIcon colors

* Darken the menu buttons when they’re active

* Put the more intensive test in `perform`

* Fix & restyle hint viewer

* Add pinch zoom for macOS Safari

* Chrome/Firefox trackpad pinch zoom

* openedMenu → openMenu

* needsShapeEditor.ts → showSelectedShapeActions.ts

* Call showSelectedShapeActions