diff --git a/.changeset/healthy-rabbits-sip.md b/.changeset/healthy-rabbits-sip.md new file mode 100644 index 0000000000000..5207f42462854 --- /dev/null +++ b/.changeset/healthy-rabbits-sip.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +Fixes an issue where `user-agent` is not properly extracted from the DDP connection headers diff --git a/apps/meteor/ee/server/lib/deviceManagement/session.ts b/apps/meteor/ee/server/lib/deviceManagement/session.ts index 7d68f89942cda..c5b286c9dff2c 100644 --- a/apps/meteor/ee/server/lib/deviceManagement/session.ts +++ b/apps/meteor/ee/server/lib/deviceManagement/session.ts @@ -66,7 +66,12 @@ export const listenSessionLogin = () => { username, emails: [{ address: email }], } = user; - const { browser, os, device, cpu, app } = await uaParser(connection.httpHeaders['user-agent']); + + const userAgentString = + connection.httpHeaders instanceof Headers + ? (connection.httpHeaders.get('user-agent') ?? '') + : (connection.httpHeaders['user-agent'] ?? ''); + const { browser, os, device, cpu, app } = await uaParser(userAgentString); const mailData = { name,