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.onopen = () => {
|
||||
console.log('[ROCKETCHAT_CALL_LISTENER] ✅ WebSocket connected!');
|
||||
logger.debug('[ROCKETCHAT_CALL_LISTENER] WebSocket connected');
|
||||
this.isConnecting = false;
|
||||
this.isConnected = true;
|
||||
@ -96,7 +97,19 @@ export class RocketChatCallListener {
|
||||
};
|
||||
|
||||
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) => {
|
||||
@ -105,7 +118,12 @@ export class RocketChatCallListener {
|
||||
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');
|
||||
this.isConnected = false;
|
||||
this.isConnecting = false;
|
||||
@ -129,6 +147,11 @@ export class RocketChatCallListener {
|
||||
*/
|
||||
private authenticate(): void {
|
||||
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;
|
||||
}
|
||||
|
||||
@ -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');
|
||||
this.ws.send(JSON.stringify(loginMessage));
|
||||
}
|
||||
@ -198,18 +226,32 @@ export class RocketChatCallListener {
|
||||
private handleMessage(message: any): void {
|
||||
// Handle login response
|
||||
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');
|
||||
this.subscribeToCalls();
|
||||
} else {
|
||||
console.error('[ROCKETCHAT_CALL_LISTENER] ❌ Login failed', message);
|
||||
logger.error('[ROCKETCHAT_CALL_LISTENER] Login failed', { message });
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle subscription ready
|
||||
if (message.msg === 'ready' && message.subs?.includes(this.subscriptionId)) {
|
||||
logger.debug('[ROCKETCHAT_CALL_LISTENER] Subscription ready');
|
||||
if (message.msg === '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;
|
||||
}
|
||||
|
||||
@ -246,13 +288,25 @@ export class RocketChatCallListener {
|
||||
}
|
||||
}
|
||||
|
||||
// Log all messages for debugging
|
||||
if (message.msg && message.collection === 'stream-notify-user') {
|
||||
console.log('[ROCKETCHAT_CALL_LISTENER] Stream notify user message:', {
|
||||
// Log all stream-notify-user messages for debugging
|
||||
if (message.collection === 'stream-notify-user') {
|
||||
console.log('[ROCKETCHAT_CALL_LISTENER] 📢 Stream notify user message:', {
|
||||
msg: message.msg,
|
||||
collection: message.collection,
|
||||
eventName: message.fields?.eventName,
|
||||
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