Skip to content

Websockets and collaboration #17

@WVAviator

Description

@WVAviator

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions