Skip to content

Commit d28d74f

Browse files
committed
[extensions] Add new apps: Discord, Evernote, Figma, Flipboard, Mattermost, Notion, Postman, Rambox, Rocket.Chat, Teams, TikTok Lite, VS Code
1 parent 1282175 commit d28d74f

File tree

2 files changed

+192
-4
lines changed

2 files changed

+192
-4
lines changed

src/extensions/ua-parser-extensions.js

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -268,13 +268,31 @@ const Fetchers = Object.freeze({
268268
///////////////////
269269

270270
const InApps = Object.freeze({
271-
browser : [
271+
browser : [[
272+
// Discord/Figma/Flipboard/Mattermost/Notion/Postman/Rambox/Rocket.Chat/Slack/Teams
273+
/\b(discord|figma|mattermost|notion|postman|rambox|rocket.chat|slack|teams)\/([\w\.]+).+(electron\/|; ios)/i,
274+
/(flipboard)\/([\w\.]+)/i
275+
], [NAME, VERSION, [TYPE, INAPP]], [
276+
277+
// Evernote/Teams on mobile
278+
/(evernote) win/i,
279+
/(teams)mobile-(ios|and)/i
280+
], [NAME, [TYPE, INAPP]], [
281+
272282
// Slack
273-
[/(?:slack(?=.+electron|.+ios)|chatlyio)\/([\d\.]+)/i],
274-
[VERSION, [NAME, 'Slack'], [TYPE, INAPP]],
283+
/chatlyio\/([\d\.]+)/i],
284+
[VERSION, [NAME, 'Slack'], [TYPE, INAPP]], [
285+
286+
// TikTok Lite
287+
/ultralite app_version\/([\w\.]+)/i],
288+
[VERSION, [NAME, 'TikTok Lite'], [TYPE, INAPP]], [
289+
290+
// VS Code
291+
/\) code\/([\d\.]+).+electron\//i],
292+
[VERSION, [NAME, 'VS Code'], [TYPE, INAPP]], [
275293

276294
// Yahoo! Japan
277-
[/jp\.co\.yahoo\.(?:android\.yjtop|ipn\.appli)\/([\d\.]+)/i],
295+
/jp\.co\.yahoo\.(?:android\.yjtop|ipn\.appli)\/([\d\.]+)/i],
278296
[VERSION, [NAME, 'Yahoo! Japan'], [TYPE, INAPP]]
279297
]
280298
});

test/data/ua/extension/inapp.json

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,154 @@
11
[
2+
{
3+
"desc" : "Discord on Linux",
4+
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) discord/0.0.26 Chrome/108.0.5359.215 Electron/22.3.2 Safari/537.36",
5+
"expect" :
6+
{
7+
"name" : "discord",
8+
"version" : "0.0.26",
9+
"type" : "inapp"
10+
}
11+
},
12+
{
13+
"desc" : "Discord on iPad",
14+
"ua" : "Discord/52.0 (iPad; iOS 14.4; Scale/2.00)",
15+
"expect" :
16+
{
17+
"name" : "Discord",
18+
"version" : "52.0",
19+
"type" : "inapp"
20+
}
21+
},
22+
{
23+
"desc" : "Evernote on Windows",
24+
"ua" : "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Evernote Windows/306387 (pt-PT, DDL); Windows/6.1.0 (Win32); Safari/537.36",
25+
"expect" :
26+
{
27+
"name" : "Evernote",
28+
"version" : "undefined",
29+
"type" : "inapp"
30+
}
31+
},
32+
{
33+
"desc" : "Figma on Mac",
34+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) Figma/99.0.0 Chrome/89.0.4389.128 Electron/12.0.9 Safari/537.36",
35+
"expect" :
36+
{
37+
"name" : "Figma",
38+
"version" : "99.0.0",
39+
"type" : "inapp"
40+
}
41+
},
42+
{
43+
"desc" : "Flipboard on Android",
44+
"ua" : "Mozilla/5.0 (Linux; Android 8.0.0; SM-A720F Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36 Flipboard/4.1.13/4342,4.1.13.4342",
45+
"expect" :
46+
{
47+
"name" : "Flipboard",
48+
"version" : "4.1.13",
49+
"type" : "inapp"
50+
}
51+
},
52+
{
53+
"desc" : "Mattermost on Mac",
54+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) Mattermost/4.4.0 Chrome/76.0.3809.146 Electron/6.1.7 Safari/537.36",
55+
"expect" :
56+
{
57+
"name" : "Mattermost",
58+
"version" : "4.4.0",
59+
"type" : "inapp"
60+
}
61+
},
62+
{
63+
"desc" : "Mattermost on iPad",
64+
"ua" : "Mattermost/1.49.1 (iPad; iOS 15.3.1; Scale/2.00)",
65+
"expect" :
66+
{
67+
"name" : "Mattermost",
68+
"version" : "1.49.1",
69+
"type" : "inapp"
70+
}
71+
},
72+
{
73+
"desc" : "Microsoft Teams on Mac",
74+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_3_1) AppleWebKit/537.36 (KHTML, like Gecko) Teams/1.8.00.3758 Chrome/126.0.6478.261 Electron/31.7.7 Safari/537.36",
75+
"expect" :
76+
{
77+
"name" : "Teams",
78+
"version" : "1.8.00.3758",
79+
"type" : "inapp"
80+
}
81+
},
82+
{
83+
"desc" : "Microsoft Teams on iPad",
84+
"ua" : "Mozilla/5.0 (iPad; CPU OS 16_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 TeamsMobile-iOS",
85+
"expect" :
86+
{
87+
"name" : "Teams",
88+
"version" : "undefined",
89+
"type" : "inapp"
90+
}
91+
},
92+
{
93+
"desc" : "Microsoft Teams on iPhone",
94+
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 TeamsMobile-iOS",
95+
"expect" :
96+
{
97+
"name" : "Teams",
98+
"version" : "undefined",
99+
"type" : "inapp"
100+
}
101+
},
102+
{
103+
"desc" : "Microsoft Teams on Android",
104+
"ua" : "Mozilla/5.0 (Linux; Android 8.1.0; SM-G610F Build/M1AJQ; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.101 Mobile Safari/537.36 TeamsMobile-Android",
105+
"expect" :
106+
{
107+
"name" : "Teams",
108+
"version" : "undefined",
109+
"type" : "inapp"
110+
}
111+
},
112+
{
113+
"desc" : "Notion on Mac",
114+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Notion/2.0.23 Chrome/91.0.4472.164 Electron/13.6.9 Safari/537.36",
115+
"expect" :
116+
{
117+
"name" : "Notion",
118+
"version" : "2.0.23",
119+
"type" : "inapp"
120+
}
121+
},
122+
{
123+
"desc" : "Postman on Mac",
124+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Postman/9.29.0 Chrome/94.0.4606.81 Electron/15.5.7 Safari/537.36",
125+
"expect" :
126+
{
127+
"name" : "Postman",
128+
"version" : "9.29.0",
129+
"type" : "inapp"
130+
}
131+
},
132+
{
133+
"desc" : "Rambox on mac",
134+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) Rambox/0.7.7 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36",
135+
"expect" :
136+
{
137+
"name" : "Rambox",
138+
"version" : "0.7.7",
139+
"type" : "inapp"
140+
}
141+
},
142+
{
143+
"desc" : "Rocket.Chat on mac",
144+
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Rocket.Chat/3.8.16 Chrome/106.0.5249.199 Electron/21.3.3 Safari/537.36",
145+
"expect" :
146+
{
147+
"name" : "Rocket.Chat",
148+
"version" : "3.8.16",
149+
"type" : "inapp"
150+
}
151+
},
2152
{
3153
"desc" : "Slack on mac",
4154
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Slack/4.39.90 Chrome/127.0.6533.72 Electron/13.1.9 Safari/537.36",
@@ -9,6 +159,26 @@
9159
"type" : "inapp"
10160
}
11161
},
162+
{
163+
"desc" : "TikTok Lite",
164+
"ua" : "Mozilla/5.0 (Linux; Android 8.0.0; SM-J400F Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.91 Mobile Safari/537.36 Channel/release AppName/ultralite app_version/27.2.3 Region/ID ByteLocale/id-ID ByteFullLocale/id-ID",
165+
"expect" :
166+
{
167+
"name" : "TikTok Lite",
168+
"version" : "27.2.3",
169+
"type" : "inapp"
170+
}
171+
},
172+
{
173+
"desc" : "VS Code on Windows",
174+
"ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.85.1 Chrome/114.0.5735.289 Electron/25.9.7 Safari/537.36",
175+
"expect" :
176+
{
177+
"name" : "VS Code",
178+
"version" : "1.85.1",
179+
"type" : "inapp"
180+
}
181+
},
12182
{
13183
"desc" : "Yahoo! Japan on Android",
14184
"ua" : "Mozilla/5.0 (Linux; Android 13; SH-M20 Build/TKQ1.220915.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/132.0.6834.163 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.187.0",

0 commit comments

Comments
 (0)