Closed xaviergonz closed 11 months ago
Hi @xaviergonz ,
Can you please specify? So, do you want an event every time a user is connected to another user, or do you want a connected event when you are connected to the signaling server?
Could you please name a good use-case for the connected event?
The connected event is a farce. You never know when you are connected to all peers. So when exactly should the connected event be emitted?
Sure. I mean an event that gets emitted when connected
is changed. The he use case is for example a react component that renders the connection state and that calls setState when this event is emitted rather than needing to poll connected
within a setInterval
I just read the farce part, what does connected represent then?
Makes sense. I will make a change so that a connected event is emitted.
Sweet project, by the way! I'd love to receive a PR that adds mobx-keystone-yjs
to https://github.com/yjs/yjs/#bindings
A bit of background information:
provider.connected
was only added so it has a similar API to y-websocket
.
It is true once the provider starts looking for other peers. Other peers can be found via signaling servers or via broadcastchannel (cross browser-tab communication). You never know when you are connected to all peers. You also don't know if there are other peers. connected
doesn't mean that you are connected to any physical peers working on the same resource as you. It does not change unless you call provider.disconnect()
In contrast to y-websocket, you can never know when you are connected to all sources that collaborate on the same room, as there is (by design) no central registry.
Thanks for the info! (and the kudos!) I thought connected would give something more useful like if there's an active connection to the signaling server or similar rather than an intent to stay connected, so feel free to ignore the request then.
About the PR, there's one already 😉 https://github.com/yjs/yjs/pull/605
Feel free to use y-websocket & wss://demos.yjs.dev/ws
for demos. I recently added more resources, so it should work much better than before.
Is your feature request related to a problem? Please describe.
I'd like a 'connect' and 'close' events to be emitted after y-webrtc has connected/disconnected so that I can show a connection status badge without the need to poll every so often the 'connected' variable in the provider