fix: wrap admin room join logic in try-catch to prevent connection failures and remove redundant comment
This commit is contained in:
@@ -112,10 +112,15 @@ export class MessagesGateway implements OnGatewayConnection, OnGatewayDisconnect
|
|||||||
|
|
||||||
this.logger.log(`Client connected successfully: ${client.id} (User: ${userId}, Role: ${payload.role})`);
|
this.logger.log(`Client connected successfully: ${client.id} (User: ${userId}, Role: ${payload.role})`);
|
||||||
|
|
||||||
// Auto-join admin users to admin_room for support chat notifications
|
// Everything below is best-effort — don't let DB errors kill the socket connection
|
||||||
if (payload.role === 'ADMIN' || payload.role === 'SUPER_ADMIN') {
|
try {
|
||||||
client.join('admin_room');
|
// Auto-join admin users to admin_room for support chat notifications
|
||||||
this.logger.log(`Admin ${userId} joined admin_room`);
|
if (payload.role === 'ADMIN' || payload.role === 'SUPER_ADMIN') {
|
||||||
|
client.join('admin_room');
|
||||||
|
this.logger.log(`Admin ${userId} joined admin_room`);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.logger.warn(`Failed to join admin room for ${userId}: ${err.message}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update user online status in background (don't await)
|
// Update user online status in background (don't await)
|
||||||
@@ -132,7 +137,6 @@ export class MessagesGateway implements OnGatewayConnection, OnGatewayDisconnect
|
|||||||
this.messagesService.markPendingMessagesAsDelivered(userId)
|
this.messagesService.markPendingMessagesAsDelivered(userId)
|
||||||
.then((results) => {
|
.then((results) => {
|
||||||
for (const result of results) {
|
for (const result of results) {
|
||||||
// Notify each sender that their messages were delivered
|
|
||||||
const deliveredEvent = {
|
const deliveredEvent = {
|
||||||
messageIds: result.messageIds,
|
messageIds: result.messageIds,
|
||||||
conversationId: result.conversationId,
|
conversationId: result.conversationId,
|
||||||
|
|||||||
Reference in New Issue
Block a user