From 3434bfd813256ca078b8275871990c8eba9eaf74 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 05:08:52 +0100 Subject: [PATCH 01/18] Adds detection for Apple Mac Mini (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 4dcb98c77f..4361db9bd3 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9193,3 +9193,19 @@ model: TravelMate B118-M os_family: Android browser_family: Chrome +- + user_agent: Microsoft Office Word/16.70.212 (Mac OS/13.2.1; Desktop; de-DE; AppStore; Apple/Mac14,3) + os: + name: Mac + version: 13.2.1 + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.70.212 + device: + type: desktop + brand: Apple + model: Mac mini (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 9e7a13cc1a..33336e9c04 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1284,6 +1284,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini9(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2020)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)3' + device: 'desktop' + model: 'Mac mini (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerMac7(?:%2C|,)2' device: 'desktop' model: 'Power Macintosh G5 (2003)' From c10f0f48013e3bbfdf5da2c5d413d07798d7f23d Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 05:10:53 +0100 Subject: [PATCH 02/18] Adds detection for Apple MacBook Pro 14" (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 4361db9bd3..6d0b0c41b7 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9209,3 +9209,19 @@ model: Mac mini (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,9) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 14" (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 33336e9c04..b0a4c058ed 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1257,6 +1257,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[34]' device: 'desktop' model: 'MacBook Pro 14" (2021)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)9' + device: 'desktop' + model: 'MacBook Pro 14" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini1(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2006)' From 674607ae61712b4e6f59e764b39364dfb887b3db Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 05:15:19 +0100 Subject: [PATCH 03/18] Adds detection for Apple MacBook Air 13" (2022) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 6d0b0c41b7..04d582f055 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9225,3 +9225,19 @@ model: MacBook Pro 14" (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,2) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Air 13" (2022) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index b0a4c058ed..8e5055997b 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1149,6 +1149,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookAir10(?:%2C|,)1' device: 'desktop' model: 'MacBook Air 13" (2020)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)2' + device: 'desktop' + model: 'MacBook Air 13" (2022)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro1(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 15" (2006)' From 78a1c64d1f021dbd0590dc30f4a8c91349d1c8d9 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 05:21:06 +0100 Subject: [PATCH 04/18] Adds detection for Apple Mac Studio (2022) --- Tests/fixtures/desktop.yml | 32 ++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 35 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 04d582f055..c21f8a0efd 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9241,3 +9241,35 @@ model: MacBook Air 13" (2022) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac13,1) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: Mac Studio (2022) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac13,2) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: Mac Studio (2022) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 8e5055997b..3fe065c2f1 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1314,6 +1314,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?PowerBook6(?:%2C|,)7' device: 'desktop' model: 'iBook G4 (2005)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac13(?:%2C|,)[12]' + device: 'desktop' + model: 'Mac Studio (2022)' # specific smartphone devices - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?1[C,_]1' From ba8136d4f124586d8e0e67bd63d549b134df603a Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 05:37:44 +0100 Subject: [PATCH 05/18] Adds detection for Apple Mac Studio (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index c21f8a0efd..6cb1c2cf93 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9273,3 +9273,19 @@ model: Mac Studio (2022) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,14) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: Mac Studio (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 3fe065c2f1..e669e7173d 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1317,6 +1317,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?Mac13(?:%2C|,)[12]' device: 'desktop' model: 'Mac Studio (2022)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)14' + device: 'desktop' + model: 'Mac Studio (2023)' # specific smartphone devices - regex: '(?:MDCR_|ICRU_|Apple-)?iPh(?:one)?1[C,_]1' From ceb420e41ce58a50669165fcc094fb2d6d9c885f Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 05:50:45 +0100 Subject: [PATCH 06/18] Adds detection for Apple MacBook Pro 13" (2022) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 6cb1c2cf93..4adf3c1a92 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9289,3 +9289,19 @@ model: Mac Studio (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.68.1211 (Mac OS/14.0; Desktop; en-US; AppStore; Apple/Mac14,7) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.68.1211 + device: + type: desktop + brand: Apple + model: MacBook Pro 13" (2022) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index e669e7173d..0ffbb6052f 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1254,6 +1254,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro17(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 13" (2020)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)7' + device: 'desktop' + model: 'MacBook Pro 13" (2022)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[12]' device: 'desktop' model: 'MacBook Pro 16" (2021)' From 2837cc2f0b3b0ca06b8458ad9ac7dcc5f3b05c0a Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 05:59:53 +0100 Subject: [PATCH 07/18] Improves detection for Spotify ref https://github.com/simplecastapps/rust-device-detector/commit/c7f704355e82f64075d59bd2b154e960aa5203f5 --- Tests/Parser/Client/fixtures/mobile_app.yml | 6 ++++++ regexes/client/mobile_apps.yml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Tests/Parser/Client/fixtures/mobile_app.yml b/Tests/Parser/Client/fixtures/mobile_app.yml index e026cdaf61..6dd32c1aeb 100644 --- a/Tests/Parser/Client/fixtures/mobile_app.yml +++ b/Tests/Parser/Client/fixtures/mobile_app.yml @@ -1559,3 +1559,9 @@ type: mobile app name: WeRead version: 4.1.3 +- + user_agent: Spotify/120800923 OSX/0 (MacBookPro6,2) + client: + type: mobile app + name: Spotify + version: "120800923" diff --git a/regexes/client/mobile_apps.yml b/regexes/client/mobile_apps.yml index fb83f2b2ba..1f03eab4dc 100644 --- a/regexes/client/mobile_apps.yml +++ b/regexes/client/mobile_apps.yml @@ -1374,7 +1374,7 @@ version: '$1' # Spotify (https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580) -- regex: '(?:Spotify(?:-Lite)?/(\d+\.[.\d]+)|^spotify_)' +- regex: '(?:Spotify(?:-Lite)?/(\d+\.[.\d]+|12\d+)|^spotify_)' name: 'Spotify' version: '$1' From 4cbd8321ee79ba484f12acb6e572a32730356ca8 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:01:15 +0100 Subject: [PATCH 08/18] Improves detection for Apple devices --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 4adf3c1a92..e77bf25b95 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9305,3 +9305,19 @@ model: MacBook Pro 13" (2022) os_family: Mac browser_family: Unknown +- + user_agent: Spotify/120800923 OSX/0 (MacBookPro6,2) + os: + name: Mac + version: "" + platform: "" + client: + type: mobile app + name: Spotify + version: "120800923" + device: + type: desktop + brand: Apple + model: MacBook Pro 15" (2010) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 0ffbb6052f..d3b98730c4 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -903,7 +903,7 @@ TiVo: # Apple Apple: - regex: '(?:iTunes-)?Apple[ _]?TV|Apple/|(?:Apple-|iTunes-)?(? Date: Sun, 3 Dec 2023 06:08:57 +0100 Subject: [PATCH 09/18] Improves detection for Apple MacBook Pro 14" (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index e77bf25b95..5078a844cc 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9321,3 +9321,19 @@ model: MacBook Pro 15" (2010) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,5) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 14" (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index d3b98730c4..69a2e938fe 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1263,7 +1263,7 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[34]' device: 'desktop' model: 'MacBook Pro 14" (2021)' - - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)9' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)[59]' device: 'desktop' model: 'MacBook Pro 14" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini1(?:%2C|,)1' From b77f404c688a8b77f8730fc51f2f8b9ad0142732 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:13:23 +0100 Subject: [PATCH 10/18] Adds detection for Apple MacBook Pro 16" (2023) --- Tests/fixtures/desktop.yml | 32 ++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 35 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 5078a844cc..cf4e17d2d2 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9337,3 +9337,35 @@ model: MacBook Pro 14" (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,6) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 16" (2023) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,10) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 16" (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 69a2e938fe..db181e5e00 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1260,6 +1260,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[12]' device: 'desktop' model: 'MacBook Pro 16" (2021)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)(?:6|10)' + device: 'desktop' + model: 'MacBook Pro 16" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[34]' device: 'desktop' model: 'MacBook Pro 14" (2021)' From 4d7c50807382c30e1e6006a8dc92b715789f0a1c Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:29:43 +0100 Subject: [PATCH 11/18] Improves detection for Apple Mac mini (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index cf4e17d2d2..2d5f8f1cd9 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9369,3 +9369,19 @@ model: MacBook Pro 16" (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.70.212 (Mac OS/13.2.1; Desktop; en-US; AppStore; Apple/Mac14,12) + os: + name: Mac + version: 13.2.1 + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.70.212 + device: + type: desktop + brand: Apple + model: Mac mini (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index db181e5e00..b8b595735a 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1296,7 +1296,7 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini9(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2020)' - - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)3' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)(?:3|12)' device: 'desktop' model: 'Mac mini (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?PowerMac7(?:%2C|,)2' From f184a3bd80551185eaa4d14e2b37e3cba25b59ff Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:33:27 +0100 Subject: [PATCH 12/18] Adds detection for Apple MacBook Air 15" (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 2d5f8f1cd9..dd45bb75f5 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9385,3 +9385,19 @@ model: Mac mini (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,15) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Air 15" (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index b8b595735a..da445d8ab3 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1152,6 +1152,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)2' device: 'desktop' model: 'MacBook Air 13" (2022)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)15' + device: 'desktop' + model: 'MacBook Air 15" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro1(?:%2C|,)1' device: 'desktop' model: 'MacBook Pro 15" (2006)' From 10bf2cb4604ab39a750c15413a243996e8cc7b3a Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:35:25 +0100 Subject: [PATCH 13/18] Improves detection for Apple Mac Studio (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index dd45bb75f5..61d15e5eb4 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9401,3 +9401,19 @@ model: MacBook Air 15" (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,13) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: Mac Studio (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index da445d8ab3..aa2e726543 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1326,7 +1326,7 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?Mac13(?:%2C|,)[12]' device: 'desktop' model: 'Mac Studio (2022)' - - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)14' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)1[34]' device: 'desktop' model: 'Mac Studio (2023)' From 2a2f4a902822ddc90d50080e94fa554547daf18b Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:46:33 +0100 Subject: [PATCH 14/18] Improves detection for desktop devices This is a test user-agent. --- DeviceDetector.php | 4 ++-- Tests/fixtures/unknown.yml | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/DeviceDetector.php b/DeviceDetector.php index c7bf0de376..f037c3fc9f 100644 --- a/DeviceDetector.php +++ b/DeviceDetector.php @@ -794,13 +794,13 @@ protected function hasAndroidMobileFragment(): bool } /** - * Returns if the parsed UA contains the 'Desktop x64;' or 'Desktop x32;' or 'Desktop WOW64' fragment + * Returns if the parsed UA contains the 'Desktop;', 'Desktop x32;', 'Desktop x64;' or 'Desktop WOW64;' fragment * * @return bool */ protected function hasDesktopFragment(): bool { - $regex = 'Desktop (x(?:32|64)|WOW64);'; + $regex = 'Desktop(?: (x(?:32|64)|WOW64))?;'; return !!$this->matchUserAgent($regex); } diff --git a/Tests/fixtures/unknown.yml b/Tests/fixtures/unknown.yml index ecb52309ec..2420c522ec 100644 --- a/Tests/fixtures/unknown.yml +++ b/Tests/fixtures/unknown.yml @@ -3305,3 +3305,16 @@ browser_family: Chrome headers: http-x-requested-with: every.browser.inc +- + user_agent: Microsoft Office Word/16.78.1008 (Desktop; Desktop app; Unknown/Unknown) + os: [ ] + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: "" + model: "" + os_family: Unknown + browser_family: Unknown From 216b8316fb122c0b8fc6189ee9862b201303c263 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:51:31 +0100 Subject: [PATCH 15/18] Adds detection for Apple Mac Pro (2023) --- Tests/fixtures/desktop.yml | 16 ++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 61d15e5eb4..69698a682b 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9417,3 +9417,19 @@ model: Mac Studio (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac14,8) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: Mac Pro (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index aa2e726543..996af177c0 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -999,6 +999,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?MacPro5(?:%2C|,)1' device: 'desktop' model: 'Mac Pro (2010-2012)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)8' + device: 'desktop' + model: 'Mac Pro (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMac5(?:%2C|,)1' device: 'desktop' model: 'iMac (2006)' From 4c5c278d6a2555632320cb642d9c7bd527373490 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 06:54:40 +0100 Subject: [PATCH 16/18] Adds detection for Apple iMac 24" (2023) --- Tests/fixtures/desktop.yml | 32 ++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 35 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 69698a682b..8282229f05 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9433,3 +9433,35 @@ model: Mac Pro (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,4) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: iMac 24" (2023) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,5) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: iMac 24" (2023) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 996af177c0..d6ab983cfb 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1074,6 +1074,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?iMac21(?:%2C|,)[12]' device: 'desktop' model: 'iMac 24" (2021)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac15(?:%2C|,)[45]' + device: 'desktop' + model: 'iMac 24" (2023)' - regex: '(?:MDCR_|ICRU_|Apple-)?iMacPro1(?:%2C|,)1' device: 'desktop' model: 'iMac Pro 27" (2017)' From 20e8f8875a110db9cd73df0be925334c6a9309ea Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 07:09:56 +0100 Subject: [PATCH 17/18] Adds detection for Apple MacBook Pro 16" (2023-2024) --- Tests/fixtures/desktop.yml | 48 ++++++++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 51 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 8282229f05..36dad65869 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9465,3 +9465,51 @@ model: iMac 24" (2023) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,7) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 16" (2023-2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,9) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 16" (2023-2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,11) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 16" (2023-2024) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index d6ab983cfb..d3ae681afe 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1272,6 +1272,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)(?:6|10)' device: 'desktop' model: 'MacBook Pro 16" (2023)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac15(?:%2C|,)(?:[79]|11)' + device: 'desktop' + model: 'MacBook Pro 16" (2023-2024)' - regex: '(?:MDCR_|ICRU_|Apple-)?MacBookPro18(?:%2C|,)[34]' device: 'desktop' model: 'MacBook Pro 14" (2021)' From 600b8fbcd2fc7039913157a685d1e62b1ab537d2 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 3 Dec 2023 07:12:42 +0100 Subject: [PATCH 18/18] Adds detection for Apple MacBook Pro 14" (2023-2024) --- Tests/fixtures/desktop.yml | 64 ++++++++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 3 ++ 2 files changed, 67 insertions(+) diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 36dad65869..1d9a17da6e 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -9513,3 +9513,67 @@ model: MacBook Pro 16" (2023-2024) os_family: Mac browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,3) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 14" (2023-2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,6) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 14" (2023-2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,8) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 14" (2023-2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Word/16.78.1008 (Mac OS/14.0; Desktop; en-US; NonAppStore; Apple/Mac15,10) + os: + name: Mac + version: "14.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Word + version: 16.78.1008 + device: + type: desktop + brand: Apple + model: MacBook Pro 14" (2023-2024) + os_family: Mac + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index d3ae681afe..1a58577cf0 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1281,6 +1281,9 @@ Apple: - regex: '(?:MDCR_|ICRU_|Apple-)?Mac14(?:%2C|,)[59]' device: 'desktop' model: 'MacBook Pro 14" (2023)' + - regex: '(?:MDCR_|ICRU_|Apple-)?Mac15(?:%2C|,)(?:[368]|10)' + device: 'desktop' + model: 'MacBook Pro 14" (2023-2024)' - regex: '(?:MDCR_|ICRU_|Apple-)?Macmini1(?:%2C|,)1' device: 'desktop' model: 'Mac Mini (2006)'