From 645f3a95a43ab7ebc946964a54ef70a5c457c713 Mon Sep 17 00:00:00 2001 From: "Chanhyun,Roh" Date: Wed, 18 Apr 2018 17:26:42 +0900 Subject: [PATCH 1/7] add NAVER Whale browser (based on blink engine) --- README.md | 1 + src/bowser.js | 8 ++++++++ src/useragents.js | 10 ++++++++++ 3 files changed, 19 insertions(+) diff --git a/README.md b/README.md index 6f758ca..6c25b18 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ If detected, one of these flags may be set to true. The rendering engine flag i * `vivaldi` — [`blink`] * `sleipnir` — [`blink`] * `kMeleon` — [`gecko`] + * `Whale` — [`blink`] For all detected browsers the browser version is set in the `version` field. diff --git a/src/bowser.js b/src/bowser.js index 2ec17fb..c1dcb7f 100644 --- a/src/bowser.js +++ b/src/bowser.js @@ -71,6 +71,13 @@ , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i) } } + else if (/Whale/i.test(ua)) { + result = { + name: 'NAVER Whale browser' + , whale: t + , version: getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i) + } + } else if (/coast/i.test(ua)) { result = { name: 'Opera Coast' @@ -424,6 +431,7 @@ (result.vivaldi && result.version >= 1.0) || (result.chrome && result.version >= 20) || (result.samsungBrowser && result.version >= 4) || + (result.whale && compareVersions([result.version, '1.0']) === 1) || (result.firefox && result.version >= 20.0) || (result.safari && result.version >= 6) || (result.opera && result.version >= 10.0) || diff --git a/src/useragents.js b/src/useragents.js index 070b9f9..6654ce6 100644 --- a/src/useragents.js +++ b/src/useragents.js @@ -1573,5 +1573,15 @@ module.exports.useragents = { , a: true , blink: true } + }, 'NAVER Whale browser' : { + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Whale/1.0.40.10 Safari/537.36': { + osname: 'macOS' + , whale: true + , mac: true + , osversion: '10.12.6' + , version: '1.0.40.10' + , blink: true + , a: true + } } } From b53cd60e184e00793b9d302292929e938909d1a9 Mon Sep 17 00:00:00 2001 From: "Chanhyun,Roh" Date: Wed, 18 Apr 2018 17:29:21 +0900 Subject: [PATCH 2/7] define whale in typings.d.ts --- typings.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/typings.d.ts b/typings.d.ts index 55b527a..db1d2a3 100644 --- a/typings.d.ts +++ b/typings.d.ts @@ -62,6 +62,7 @@ declare namespace bowser { vivaldi: boolean; sleipnir: boolean; kMeleon: boolean; + whale: boolean; } export interface IBowserEngines { @@ -90,7 +91,7 @@ declare namespace bowser { version: string|number; /** Name for this operating system. E.g. 'macOS' */ osname: string; - /** Version number for this operating system. E.g. '10.12.6' */ + /** Version number for this operating system. E.g. '10.12.6' */ osversion: string|number; } From d4558db0ffa489de4882fede2a0399cffb06f395 Mon Sep 17 00:00:00 2001 From: "Chanhyun,Roh" Date: Wed, 18 Apr 2018 17:31:49 +0900 Subject: [PATCH 3/7] fix property-name 'Whale' to 'whale' in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6c25b18..f52c507 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ bowser.check({msie: "9.0"}); // false /** * specific user agent - */ + */ bowser.check({chrome: "45"}, window.navigator.userAgent); // true /** @@ -134,7 +134,7 @@ If detected, one of these flags may be set to true. The rendering engine flag i * `vivaldi` — [`blink`] * `sleipnir` — [`blink`] * `kMeleon` — [`gecko`] - * `Whale` — [`blink`] + * `whale` — [`blink`] For all detected browsers the browser version is set in the `version` field. From dbdc014300cc90f152583bd6e8543de41c3a45bf Mon Sep 17 00:00:00 2001 From: Denis Demchenko Date: Thu, 28 Jun 2018 21:12:27 +0300 Subject: [PATCH 4/7] Add detection of MZBrowser fixes #219 --- src/bowser.js | 8 ++++++++ src/useragents.js | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/bowser.js b/src/bowser.js index c1dcb7f..0431250 100644 --- a/src/bowser.js +++ b/src/bowser.js @@ -78,6 +78,13 @@ , version: getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i) } } + else if (/MZBrowser/i.test(ua)) { + result = { + name: 'MZ Browser' + , mzbrowser: t + , version: getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i) + } + } else if (/coast/i.test(ua)) { result = { name: 'Opera Coast' @@ -432,6 +439,7 @@ (result.chrome && result.version >= 20) || (result.samsungBrowser && result.version >= 4) || (result.whale && compareVersions([result.version, '1.0']) === 1) || + (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) || (result.firefox && result.version >= 20.0) || (result.safari && result.version >= 6) || (result.opera && result.version >= 10.0) || diff --git a/src/useragents.js b/src/useragents.js index 6654ce6..4377e6e 100644 --- a/src/useragents.js +++ b/src/useragents.js @@ -1584,4 +1584,16 @@ module.exports.useragents = { , a: true } } + , 'MZ Browser': { + 'Mozilla/5.0 (Linux; U; Android 6.0; zh-CN; MZ-PRO 6 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.2214.89 MZBrowser/6.9.511-2018012510 UWS/2.11.0.33 Mobile Safari/537.36': { + osname: 'Android' + , mzbrowser: true + , android: true + , mobile: true + , osversion: '6.0' + , version: '6.9.511' + , blink: true + , a: true + } + } } From 6e788744700e19e3c163e46b73870a1d9060330c Mon Sep 17 00:00:00 2001 From: Denis Demchenko Date: Thu, 28 Jun 2018 21:21:36 +0300 Subject: [PATCH 5/7] Add detection of Firefox Focus Fixes #191 --- src/bowser.js | 8 ++++++++ src/useragents.js | 14 +++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/bowser.js b/src/bowser.js index 0431250..571169d 100644 --- a/src/bowser.js +++ b/src/bowser.js @@ -92,6 +92,13 @@ , version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i) } } + else if (/focus/i.test(ua)) { + result = { + name: 'Focus' + , focus: t + , version: getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i) + } + } else if (/yabrowser/i.test(ua)) { result = { name: 'Yandex Browser' @@ -440,6 +447,7 @@ (result.samsungBrowser && result.version >= 4) || (result.whale && compareVersions([result.version, '1.0']) === 1) || (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) || + (result.focus && compareVersions([result.version, '1.0']) === 1) || (result.firefox && result.version >= 20.0) || (result.safari && result.version >= 6) || (result.opera && result.version >= 10.0) || diff --git a/src/useragents.js b/src/useragents.js index 4377e6e..edecf9d 100644 --- a/src/useragents.js +++ b/src/useragents.js @@ -1596,4 +1596,16 @@ module.exports.useragents = { , a: true } } -} + , 'Focus' : { + 'Mozilla/5.0 (Linux; Android 7.1.1) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.2.1 Chrome/59.0.3071.125': { + osname: 'Android' + , focus: true + , android: true + , tablet: true + , osversion: '7.1.1' + , version: '1.2.1' + , blink: true + , a: true + } + } +}; From 49746c5547d8a0999d8daf5833937ab7413ef576 Mon Sep 17 00:00:00 2001 From: Denis Demchenko Date: Thu, 28 Jun 2018 21:31:49 +0300 Subject: [PATCH 6/7] Fix webOS detection fixes #186 --- src/bowser.js | 2 +- src/useragents.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/bowser.js b/src/bowser.js index 571169d..a06971f 100644 --- a/src/bowser.js +++ b/src/bowser.js @@ -36,7 +36,7 @@ , silk = /silk/i.test(ua) , sailfish = /sailfish/i.test(ua) , tizen = /tizen/i.test(ua) - , webos = /(web|hpw)os/i.test(ua) + , webos = /(web|hpw)(o|0)s/i.test(ua) , windowsphone = /windows phone/i.test(ua) , samsungBrowser = /SamsungBrowser/i.test(ua) , windows = !windowsphone && /windows/i.test(ua) diff --git a/src/useragents.js b/src/useragents.js index edecf9d..85a61eb 100644 --- a/src/useragents.js +++ b/src/useragents.js @@ -1230,6 +1230,14 @@ module.exports.useragents = { , mobile: true , x: true } + , 'Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager': { + osname: 'WebOS' + , blink: true + , webos: true + , mobile: true + , version: '' + , x: true + } } , Android: { 'Mozilla/5.0 (Linux; U; Android 4.4.2; de-de; Nexus 7 Build/KOT49H) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16': { From 87aff8ba75fa88afe91c2624957d3094c1d0d458 Mon Sep 17 00:00:00 2001 From: Denis Demchenko Date: Thu, 28 Jun 2018 21:32:22 +0300 Subject: [PATCH 7/7] Bump versions, write changelog --- CHANGELOG.md | 6 ++++++ bower.json | 2 +- package.json | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fbbe64..15802e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Bowser Changelog +### 1.9.4 (June 28, 2018) +- [FIX] Fix NAVER Whale browser detection (#220) +- [FIX] Fix MZ Browser browser detection (#219) +- [FIX] Fix Firefox Focus browser detection (#191) +- [FIX] Fix webOS browser detection (#186) + ### 1.9.3 (March 12, 2018) - [FIX] Fix `typings.d.ts` — add `ipad`, `iphone`, `ipod` flags to the interface diff --git a/bower.json b/bower.json index fb81bbb..9c42b30 100644 --- a/bower.json +++ b/bower.json @@ -11,7 +11,7 @@ "ender", "sniff" ], - "version": "1.9.3", + "version": "1.9.4", "homepage": "https://github.com/lancedikson/bowser", "scripts": [ "src/bowser.js" diff --git a/package.json b/package.json index ba8e884..6f458cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bowser", - "version": "1.9.3", + "version": "1.9.4", "description": "Lightweight browser detector", "keywords": [ "browser",