mozilla / mozilla/fxa

Skip showing OS version in device list if the value is a frozen token

Open
#21,045 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
685
Forks
237
Avg merge
2d 17h
Merged PRs (30d)
136

Description

Description

"Connected Services" device list contains some user agent data that's no longer updated by the browsers/OSes, resulting in confusing device list to users unaware of that gotcha.

Steps to reproduce

Sign in using W11, macOS 11+, iPad in "dektop mode" or iOS 26+

Expected result

Correct device OS is shown, or, when in doubt, no specific OS version listed.

Actual result

User–agent HTTP header–based identification is shown, confusing users — as these OS/platform values have been frozen in browsers for a long time, so users randomly report "Firefox not recognizing I've updated to W11, how do I install the correct version instead of this W10" or "somebody with iOS 18.7 has access to my account please help" kind of woes just based on the UAstring parsing cap limitations.

Environment

macOS 12+15, iPadOS 18+26; + reporters regularly W11 getting confused by W10 devices listed.

macOS Win
This is my macOS 12, and the iOS "Safari" entries are actually FxA SSO into native apps (think VPN) using the in–app webview flow. This user is on Windows 11, not Windows 10; however both browsers cap Win NT version in UA.

┆Issue is synchronized with this Jira Task

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Connected Services device-list entry point and the user-agent HTTP header parsing used to derive OS versions. Trace how frozen values for Windows, macOS, iPadOS and iOS are displayed, then add or update tests so unreliable specific versions are omitted while reliable OS information remains visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.