diff --git a/gui/main_window.py b/gui/main_window.py index 5a55795..e2f0169 100644 --- a/gui/main_window.py +++ b/gui/main_window.py @@ -413,15 +413,19 @@ class MainWindow(QMainWindow): def update_ip_label(self): """Update the IP address label.""" # Check if relay is connected and has a session ID - if self.relay_client and self.relay_client.is_connected(): - session_id = self.settings_manager.get_relay_session_id() - if session_id: - relay_url = self.settings_manager.get_relay_url() - # Convert wss:// to https:// for display - base_url = relay_url.replace('wss://', 'https://').replace('ws://', 'http://') - base_url = base_url.replace('/desktop', '').rstrip('/') - self.ip_label.setText(f"{base_url}/{session_id}") - return + relay_connected = self.relay_client and self.relay_client.is_connected() + session_id = self.settings_manager.get_relay_session_id() + print(f"[DEBUG] update_ip_label: relay_connected={relay_connected}, session_id={session_id}") + + if relay_connected and session_id: + relay_url = self.settings_manager.get_relay_url() + # Convert wss:// to https:// for display + base_url = relay_url.replace('wss://', 'https://').replace('ws://', 'http://') + base_url = base_url.replace('/desktop', '').rstrip('/') + full_url = f"{base_url}/{session_id}" + print(f"[DEBUG] Setting relay URL: {full_url}") + self.ip_label.setText(full_url) + return # Fall back to local IP try: @@ -664,6 +668,7 @@ class MainWindow(QMainWindow): def on_relay_session_id(self, session_id: str): """Handle receiving session ID from relay.""" + print(f"[DEBUG] on_relay_session_id called with: {session_id}") self.settings_manager.set_relay_session_id(session_id) QTimer.singleShot(0, self.update_ip_label) diff --git a/relay_client.py b/relay_client.py index af1935e..da5970a 100644 --- a/relay_client.py +++ b/relay_client.py @@ -144,7 +144,8 @@ class RelayClient: # Mark as connected before callbacks so update_ip_label works self._connected = True new_session_id = response.get("sessionId") - if new_session_id and new_session_id != self.session_id: + # Always update session_id and trigger callback to ensure URL updates + if new_session_id: self.session_id = new_session_id if self.on_session_id: self.on_session_id(new_session_id)