Commit Graph
72 Commits
Author SHA1 Message Date
Florent Chehab a78bb8a0d7 chore(front): remove click events before adding them
* Helps with hot reloading in dev env
* Prevents the same event handlers from being registered twice
* Shouldn't break things
2020-06-01 21:54:55 +02:00
Florent Chehab e7725e30d5 feat(front): handle read-only link sharing 2020-06-01 21:54:55 +02:00
Florent Chehab fd05f220f3 feat(frontend): set read-only on load if read-only whiteboard 2020-06-01 21:54:55 +02:00
Florent Chehab 522d1b72a7 feat(backend): sync whiteboard info for readonly and non-readonly whiteboards 2020-06-01 21:54:55 +02:00
Florent Chehab b37c296542 fix(backend): don't console log config when running jest 2020-06-01 21:54:55 +02:00
Florent Chehab 3844d08bdd refacto(backend): new backend WhiteboardInfoBackendService
* WhiteboardInfo set private inside this module
2020-06-01 21:54:54 +02:00
Florent Chehab 99e5bb0d98 fix(backend): readonly is readonly 2020-06-01 21:54:54 +02:00
Florent Chehab 2c2c104bbf feat: restored image upload
* only use readonly id when storing image to prevent leaking of the editable id
2020-06-01 21:54:54 +02:00
Florent Chehab 14e1ee5391 feat(backend): main handling of readonly sharing
* Saving works as before
* Don't broadcast drawevents from readonly whiteboard (prevents malicious use)
2020-06-01 21:54:54 +02:00
Florent Chehab d268eb6d93 refacto(front): whitebardId init
* More straightforward
* Use std for getting url params
* Show the final whiteboardid in url
2020-06-01 21:54:54 +02:00
Florent Chehab b11520788e fix(front): allow dash in whiteboard id
* prevent transformation of uuid
2020-06-01 21:54:54 +02:00
Florent Chehab 0240171d0e refacto(backend): real private read-only fields
* Just like in the backend thanks to node 12
2020-06-01 21:54:54 +02:00
Florent Chehab 25bcdee083 feat(front): use uuid for random ids 2020-06-01 21:54:53 +02:00
Florent Chehab 00f7b10ac9 chore: added doc on new classes 2020-05-11 17:54:41 +02:00
Florent Chehab 203e35b3e4 feat(front): show smallest screen indicator based on config 2020-05-11 17:33:47 +02:00
Florent Chehab 2dfb1079a7 doc: updated README & created updating guide and node >= 12 2020-05-11 17:33:47 +02:00
Florent Chehab f9804e750f feat(config): cleaned & doc 2020-05-11 17:33:47 +02:00
Florent Chehab dbc7e8c2f9 feat(config): show / hide info on load 2020-05-11 17:32:57 +02:00
Florent Chehab ce16a9d999 refacto(frontend): clean ES2020 private field with getter 2020-05-11 17:32:56 +02:00
Florent Chehab efaa4b795c refacto(backend): regrouped config related handling 2020-05-11 17:32:56 +02:00
Florent Chehab ca47c41c69 feat: throttling configuration 2020-05-11 17:32:56 +02:00
Florent Chehab 409681b217 feat(front): creating throttling service
* ease throttling of events accross the frontend
2020-05-11 17:32:38 +02:00
Florent Chehab b0337d9f5b feat: dynamic frontend configuration 2020-05-11 17:32:38 +02:00
Florent Chehab 9fda0a2c4b fix(back): prevent crash 2020-05-11 17:32:38 +02:00
Florent Chehab 52f52b62e4 feat(ci): run test 2020-05-11 17:32:37 +02:00
Florent Chehab 0b1d1943ec feat(backend): new config handling based on file
* Config should be provided as Yaml file now
* Other way to provide configuration are now deprectaed
* The config format is checked agaist a schema with the json-schema standard
* Tests are are added to the project (in the backend for config parsing)
2020-05-11 17:32:37 +02:00
Florent Chehab 4476ce3284 refacto: handling of smallest screen size as a whiteboard info
* Also started a bit of config handling cleaning
2020-05-11 17:32:37 +02:00
Florent Chehab 685caffd43 feat: 'new websocket' to share whiteboard info
* share whiteboard info only on change and at specific frequency
* front update to track nb user connected
2020-05-10 15:34:19 +02:00
Florent Chehab 6475fdd5db feat(front): cleaned hanling of whiteboard info
* Created an InfoService to centralized the logic
* Added an info icon
2020-05-10 14:16:12 +02:00
Florent Chehab d4a30ea3ed style: formatted entire repo 2020-05-09 15:45:17 +02:00
Florent Chehab dafb9f4646 feat: build docker image in CI 2020-05-09 15:44:26 +02:00
FloChehab c675ed398e feat: setup linting CI 2020-05-09 15:44:26 +02:00
Florent Chehab a61debebb4 feat: configured prettier, pretty-quick and husky 2020-05-09 15:44:26 +02:00
Florent Chehab c67b369d83 feat: added .editorconfig 2020-05-09 15:39:00 +02:00
Florent Chehab 2cf6c78003 feat: added prettier, pretty-quick & husky dependencies 2020-05-09 15:37:27 +02:00
Florent Chehab 677f3d95a1 fix(front): definite fix to getRoundedAngles
* Switched to pure math transformation
2020-05-06 23:13:44 +02:00
Florent Chehab c93d3e643a feat(front): deactivate readOnly in dev by default 2020-05-06 22:21:09 +02:00
Florent Chehab 3dd889b800 fix: restore upstream master changes 2020-05-06 22:12:56 +02:00
Florent Chehab dde88ae2fb refacto(frontend): use new Point class
* standardized pos from event
* Also transformed some vars into const
2020-05-06 21:59:20 +02:00
Florent Chehab 9933930a73 refacto(frontend): added and used ReadOnlyService 2020-05-06 21:57:48 +02:00
Florent Chehab 67fd33c66b refactor(frontend): event threshold handling
* Created const and utils helpers
* Created point class
2020-05-06 21:57:47 +02:00
Florent Chehab 7a81491ffa fix(front): show cursor on load 2020-05-06 21:57:00 +02:00
Florent Chehab fcdda2c344 refacto(front): modularized shortcutFunctions
* Also made them un-reactive when read-only by default
2020-05-06 21:57:00 +02:00
Florent Chehab 7ec4ef0df0 feat(frontend): cleaned read-only & style
* cleaned unsued css classes
* Reorganized buttons based on if they are edit related or not
* meaningful css when locking for better ui experience
* renamed viewOnly to more standard readOnly
2020-05-06 21:57:00 +02:00
Florent Chehab c454a23e71 fix(css): more straightforward handling of borders
* don't rely on last child selector that might be incorrect due to display:none elements
2020-05-06 21:57:00 +02:00
Florent Chehab 8117be3f52 feat(frontend): add read-only mode and default to it 2020-05-06 21:56:59 +02:00
Florent Chehab b0501824cf feat(frontend): default to mouse and don't emit cursor while drawing 2020-05-06 21:56:59 +02:00
Florent Chehab 8a1f1b4210 feat(frontend): reduce the number of cursor messages sent
* require a minimum position / time variation between emitions
2020-05-06 21:56:57 +02:00
Florent Chehab db89dd819b feat(frontend): track the number of messages received / sent 2020-05-06 21:55:13 +02:00
Florent Chehab 6f68f9f21f feat(backend): no compression & volatile
* Should enable for more performances when there are a lot of users
* Messages are pretty small so compression might not be needed
* Volatile reduces the number of exchanges between the server and the clients
2020-05-06 21:55:13 +02:00
Florent Chehab 9f5c5b2f30 fix(fa icons): should render everywhere
* setup is not perfect but should do the trick for now
* Suggestion: add all the icon the dom and reuse them so that we don't have to do dom.i2svg(); everytime
2020-04-20 11:18:52 +02:00
Florent Chehab 0ef46fea2f fix(start): change the way the app is launched
* And updated README accordingly
2020-04-20 11:03:07 +02:00
Florent Chehab 033d01e1cf fixup! refacto(scipts): reorganized & support dev server 2020-04-20 10:34:41 +02:00
Florent Chehab 7f574cea5a fixup! feat(build-chain): set up and updated deps 2020-04-20 10:34:02 +02:00
Florent Chehab 59a229b1fb fixup! refacto(Dockerfile): optimized with new setup 2020-04-20 10:33:22 +02:00
Florent Chehab 810ed89337 fixup! refacto(assets): moved public to assets 2020-04-20 10:30:18 +02:00
Florent Chehab 2b790ca397 fix(dependencies): pinning of new dev deps 2020-04-20 10:15:56 +02:00
Florent Chehab ffff0899cc docs: updated README
* and small documentation changes
2020-04-19 18:14:44 +02:00
Florent Chehab d5cb969ee5 fix: undefined vars / resizable / upload
* was brokend by refacto
2020-04-19 17:57:54 +02:00
Florent Chehab 39e8dd398b fix(bundle size): include only required icons 2020-04-19 17:42:26 +02:00
Florent Chehab 6c5016003a refacto(Dockerfile): optimized with new setup 2020-04-19 17:18:38 +02:00
Florent Chehab dcc5191a3c style(main.js): indented because in function now 2020-04-19 16:50:47 +02:00
Florent Chehab 99378c276b fix(colorPicker): cleaned setup of new lib 2020-04-19 16:49:39 +02:00
Florent Chehab 6025dc595a refacto(endpoints): endpoints under /api or /ws-api
* Easier setup of webpack dev-server & proxying
2020-04-19 16:42:32 +02:00
Florent Chehab 7d1db66a26 refacto(scipts): reorganized & support dev server 2020-04-19 16:42:32 +02:00
Florent Chehab 1534edba64 refacto(scripts): added dir 2020-04-19 16:35:10 +02:00
Florent Chehab a61ac620a2 feat(build-chain): set up and updated deps 2020-04-19 16:33:55 +02:00
Florent Chehab 84b4ff019f refacto(src): a bit of cleaning 2020-04-19 16:32:30 +02:00
Florent Chehab 0a32a73742 refacto(assets / src): reorganized 2020-04-19 16:26:45 +02:00
Florent Chehab 0e7e4ffbd9 refacto(assets): removed unecessary assets 2020-04-19 16:23:14 +02:00
Florent Chehab 63ac22d6c8 refacto: moved to src 2020-04-18 22:15:12 +02:00
Florent Chehab 4f221a2d9c refacto(assets): moved public to assets 2020-04-18 21:57:03 +02:00