faisalman / ua-parser-js

"Unmask Your Traffic" - UAParser.js: The Essential Web Development Tool for User-Agent Detection
https://uaparser.dev/
GNU Affero General Public License v3.0
9.28k stars 1.2k forks source link

Device Type is undefined on Mac Desktop #653

Closed tgowing closed 5 months ago

tgowing commented 1 year ago

Describe the bug I am using a Mac computer and the device type is undefined. This is the object that ua-parser is producing.

{
    "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
    "browser": {
        "name": "Chrome",
        "version": "113.0.0.0",
        "major": "113"
    },
    "engine": {
        "name": "Blink",
        "version": "113.0.0.0"
    },
    "os": {
        "name": "Mac OS",
        "version": "10.15.7"
    },
    "device": {
        "vendor": "Apple",
        "model": "Macintosh",
        **"type":  "undefined"**
    },
    "cpu": {}
}

To Reproduce Steps to reproduce the behavior:

var uap = new UAParser();
console.log(uap.getResult());
enkot commented 1 year ago

I can confirm that the device type is undefined for this Mac user agent:

import UAParser from "ua-parser-js"

const parser = new UAParser('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36')

console.log(parser.getDevice())

Result:

{ vendor: 'Apple', model: 'Macintosh', type: undefined }
marmotz commented 1 year ago

Not same OS, but there is a similar problem with my UA:

import UAParser from "ua-parser-js"

const parser = new UAParser('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36')

console.log(parser.getDevice())

Result:

{ vendor: undefined, model: undefined, type: undefined }
majid4466 commented 1 year ago

Same here.

With UAParser.js v2.0.0-alpha.3, this UA: "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0" gives undefined for type, model and vendor:

Object { type: undefined, model: undefined, vendor: undefined }

kblestarge commented 8 months ago

This is happening for me on both version 1.0.37 and 2.0.0-beta.2. Can someone fix this?

muametgrooby commented 8 months ago

This is not a bug, there's no such thing as desktop type, read more about it here: https://github.com/faisalman/ua-parser-js/issues/182

faisalman commented 5 months ago

This is not a bug, there's no such thing as desktop type, read more about it here: #182

undefined device type for desktop is an intended behavior^1