diff --git a/app/views/RoomInfoView/index.tsx b/app/views/RoomInfoView/index.tsx index 76e6a355c0..0cba906adf 100644 --- a/app/views/RoomInfoView/index.tsx +++ b/app/views/RoomInfoView/index.tsx @@ -5,7 +5,7 @@ import isEmpty from 'lodash/isEmpty'; import React, { useEffect, useLayoutEffect, useRef, useState } from 'react'; import { ScrollView, View } from 'react-native'; import { type Subscription } from 'rxjs'; -import UAParser from 'ua-parser-js'; +import Bowser from 'bowser'; import * as HeaderButton from '../../containers/Header/components/HeaderButton'; import SafeAreaView from '../../containers/SafeAreaView'; @@ -131,10 +131,11 @@ const RoomInfoView = (): React.ReactElement => { const { visitor } = result; const params: { os?: string; browser?: string } = {}; if (visitor.userAgent) { - const ua = new UAParser(); - ua.setUA(visitor.userAgent); - params.os = `${ua.getOS().name} ${ua.getOS().version}`; - params.browser = `${ua.getBrowser().name} ${ua.getBrowser().version}`; + const ua = Bowser.getParser(visitor.userAgent); + params.os = `${ua.getOS().name ?? ua.getOSName()} ${ua.getOS().version ?? ua.getOSVersion()}`; + params.browser = `${ua.getBrowser().name ?? ua.getBrowserName()} ${ + ua.getBrowser().version ?? ua.getBrowserVersion() + }`; } setRoomUser({ ...visitor, ...params }); setHeader(); diff --git a/package.json b/package.json index 45c7b5e50e..c20364deea 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "@rocket.chat/mobile-crypto": "RocketChat/rocket.chat-mobile-crypto", "@rocket.chat/sdk": "RocketChat/Rocket.Chat.js.SDK#mobile", "@rocket.chat/ui-kit": "0.31.19", + "bowser": "^2.13.1", "bytebuffer": "5.0.1", "color2k": "1.2.4", "dayjs": "^1.11.18", @@ -83,7 +84,6 @@ "lodash": "4.17.21", "mitt": "3.0.1", "pretty-bytes": "5.6.0", - "prop-types": "15.7.2", "react": "19.0.0", "react-hook-form": "7.34.2", "react-native": "0.79.4", @@ -131,7 +131,6 @@ "semver": "7.5.2", "transliteration": "2.3.5", "typed-redux-saga": "1.5.0", - "ua-parser-js": "1.0.33", "uri-js": "4.4.1", "url-parse": "1.5.10", "use-debounce": "9.0.4", diff --git a/yarn.lock b/yarn.lock index 5f334cbad3..6b03fbfcd5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6603,6 +6603,11 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +bowser@^2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.13.1.tgz#5a4c652de1d002f847dd011819f5fc729f308a7e" + integrity sha512-OHawaAbjwx6rqICCKgSG0SAnT05bzd7ppyKLVUITZpANBaaMFBAsaNkto3LoQ31tyFP5kNujE8Cdx85G9VzOkw== + bplist-creator@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" @@ -12405,15 +12410,6 @@ prop-types@*, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-t object-assign "^4.1.1" react-is "^16.13.1" -prop-types@15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - property-expr@^2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" @@ -12583,7 +12579,7 @@ react-hook-form@7.34.2: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1: +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -14756,11 +14752,6 @@ ua-parser-js@1.0.2, ua-parser-js@^0.7.33: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" integrity sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg== -ua-parser-js@1.0.33: - version "1.0.33" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.33.tgz#f21f01233e90e7ed0f059ceab46eb190ff17f8f4" - integrity sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ== - ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"