This callback currently runs every second. Each time it creates a new subscription without canceling the previous one. If the WebSocket ever closes, all listeners call ref.invalidate(z21ServiceProvider) at the same time...
|
void _heartbeat(_) { |
|
final z21 = ref.read(z21ServiceProvider); |
|
z21.lanXGetStatus(); |
|
|
|
// Recover after socket was closed server side |
|
z21.stream.listen( |
|
null, |
|
onError: (e) { |
|
debugPrint('Z21 stream onError $e'); |
|
ref.invalidate(z21ServiceProvider); |
|
}, |
|
onDone: () { |
|
debugPrint('Z21 stream onDone'); |
|
ref.invalidate(z21ServiceProvider); |
|
}, |
|
); |
|
} |
|
} |
This callback currently runs every second. Each time it creates a new subscription without canceling the previous one. If the WebSocket ever closes, all listeners call
ref.invalidate(z21ServiceProvider)at the same time...Frontend/lib/main.dart
Lines 436 to 453 in 3bce612