diff --git a/app/api/rocket-chat/messages/route.ts b/app/api/rocket-chat/messages/route.ts index f59bdfb6..307cdf23 100644 --- a/app/api/rocket-chat/messages/route.ts +++ b/app/api/rocket-chat/messages/route.ts @@ -201,7 +201,7 @@ export async function GET(request: Request) { if (messageData.success && messageData.messages?.length > 0) { const message = messageData.messages[0]; const messageUser = message.u || {}; - const username = messageUser.username || 'unknown'; + const username = messageUser.username || subscription.name || 'unknown'; const displayName = subscription.fname || subscription.name || username; // Format the timestamp @@ -225,6 +225,14 @@ export async function GET(request: Request) { }); } + // Create initials from display name + const initials = displayName + .split(' ') + .map((n: string) => n[0]) + .slice(0, 2) + .join('') + .toUpperCase(); + messages.push({ id: message._id, text: message.msg || '', @@ -235,15 +243,16 @@ export async function GET(request: Request) { userMentions: subscription.userMentions || 0, alert: subscription.alert || false, lastSeen: subscription.ls, + u: { // Add back the u object that the component expects + _id: messageUser._id || subscription.u?._id, + username: username, + name: displayName + }, sender: { + _id: messageUser._id || subscription.u?._id, username: username, name: displayName, - initials: displayName - .split(' ') - .map((n: string) => n[0]) - .slice(0, 2) - .join('') - .toUpperCase(), + initials: initials, color: getAvatarColor(username) }, isOwnMessage: username === currentUser.username,