* Add prettier formatting feature and also add it as a job in CI.yml file
* Update CI.yml file
* Add format job to CI.yml file
* Fix formatting issues in CI workflow file
* include promise polyfill
* remove es6
* add viewBox to every icon
* change self closing to explicitly closing tags
* replace window.scroll.. with document.documentElement.scroll..
* verify document.activeElement.blur() is a function before calling
* fix visuals of color chooser (colorpicker still sometimes buggy)
* do not attach to mouseleave event in IE
* attempt removal with usecapture true in IE as well, this fixes the tool switching issue
* fix text tool for IE
* fix cursor for IE
* change curMode to boolean and rename to 'active'
* replace minified canvascolor with unminified code
* replace if else structure with switch statement
* compile polyfill for each browser individually
* remove static polyfills from board.js
* Fix broken js reference
* Fix unused variable and empty console log
* Allow serving non-minified polyfills for easier debugging
* Add proper caching for polyfill.js
This request is on the critical path, we should try to make it fast
* Include more polyfills
All the DOM polyfills were missing
* Update dependencies
* Add missing polyfill
Our custom polyfill was deleted, but the one from polyfill-library hadn't been added
* Remove feature detection for Node.contains
We now have the function in the polyfills
* Update polyfill caching logic
* Remove content-Length header
Co-authored-by: @lovasoa
* Add oneTouch option when creating tool. These tools won't be selected, rather their onstart action will be executed once.
Useful for undo/redo/clear/upload/zoom-in/zoom-out
* added grid
* move pattern to dedicated file
* Reformat code in grid tool
* Restore the gradient over the active tool
* Remove some duplicated code in oneTouch handling
Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: Ophir LOJKINE <pere.jobs@gmail.com>
* add option to change pen size with the scroll wheel
* Update the cursor size immediately when changing the size
* Add a tooltip with the size change shortcut
Co-authored-by: ophir <pere.jobs@gmail.com>
* Added cursors
* Prepare cursor code for future settings to toggle cursors on or off.
Let cursor be the color the person has currently selected
* fix cursor on mobile (still won't display it in most cases as there is no hover on mobile but at least it won't throw errors)
* use correct size for cursor
* throttle cursor update rate to dramatically improve performance by eliminating congestion
* fix remote cursor size on desktop
* show own cursor by default and renove offset
* use svg as mouse cursor for pencil to be able to apply a reduced opacity to it and view our cursor
* don't throttle local cursor
* throttle local cursor at an independent higher rate. This could be made user adjustable for low power devices
* remove let and const from client-side code
* get emit count and emit count period from configuration
* reduce network cursor updates a lot to prevent instantly getting banned with the current defaults
* prevent eraser from deleting cursors
* use group inside of svg as drawing area and only delete elements inside it with the eraser
* use transform: translate to move cursors around instead of manipulating x and y directly
* fix: add socket ids to cursor messages
* fix incorrect remote cursor scaling and make local cursor visible again after it has been moved after being hidden due to inactivity
* create cursors in a proper fashion and keep them in a separate group
* scaling has been fixed in a1a5580
* move duplicated cursor creation code to function
* show cursors above content
* pass some of ther server configuration through to the client
* fix bug introduced in a833ce9
* allocate at most half of the allowed traffic to cursor updates
* remove debugging leftover
* use feature detection instead of ua sniffing
Co-Authored-By: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
* fix regression where local cursor color was not updated on color change
* Define the cursor as a tool
* Remove the cursor tool from the UI
* Throttle remote cursor updates, not local ones
* Do not increment notification count on cursor move
* Use only one pencil icon
Use the same image for the pencil icon in the menu
and the pencil cursor that appears while drawing
* Add a test for the new cursor feature
* only stop drawing remote cursor when using some tools and always draw local cursor
* increase idle period before hiding cursor
* change idle duration back and set whether a cursor should be sent when using a tool in the respective tool
Co-authored-by: Robert Beach <rdbeach@gmail.com>
Co-authored-by: Ophir LOJKINE <ophir.lojkine@auto-grid.com>
Co-authored-by: ophir <pere.jobs@gmail.com>