Enhances websocket connection robustness
Improves websocket connection reliability by predefining the websocket URL and handling potential queueing errors. This change also updates the websocket close message for clarity.
This commit is contained in:
parent
87a4864c49
commit
725037e669
1 changed files with 9 additions and 4 deletions
|
|
@ -31,9 +31,11 @@ class NostrClient:
|
|||
logger.debug(f"Connecting to websockets for 'nostrclient' extension...")
|
||||
|
||||
relay_endpoint = encrypt_internal_message("relay", urlsafe=True)
|
||||
ws_url = f"ws://localhost:{settings.port}/nostrclient/api/v1/{relay_endpoint}"
|
||||
|
||||
on_open, on_message, on_error, on_close = self._ws_handlers()
|
||||
ws = WebSocketApp(
|
||||
f"ws://localhost:{settings.port}/nostrclient/api/v1/{relay_endpoint}",
|
||||
ws_url,
|
||||
on_message=on_message,
|
||||
on_open=on_open,
|
||||
on_close=on_close,
|
||||
|
|
@ -181,13 +183,16 @@ class NostrClient:
|
|||
|
||||
def on_message(_, message):
|
||||
logger.info(f"[NOSTRMARKET DEBUG] Received websocket message: {message[:200]}...")
|
||||
self.recieve_event_queue.put_nowait(message)
|
||||
try:
|
||||
self.recieve_event_queue.put_nowait(message)
|
||||
except Exception as e:
|
||||
logger.error(f"[NOSTRMARKET DEBUG] ❌ Failed to queue message: {e}")
|
||||
|
||||
def on_error(_, error):
|
||||
logger.warning(f"[NOSTRMARKET DEBUG] Websocket error: {error}")
|
||||
logger.warning(f"[NOSTRMARKET DEBUG] ❌ Websocket error: {error}")
|
||||
|
||||
def on_close(x, status_code, message):
|
||||
logger.warning(f"[NOSTRMARKET DEBUG] Websocket closed: {x}: '{status_code}' '{message}'")
|
||||
logger.warning(f"[NOSTRMARKET DEBUG] 🔌 Websocket closed: {x}: '{status_code}' '{message}'")
|
||||
# force re-subscribe
|
||||
self.recieve_event_queue.put_nowait(ValueError("Websocket close."))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue