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; 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( _sigSub = _sig.messages.listen(
(msg) => _onSignal(msg, roomId), (msg) => _onSignal(msg, roomId),
@ -100,6 +103,8 @@ class _ViewerScreenState extends State<ViewerScreen> {
setState(() => _status = 'Signal error: $e'); setState(() => _status = 'Signal error: $e');
}, },
); );
_sig.send({'type': 'join', 'roomId': roomId});
} }
Future<void> _onSignal(Map<String, dynamic> msg, String roomId) async { Future<void> _onSignal(Map<String, dynamic> msg, String roomId) async {
@ -108,7 +113,6 @@ class _ViewerScreenState extends State<ViewerScreen> {
switch (type) { switch (type) {
case 'joined': case 'joined':
setState(() => _status = 'Waiting for host offer...'); setState(() => _status = 'Waiting for host offer...');
await _initPeerConnection(roomId);
break; break;
case 'signal': case 'signal':

View file

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

View file

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