Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Apple device mappings #68258

Open
kahest opened this issue Apr 4, 2024 · 8 comments
Open

Update Apple device mappings #68258

kahest opened this issue Apr 4, 2024 · 8 comments

Comments

@kahest
Copy link
Member

kahest commented Apr 4, 2024

We use (at least two) different sources to map Apple device models (e.g. iPhone15,3) to device model names (e.g. iPhone 14 Pro Max) and to resolve device classes (low/med/high) per model:

  • core ios-device-list.tsx
    • this is used to map device models (e.g. iPhone15,3) to device model names (e.g. iPhone 14 Pro Max) for the frontend
    • until ~2022 this was automatically updated by a script which in turn uses a node module as data source
    • this node module is not maintained anymore, so we need to
      • perform updates manually or find another data source (though I didn't find a suitable one in a quick search) or
      • fork/contribute to the node module
  • profiling device.py - deprecated and replaced, see below
    • this is updated manually
    • this includes both device name mapping and heuristics do determine device class based on hardware specs
  • profiling ios_models.py
  • relay device_class.rs
    • this is now used to map device models (e.g. iPhone15,3) to device classes directly, so doesn't rely on device name mapping

Docs:

  • this page details how Mobile devices are mapped to device classes, so it needs to be updated along with any device class mapping changes

Related:

@kahest
Copy link
Member Author

kahest commented Apr 12, 2024

@scttcper since you tackled this last time in #47453, do you know which Component/Product Area/Team to ping?

@getsantry
Copy link
Contributor

getsantry bot commented Apr 12, 2024

Routing to @getsentry/product-owners-issues for triage ⏲️

@kahest
Copy link
Member Author

kahest commented Apr 12, 2024

related: #68608

MichaelSun48 added a commit that referenced this issue Apr 12, 2024
…ne internal id maps (#68762)

Fixes #68608 and #68258

Adds the following devices to both the backend and frontend apple
internal device code maps:
* iPhone 15 lineup
* iPad Air 5th gen
* iPad Pro 4th & 6th gen (both sizes)
* iPad 10th gen  

(I used [this repo](https://gist.github.com/adamawolf/3048717) for the
device code references)

---------

Co-authored-by: Andrew McKnight <[email protected]>
@armcknight
Copy link
Member

I think we're going to completely remove the profiling file coming up soon https://github.com/getsentry/sentry/blob/e1457f25ce062f8144e2920eac834f54fc48e960/src/sentry/profiles/device.py cc @phacops

@armcknight
Copy link
Member

armcknight commented Apr 12, 2024

A couple other thoughts:

  • This is an opportunity to lead the community by publishing and maintaining our own list, instead of always searching for new ones when the current one stops being maintained. We certainly can become aware quickly when we receive an identifier we don't already have a mapping for!
  • We should consider also adding Mac model identifier mappings to the list

@kahest
Copy link
Member Author

kahest commented Dec 11, 2024

latest device model mapping update #68762 (April 2024)

@philipphofmann philipphofmann moved this from Needs Discussion to In Progress in Mobile & Cross Platform SDK Dec 11, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in Mobile & Cross Platform SDK Dec 11, 2024
@kahest
Copy link
Member Author

kahest commented Dec 11, 2024

@scttcper I'll reopen since we need to do this every year after Apple's hardware refreshes

@armcknight
Copy link
Member

I think a good long term goal would be to maintain our own JSON file that can be read by the frontend and backend as needed, so we don't need to maintain two parallel implementations. I took a look at the NPM dependency because I thought we should just fork it, but there's a lot of stuff in there we don't need. We should jettison it.

@kahest kahest moved this from In Progress to Needs Discussion in Mobile & Cross Platform SDK Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Status: Needs Discussion
Development

No branches or pull requests

3 participants