From 8939cf38c2b1b7d20efa485400e948a713f268c8 Mon Sep 17 00:00:00 2001 From: ImBenji Date: Tue, 5 May 2026 09:49:06 +0100 Subject: [PATCH] inital --- lib/screens/viewer_screen.dart | 8 ++++++-- macos/Runner/AppDelegate.swift | 2 +- pubspec.lock | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/screens/viewer_screen.dart b/lib/screens/viewer_screen.dart index a8fc8ac..d9b475b 100644 --- a/lib/screens/viewer_screen.dart +++ b/lib/screens/viewer_screen.dart @@ -92,7 +92,10 @@ class _ViewerScreenState extends State { 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 { setState(() => _status = 'Signal error: $e'); }, ); + + _sig.send({'type': 'join', 'roomId': roomId}); } Future _onSignal(Map msg, String roomId) async { @@ -108,7 +113,6 @@ class _ViewerScreenState extends State { switch (type) { case 'joined': setState(() => _status = 'Waiting for host offer...'); - await _initPeerConnection(roomId); break; case 'signal': diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift index 1dde45d..d75f008 100644 --- a/macos/Runner/AppDelegate.swift +++ b/macos/Runner/AppDelegate.swift @@ -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 diff --git a/pubspec.lock b/pubspec.lock index 545b998..106cdf5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -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: