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

Implicit default support values #25814

Open
caugner opened this issue Jan 30, 2025 · 0 comments
Open

Implicit default support values #25814

caugner opened this issue Jan 30, 2025 · 0 comments
Labels
enhancement Nice to have features.

Comments

@caugner
Copy link
Contributor

caugner commented Jan 30, 2025

What would you like to see added to BCD?

I'm proposing to introduce implicit default support values for certain browsers:

  1. false (no support) for IE
  2. "mirror" (same as upstream) for the following browsers:
    • chrome_android
    • firefox_android
    • oculus
    • opera
    • opera_android
    • safari_ios
    • samsunginternet_android
    • webview_android
    • webview_ios

Note

  1. This is not a breaking change, because it only impacts the data stored in this repo, not the built and published BCD data.
  2. This list intentionally excludes edge, which has significantly more non-mirrored statements (see below).
  3. If we introduce statement-level annotations, we might still be able to set mirroring explicitly with a provenance:collector tag.

How impactful do you think this enhancement will be?

Overall, I believe that this change improves the authoring and reviewing experience.

As for IE, new web features are not supported for obvious reasons, so this entry just adds noise.

As for the mentioned downstream browsers:

  • Implicit mirroring allows us to focus on the actual notable changes for these downstream browsers, so it reduces the chance of missing unintended "false" values during review, because these would then stand out, triggering the reviewer to look for corresponding evidence in the PR description.
  • Currently, we seem to be adding "mirror" mostly without explicitly verifying this, because it is usually fair to assume that a feature supported in Chrome is also available in Chrome Android, and/or it isn't always straight-forward to verify.
  • Recently, we've had some cases where false seems to have been set accidentally for some downstream browsers (ex 1, ex 2, ex 3, ex 4).

Do you have anything more you want to share?

According to rg ': "mirror"' | wc -l, we have 132,276 instances of mirror in BCD.

As for mirroring, here are mirroring stats as of 2026-01-30 (total 16,831 features):

Browser Count Share
chrome_android 13564 81%
firefox_android 14572 87%
oculus 14938 89%
opera 12646 75%
opera_android 11285 67%
safari_ios 14246 85%
samsunginternet_android 14464 86%
webview_android 12130 72%
webview_ios 14734 88%
edge 9713 58%

(Source: for x in chrome_android edge firefox_android oculus opera_android safari_ios samsunginternet_android webview_android webview_ios; do printf "| $x | "; rg '"'$x'": "mirror"' | wc -l; done)

As for IE, false is currently set for 10,293 features (68%).

(Source: npm run stats --all --count on 4daafe2)

@caugner caugner added the enhancement Nice to have features. label Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Nice to have features.
Projects
None yet
Development

No branches or pull requests

1 participant