diff --git a/lib/services/rocketchat-call-listener.ts b/lib/services/rocketchat-call-listener.ts index 6a0609a..3d2a910 100644 --- a/lib/services/rocketchat-call-listener.ts +++ b/lib/services/rocketchat-call-listener.ts @@ -99,14 +99,17 @@ export class RocketChatCallListener { this.ws.onmessage = (event) => { try { const message = JSON.parse(event.data); - console.log('[ROCKETCHAT_CALL_LISTENER] 📨 Received WebSocket message:', { + // Log the full message as string for debugging + console.log('[ROCKETCHAT_CALL_LISTENER] 📨 Received WebSocket message (FULL):', JSON.stringify(message, null, 2)); + console.log('[ROCKETCHAT_CALL_LISTENER] 📨 Received WebSocket message (SUMMARY):', { msg: message.msg, collection: message.collection, id: message.id, eventName: message.fields?.eventName, error: message.error, reason: message.reason, - fullMessage: JSON.stringify(message, null, 2), + errorType: typeof message.error, + errorIsString: typeof message.error === 'string', }); this.handleMessage(message); } catch (error) { @@ -123,8 +126,23 @@ export class RocketChatCallListener { this.ws.onclose = (event) => { console.log('[ROCKETCHAT_CALL_LISTENER] 🔌 WebSocket closed', { code: event.code, - reason: event.reason, + reason: event.reason || 'No reason provided', wasClean: event.wasClean, + codeMeaning: event.code === 1006 ? 'Abnormal closure (no close frame)' : + event.code === 1000 ? 'Normal closure' : + event.code === 1001 ? 'Going away' : + event.code === 1002 ? 'Protocol error' : + event.code === 1003 ? 'Unsupported data' : + event.code === 1005 ? 'No status code' : + event.code === 1007 ? 'Invalid frame payload data' : + event.code === 1008 ? 'Policy violation' : + event.code === 1009 ? 'Message too big' : + event.code === 1010 ? 'Mandatory extension' : + event.code === 1011 ? 'Internal server error' : + event.code === 1012 ? 'Service restart' : + event.code === 1013 ? 'Try again later' : + event.code === 1014 ? 'Bad gateway' : + event.code === 1015 ? 'TLS handshake' : 'Unknown', }); logger.debug('[ROCKETCHAT_CALL_LISTENER] WebSocket closed'); this.isConnected = false;