refactor Notifications
This commit is contained in:
parent
2d35dbe074
commit
448ef06a26
@ -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,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user