PatWie / excalidraw-complete

Effortlessly self-host Excalidraw with a single Go binary. Supports multiple storage options and real-time collaboration.
102 stars 10 forks source link

switch Socket.IO library #3

Open PatWie opened 7 months ago

PatWie commented 7 months ago

It seems in some events, each user will be twice in a room. It is unclear which event causes the user to re-join under a different user-id.

I haven't rule out yet that the underlying golang implementation of socket.io has some bugs. Maybe switching to https://github.com/Totodore/socketioxide is an option (which "looks" more robust and actively maintained).

YugoCode commented 7 months ago

The library you linked is a Rust library. Do you plan switching from Golang to Rust? 🥺

PatWie commented 6 months ago

If that socket.io is really the culprit, then yes. 🦀 💪🏻

mvasl commented 1 month ago

It seems that connection from client gets lost temporarily from time to time when there is a lot of events (some sort of throttling on the go side?)

Setting ConnectionStateRecovery option with a 3 to 5 seconds maxDisconnectionDuration seems to help to some degree but disconnects are still there.