This commit is contained in:
ImBenji 2026-05-05 09:49:06 +01:00
parent 37fef7de25
commit 8939cf38c2
3 changed files with 9 additions and 5 deletions

View file

@ -92,7 +92,10 @@ class _ViewerScreenState extends State<ViewerScreen> {
return;
}
_sig.send({'type': 'join', 'roomId': roomId});
// build the peer connection BEFORE telling the server we've joined,
// otherwise the host's offer can race in before _pc exists and the
// whole answer step gets silently dropped
await _initPeerConnection(roomId);
_sigSub = _sig.messages.listen(
(msg) => _onSignal(msg, roomId),
@ -100,6 +103,8 @@ class _ViewerScreenState extends State<ViewerScreen> {
setState(() => _status = 'Signal error: $e');
},
);
_sig.send({'type': 'join', 'roomId': roomId});
}
Future<void> _onSignal(Map<String, dynamic> msg, String roomId) async {
@ -108,7 +113,6 @@ class _ViewerScreenState extends State<ViewerScreen> {
switch (type) {
case 'joined':
setState(() => _status = 'Waiting for host offer...');
await _initPeerConnection(roomId);
break;
case 'signal':

View file

@ -34,7 +34,7 @@ class AppDelegate: FlutterAppDelegate {
let ctrl = window.contentViewController as? FlutterViewController else { return }
let messenger = ctrl.engine.binaryMessenger
textureRegistry = ctrl.engine.textureRegistry
textureRegistry = ctrl.engine.registrar(forPlugin: "PulsarTextures").textures
inputChannel = FlutterMethodChannel(name: "com.pulsar/input", binaryMessenger: messenger)
inputChannel?.setMethodCallHandler { [weak self] call, result in

View file

@ -239,10 +239,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349"
url: "https://pub.dev"
source: hosted
version: "1.17.0"
version: "1.18.0"
native_toolchain_c:
dependency: transitive
description: