Add debug output for relay URL update issue

- Always trigger on_session_id callback when server returns session ID
- Add debug prints to trace URL update flow

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-05 20:56:30 -08:00
parent 5b6eb33bad
commit f87dab6bc2
2 changed files with 16 additions and 10 deletions

View File

@@ -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)

View File

@@ -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)