-
Notifications
You must be signed in to change notification settings - Fork 2
Description
The collaboration interface should enable users to send out links inviting others to collaborate on their canvas. Collaborates will all receive shared state updates via socket.io.
When a user makes a change on the canvas, an emit should event. This should only be for significant events (such as mouseup after drawing an SVG line, not after every new point on the line).
Conflicts will need to be handled - such as state updating while the user is painting a new element - will the state update still take effect without disrupting the user's paint events? If users draw something in the same place at the same time, which one goes first?
Will state updates send the entire state, or just updated information? Is there a size limit to (efficient) websocket payloads?
Websockets are not supported in serverless/Vercel. This may require a separate microservice or a migration away from serverless. Converting the backend to a nestjs app hosted on heroku might be a good option.