refactor Notifications

This commit is contained in:
alma 2026-01-16 00:53:21 +01:00
parent 2d35dbe074
commit 448ef06a26

View File

@ -88,6 +88,7 @@ export class RocketChatCallListener {
this.ws = new WebSocket(wsUrl); this.ws = new WebSocket(wsUrl);
this.ws.onopen = () => { this.ws.onopen = () => {
console.log('[ROCKETCHAT_CALL_LISTENER] ✅ WebSocket connected!');
logger.debug('[ROCKETCHAT_CALL_LISTENER] WebSocket connected'); logger.debug('[ROCKETCHAT_CALL_LISTENER] WebSocket connected');
this.isConnecting = false; this.isConnecting = false;
this.isConnected = true; this.isConnected = true;
@ -96,7 +97,19 @@ export class RocketChatCallListener {
}; };
this.ws.onmessage = (event) => { this.ws.onmessage = (event) => {
this.handleMessage(JSON.parse(event.data)); try {
const message = JSON.parse(event.data);
console.log('[ROCKETCHAT_CALL_LISTENER] 📨 Received WebSocket message:', {
msg: message.msg,
collection: message.collection,
id: message.id,
eventName: message.fields?.eventName,
fullMessage: message,
});
this.handleMessage(message);
} catch (error) {
console.error('[ROCKETCHAT_CALL_LISTENER] Error parsing message', error, event.data);
}
}; };
this.ws.onerror = (error) => { this.ws.onerror = (error) => {
@ -105,7 +118,12 @@ export class RocketChatCallListener {
this.isConnected = false; this.isConnected = false;
}; };
this.ws.onclose = () => { this.ws.onclose = (event) => {
console.log('[ROCKETCHAT_CALL_LISTENER] 🔌 WebSocket closed', {
code: event.code,
reason: event.reason,
wasClean: event.wasClean,
});
logger.debug('[ROCKETCHAT_CALL_LISTENER] WebSocket closed'); logger.debug('[ROCKETCHAT_CALL_LISTENER] WebSocket closed');
this.isConnected = false; this.isConnected = false;
this.isConnecting = false; this.isConnecting = false;
@ -129,6 +147,11 @@ export class RocketChatCallListener {
*/ */
private authenticate(): void { private authenticate(): void {
if (!this.ws || !this.authToken || !this.userId) { if (!this.ws || !this.authToken || !this.userId) {
console.warn('[ROCKETCHAT_CALL_LISTENER] Cannot authenticate - missing ws, token, or userId', {
hasWs: !!this.ws,
hasToken: !!this.authToken,
hasUserId: !!this.userId,
});
return; return;
} }
@ -143,6 +166,11 @@ export class RocketChatCallListener {
], ],
}; };
console.log('[ROCKETCHAT_CALL_LISTENER] 🔐 Sending login message', {
method: 'login',
hasToken: !!this.authToken,
userId: this.userId,
});
logger.debug('[ROCKETCHAT_CALL_LISTENER] Sending login message'); logger.debug('[ROCKETCHAT_CALL_LISTENER] Sending login message');
this.ws.send(JSON.stringify(loginMessage)); this.ws.send(JSON.stringify(loginMessage));
} }
@ -198,18 +226,32 @@ export class RocketChatCallListener {
private handleMessage(message: any): void { private handleMessage(message: any): void {
// Handle login response // Handle login response
if (message.msg === 'result' && message.id?.startsWith('login-')) { if (message.msg === 'result' && message.id?.startsWith('login-')) {
if (message.result?.token) { console.log('[ROCKETCHAT_CALL_LISTENER] 📋 Login response received', {
success: !!message.result?.token,
error: message.error,
result: message.result,
});
if (message.result?.token || message.result) {
console.log('[ROCKETCHAT_CALL_LISTENER] ✅ Login successful!');
logger.debug('[ROCKETCHAT_CALL_LISTENER] Login successful'); logger.debug('[ROCKETCHAT_CALL_LISTENER] Login successful');
this.subscribeToCalls(); this.subscribeToCalls();
} else { } else {
console.error('[ROCKETCHAT_CALL_LISTENER] ❌ Login failed', message);
logger.error('[ROCKETCHAT_CALL_LISTENER] Login failed', { message }); logger.error('[ROCKETCHAT_CALL_LISTENER] Login failed', { message });
} }
return; return;
} }
// Handle subscription ready // Handle subscription ready
if (message.msg === 'ready' && message.subs?.includes(this.subscriptionId)) { if (message.msg === 'ready') {
logger.debug('[ROCKETCHAT_CALL_LISTENER] Subscription ready'); console.log('[ROCKETCHAT_CALL_LISTENER] ✅ Subscription ready', {
subs: message.subs,
ourSubId: this.subscriptionId,
isOurSub: message.subs?.includes(this.subscriptionId),
});
if (message.subs?.includes(this.subscriptionId)) {
logger.debug('[ROCKETCHAT_CALL_LISTENER] Subscription ready');
}
return; return;
} }
@ -246,13 +288,25 @@ export class RocketChatCallListener {
} }
} }
// Log all messages for debugging // Log all stream-notify-user messages for debugging
if (message.msg && message.collection === 'stream-notify-user') { if (message.collection === 'stream-notify-user') {
console.log('[ROCKETCHAT_CALL_LISTENER] Stream notify user message:', { console.log('[ROCKETCHAT_CALL_LISTENER] 📢 Stream notify user message:', {
msg: message.msg, msg: message.msg,
collection: message.collection, collection: message.collection,
eventName: message.fields?.eventName, eventName: message.fields?.eventName,
hasArgs: !!(message.fields?.args && message.fields.args.length > 0), hasArgs: !!(message.fields?.args && message.fields.args.length > 0),
argsCount: message.fields?.args?.length || 0,
fullFields: message.fields,
});
}
// Log ALL messages to see what we're receiving
if (message.msg) {
console.log('[ROCKETCHAT_CALL_LISTENER] 📬 All WebSocket message:', {
msg: message.msg,
collection: message.collection,
id: message.id,
method: message.method,
}); });
} }
} }