Skip to content

Firefox iOS with patch version is not parsed correctly #638

@brettdh

Description

@brettdh

A useragent with FxiOS/1.2.3 will not be parsed correctly; patch will be .3 and patch_minor will be 3.

The reason is that the regex for FxiOS uses capturing groups that include the . for both patch and patch-minor.

Example with Python:

.venv ❯ pip install 'ua-parser[regex]'
Collecting ua-parser[regex]
  Downloading ua_parser-1.0.1-py3-none-any.whl.metadata (5.6 kB)
Collecting ua-parser-builtins (from ua-parser[regex])
  Downloading ua_parser_builtins-0.18.0.post1-py3-none-any.whl.metadata (1.4 kB)
Collecting ua-parser-rs (from ua-parser[regex])
  Downloading ua_parser_rs-0.1.3-cp39-abi3-macosx_11_0_arm64.whl.metadata (1.5 kB)
Downloading ua_parser-1.0.1-py3-none-any.whl (31 kB)
Downloading ua_parser_builtins-0.18.0.post1-py3-none-any.whl (86 kB)
Downloading ua_parser_rs-0.1.3-cp39-abi3-macosx_11_0_arm64.whl (964 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 964.6/964.6 kB 20.5 MB/s eta 0:00:00
Installing collected packages: ua-parser-rs, ua-parser-builtins, ua-parser
Successfully installed ua-parser-1.0.1 ua-parser-builtins-0.18.0.post1 ua-parser-rs-0.1.3

.venv ❯ python
Python 3.12.7 (main, Nov  6 2024, 10:55:38) [Clang 16.0.0 (clang-1600.0.26.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> ua = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_7_11 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/142.0.1  Mobile/15E148 Safari/605.1.15"
>>> from ua_parser import parse
>>> result = parse(ua)
>>> result.user_agent.patch
'.1'
>>> result.user_agent.patch_minor
'1'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions