David Luzar
a7cbe68ae8
refactor: improve types around dataState and libraryData ( #3427 )
2021-04-10 19:17:49 +02:00
Aakansha Doshi
c19c8ecd27
feat: Add scroll listener to the nearest scrollable container and allow consumer to disable it ( #3408 )
...
* fix: Add scroll listener to the nearest scrollable container
* fix
* use loop instead of recursion
* fix
* return document
* calculate nearest scrollable container in settimeout to unblock main thread
* Add prop detectNearestScroll and clear timeout on unmount
* disable scroll listener on excal app
* update prop name to detectScroll
* update docs
* remove settimeout
* tweak docs
Co-authored-by: David Luzar <luzar.david@gmail.com>
* tweak changelog
Co-authored-by: David Luzar <luzar.david@gmail.com>
* lint
Co-authored-by: David Luzar <luzar.david@gmail.com>
2021-04-09 20:44:54 +05:30
David Luzar
09dfd16b17
feat: use component dimensions to break to mobile ( #3414 )
...
Co-authored-by: Jed Fox <git@jedfox.com>
2021-04-08 19:54:50 +02:00
Aakansha Doshi
c54a099010
feat: Calculate width/height
of canvas based on container dimensions (".excalidraw" selector) & remove props width & height ( #3379 )
...
* Remove width/height from the ".excalidraw" container so it will sized automatically.
* updated all ref calculation to ".excalidraw" instead of parent since now ".excalidraw" will get resized
* Remove props width/height as its not needed anymore.
* Resize handler is also not needed anymore.
* Position absolute canvas due to #3379 (comment)
* move css to style and remove one extra rerendering
* factor out mock logic for test
* set height, width so as to avoid unnecessary updates of regression snap
* better mock
* better type checking and omit width,height from getDefaultAppState and also restore
* revert
* default to window dimensions in constructor
* update docs
* update
* update
* tweaks
2021-04-04 15:05:16 +05:30
Aakansha Doshi
1310256dcc
fix: remove JSON.stringify when calculating storage as its not needed ( #3373 )
2021-04-01 11:19:31 +02:00
Aakansha Doshi
0d818f3810
feat: Add renderCustomStats prop and expose setToastMessage API via refs to update toast ( #3360 )
...
* feat: Add renderCustomStats prop to render extra stats & move storage and version to renderCustomStats
* expose Api to update toast message so single instance of toast is used
* rename to setToastMessage
* update docs
2021-03-29 20:06:34 +05:30
Lipis
722e5ca845
refactor: Use arrow function where possible ( #3315 )
2021-03-29 17:09:20 +03:00
Aakansha Doshi
25fd275158
fix: Don't share collab types with core ( #3353 )
...
* fix: Don't share collab types with core
* fix
* remove
* fix
2021-03-28 19:26:03 +05:30
David Luzar
30ae4b8bf2
feat: don't unnecessarily prompt when installing libraries ( #3329 )
2021-03-26 18:32:38 +01:00
David Luzar
cf9e29834d
feat: prefer hash when importing libraries & expose importLibrary ( #3320 )
2021-03-26 18:10:43 +01:00
Arun
0480753581
fix: Show Windows share icon for Windows users ( #3306 )
...
* fix: Show Windows share icon for Windows users
* move function outside t he component
2021-03-22 17:02:20 +01:00
Mike Kowalski
c8743a8c02
fix: use random IV for link-sharing encryption ( #2829 ) ( #2833 )
...
* fix: use random IV for link-sharing encryption (#2829 )
* fix: add backward compatibility for link-sharing encryption (#2829 )
2021-03-21 22:31:35 -07:00
Christopher Chedeau
127c1be6ad
fix: Don't scroll to content on INIT websocket message ( #3291 )
...
If you load a shared scene with at least another person on the scene, you can start seeing the content via the firebase response. If you scroll and you receive the response from the websocket INIT, then it scrolls you back to the center which is jarring.
This PR removes the scroll to content for that use case.
2021-03-21 17:25:19 +01:00
Aakansha Doshi
052b73d95b
refactor: Rename prop scrollToCenter and setScrollToCenter to scrollToContent and setScrollToContent respectively ( #3261 )
...
* refactor: Rename prop scrollToCenter and setScrollToCenter to scrollToContent and setScrollToContent respectively
* fix
* update changelog/readme
* fix
2021-03-16 23:02:17 +05:30
Arun
6252b22b42
feat: Implement the Web Share API for the collaboration dialog ( #3222 )
...
* feat: Implement the Web Share API for the collaboration dialog
* Make requested changes
2021-03-11 12:21:17 +01:00
Lipis
bb612fd768
chore: Track collaboration ( #3211 )
2021-03-10 17:45:37 +02:00
David Luzar
beffc290fd
feat: support importing scene from url ( #2726 )
2021-03-08 16:37:26 +01:00
Aakansha Doshi
7c5481b877
feat: Add support for scrollToCenter in initialData so host can control whether to scroll to center on mount ( #3070 )
...
* feat: Add support for scrollToCenter in initialData so host can control whether to scroll to center on mount
* fix
* update changelog and readme
* fix
* Scroll to center only for collab and shareable links in excalidraw app
* fix test
* update readme
* Update src/packages/excalidraw/README.md
2021-02-21 19:01:34 +05:30
Lipis
9dd2257932
chore: Consistent CSS variable names and general housekeeping of styles ( #2947 )
2021-02-16 20:22:18 +02:00
Jed Fox
73cba59d2d
feat: Updates to Collaboration and RTL UX ( #2994 )
2021-02-08 21:43:51 +01:00
Aakansha Doshi
e63a0ec5be
feat: allow host to pass color for collaborators ( #2943 )
...
* feat: allow host to pass color for collaborators
* remove user prop as its not used anywhere
* update changelog and readme
* add pr link
2021-02-06 23:33:52 +05:30
David Luzar
b79ef0d428
fix: don't prompt on empty scenes ( #2937 )
2021-02-05 12:04:33 +01:00
Thomas Steiner
1837147c55
feat: Add idle detection to collaboration feature ( #2877 )
...
* Start idle detection implementation
* First working version
* Add screen state
* Add type safety
* Better rendering, enum types, localization
* Add origin trial token
* Fix
* Refactor idle detection to no longer use IdleDetector API
* Cleanup some leftovers
* Fix
* Apply suggestions from code review
* Three state: active 🟢 , idle 💤 , away ⚫ ️
* Address feedback from code review
Thanks, @lipis
* Deal with unmount
Co-authored-by: Panayiotis Lipiridis <lipiridis@gmail.com>
2021-02-04 11:55:43 +01:00
David Luzar
ce507b0a0b
feat: don't store to LS during collab ( #2909 )
2021-02-03 19:14:26 +01:00
David Luzar
d4e12a2962
reuse scss variables in js for SSOT ( #2867 )
2021-01-28 17:28:35 +05:30
David Luzar
0a0be839b9
refactor: rewrite collabWrapper to remove TDZs and simplify ( #2834 )
2021-01-25 10:47:35 +01:00
Lipis
c799b28a0e
fix: Count all versions ( #2798 )
2021-01-16 18:59:26 +01:00
Lipis
fd699c0447
chore: Update translations from Crowdin ( #2742 )
...
Co-authored-by: Kostas Bariotis <konmpar@gmail.com>
2021-01-14 12:09:05 +02:00
David Luzar
adcd28f348
fix: delay version logging & prevent duplicates ( #2770 )
2021-01-12 18:47:31 +02:00
Lipis
001880ba88
feat: Track current version ( #2731 )
2021-01-10 20:48:12 +02:00
Lipis
bafbe9bbc8
feat: Add language separator and list English twice ( #2739 )
2021-01-07 21:39:57 +02:00
Lipis
3aa01ad272
chore: Remove tracking ( #2722 )
...
* chore: Remove tracking
* process
* rename
* remove
* prod
* Update public/index.html
Co-authored-by: David Luzar <luzar.david@gmail.com>
* Update public/index.html
* eol
* more
* stats
Co-authored-by: David Luzar <luzar.david@gmail.com>
2021-01-05 19:06:14 +01:00
Aakansha Doshi
ade2565f49
feat: add langCode and renderFooter props ( #2644 )
...
Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com>
Co-authored-by: dwelle <luzar.david@gmail.com>
2021-01-03 21:51:52 +01:00
David Luzar
aef3644c93
fix: scene not initialized properly when tab not focused ( #2677 )
...
Co-authored-by: Lipis <lipiridis@gmail.com>
2020-12-29 21:03:34 +01:00
Jed Fox
3b0fb1562d
feat: Require use of a preset dialog size; adjust dialog sizing ( #2684 )
2020-12-28 00:07:05 +02:00
Lipis
6adb45ef5a
feat: Change title to Excalidraw after a timeout ( #2656 )
...
* feat: Change title to Excalidraw after a timeout
* clear timeout
2020-12-22 10:34:06 +01:00
Aakansha Doshi
325d1bec91
feat: Add onExportToBackend prop so host can handle it ( #2612 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-12-20 15:14:04 +01:00
Lipis
7c7fb4903b
Don't throw error when localStorage is null ( #2505 )
2020-12-11 18:13:13 +02:00
Thomas Steiner
182a3e39e1
Add "Safari" to PWACompat loading condition
...
They froze the UA string on iPad.
2020-12-09 16:49:12 +01:00
Aakansha Doshi
8f8fd023f8
fix(app.tsx): add safe check for readyPromise ( #2489 )
...
* fix(app.tsx): add safe check for readyPromise
* make type-safe
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-12-09 01:35:08 +05:30
Lipis
dd993adc5c
Add stats for nerds ( #2453 )
...
Co-authored-by: David Luzar <luzar.david@gmail.com>
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-12-07 18:35:16 +02:00
Aakansha Doshi
e617ccc252
Factor out collaboration code ( #2313 )
...
Co-authored-by: Lipis <lipiridis@gmail.com>
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-12-05 15:30:53 +01:00
Lipis
d8a0dc3b4d
Add events on load ( #2451 )
2020-12-05 01:18:21 +02:00
Guillaume Grossetie
a7da8901d8
Excalidraw export ( #2246 )
2020-11-02 20:14:20 +01:00
Aakansha Doshi
e916d7f6f6
expose resetScene and getSceneElementsIncludingDeleted && move excalidrawApp to excalidraw-app folder ( #2272 )
...
Co-authored-by: dwelle <luzar.david@gmail.com>
2020-10-25 15:09:57 +01:00