braverhealth / phoenix-socket-dart

Cross-platform and stream-based implementation of Phoenix Sockets
https://pub.dev/packages/phoenix_socket
BSD 3-Clause "New" or "Revised" License
73 stars 37 forks source link

[BUG] - Channel join #66

Closed RodolfoSilva closed 4 months ago

RodolfoSilva commented 8 months ago

channel.join() only works when called inside openStream, if it is called outside some times this does not work.

✅ Works

final socket = PhoenixSocket(endpoint);
socket.connect();
final channel = socket.addChannel(topic: "any", parameters: {"r": "test"});
channel.messages.listen((event) {
  print("This will work");
});
socket.openStream.listen((event) {
  channel.join();
});

⛔️ Doesn't work

final socket = PhoenixSocket(endpoint);
socket.connect();
final channel = socket.addChannel(topic: "any", parameters: {"r": "test"});
channel.messages.listen((event) {
  print("This will be lost");
});
channel.join();
RodolfoSilva commented 5 months ago

@matehat, do you have any advice about the situation?

matehat commented 4 months ago

Investigating now 👀

matehat commented 4 months ago

Fix is in the 0.7.2 release

RodolfoSilva commented 4 months ago

Thanks @matehat