From cd0bbdb44b9c3144b5c9cb25940c37972e630bf2 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 14 Mar 2024 09:37:38 +0100 Subject: [PATCH 1/2] Improves version detection for Clecko engine (#7625) --- Parser/Client/Browser/Engine/Version.php | 4 ++-- Tests/Parser/Client/fixtures/browser.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Parser/Client/Browser/Engine/Version.php b/Parser/Client/Browser/Engine/Version.php index f7f3749625..8d42e9d4e6 100644 --- a/Parser/Client/Browser/Engine/Version.php +++ b/Parser/Client/Browser/Engine/Version.php @@ -48,8 +48,8 @@ public function parse(): ?array return null; } - if ('Gecko' === $this->engine) { - $pattern = '~[ ](?:rv[: ]([0-9\.]+)).*gecko/[0-9]{8,10}~i'; + if ('Gecko' === $this->engine || 'Clecko' === $this->engine) { + $pattern = '~[ ](?:rv[: ]([0-9\.]+)).*(?:g|cl)ecko/[0-9]{8,10}~i'; if (\preg_match($pattern, $this->userAgent, $matches)) { return ['version' => \array_pop($matches)]; diff --git a/Tests/Parser/Client/fixtures/browser.yml b/Tests/Parser/Client/fixtures/browser.yml index 75aeef35cd..a439a6b670 100644 --- a/Tests/Parser/Client/fixtures/browser.yml +++ b/Tests/Parser/Client/fixtures/browser.yml @@ -9003,7 +9003,7 @@ name: Classilla version: engine: Clecko - engine_version: + engine_version: 9.3.0 family: Firefox - user_agent: w3m/0.52 From 19e80a7ac3078a5deb10b71c87fb88490b2531d6 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Mon, 18 Mar 2024 09:31:34 +0100 Subject: [PATCH 2/2] Improves detection for Lineage OS (#7628) --- Parser/OperatingSystem.php | 7 +++++++ Tests/Parser/fixtures/oss.yml | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/Parser/OperatingSystem.php b/Parser/OperatingSystem.php index c80e442d17..b38c643608 100644 --- a/Parser/OperatingSystem.php +++ b/Parser/OperatingSystem.php @@ -383,6 +383,13 @@ public function parse(): ?array $short = 'ADR'; $version = ''; } + + if ('org.lineageos.jelly' === $this->clientHints->getApp() && 'Lineage OS' !== $name) { + $name = 'Lineage OS'; + $family = 'Android'; + $short = 'LEN'; + $version = ''; + } } $return = [ diff --git a/Tests/Parser/fixtures/oss.yml b/Tests/Parser/fixtures/oss.yml index 15e6ce7cbb..52248d9d57 100644 --- a/Tests/Parser/fixtures/oss.yml +++ b/Tests/Parser/fixtures/oss.yml @@ -4417,3 +4417,13 @@ version: "22.04" platform: x64 family: GNU/Linux +- + user_agent: Mozilla/5.0 (Linux; Android 10; Mi Max Prime Build/QP1A.191005.007) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Mobile Safari/537.36 + os: + name: Lineage OS + short_name: LEN + version: + platform: + family: Android + headers: + http-x-requested-with: org.lineageos.jelly