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

Add holding features for unspecified platform features #2566

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

ddbeck
Copy link
Collaborator

@ddbeck ddbeck commented Jan 22, 2025

This PR contains features that hold compat keys for unspecified platform features. See #1497 (comment) for candidate keys. These are features of last resort for keys that cannot be assigned to a "real" feature (discouraged or otherwise), for lack of a specification.

If you have privileges on this repo, then you're welcome to push additional commits to add keys as you review them. But before you do so, please take a few minutes to confirm that:

  • The key lacks a spec_url value in BCD.

  • The key has standard_track value set to false in BCD.

  • The feature was not formerly part of a spec or explicitly excluded from a specification (i.e., the specification process intentionally favored a standardized alternative). Such keys might be candidate for actual features (Add feature for discouraged import assertions #2565 for an example).

    Good places to find this information include:

    • The BCD key's Git blame view and BCD repo PRs
    • GitHub repos and orgs, such as w3c/csswg-drafts, WHATWG, and TC39.
    • Browser bug trackers (best for keys with single-implementations)

@github-actions github-actions bot added the feature definition Creating or defining new features or groups of features. label Jan 22, 2025
@ddbeck ddbeck changed the title Add holding features unspecified platform features Add holding features for unspecified platform features Jan 28, 2025
Copy link
Collaborator

@foolip foolip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we put this in drafts instead, and update our scripts to count keys in drafts as handled? (But excluding auto-updated spec drafts, I think.)

spec: link to our own documentation explaining ourselves in more detail
discouraged:
according_to:
- TODO link to our own documentation explaining ourselves in more detail
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't land without this, right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. I've added one with 83a6333.

@ddbeck
Copy link
Collaborator Author

ddbeck commented Feb 11, 2025

For completeness, I should note that it would be nice to link to https://w3c.github.io/unspecified-web/ but it's pretty unmaintained and covers very little. Maybe creating these features could spur the revival of that "spec."

@github-actions github-actions bot added documentation Improvements or additions to documentation tools and infrastructure Project internal tooling, such as linters, GitHub Actions, or repo settings labels Feb 11, 2025
@ddbeck
Copy link
Collaborator Author

ddbeck commented Feb 11, 2025

@foolip

Can we put this in drafts instead, and update our scripts to count keys in drafts as handled? (But excluding auto-updated spec drafts, I think.)

We could, though that would require dealing with the existing drafts first (#2632 and #2633).

But this is now in a mergeable state (at least, the tests pass), so it might be easier to review the docs and merge without the drafts detour.

@foolip
Copy link
Collaborator

foolip commented Feb 11, 2025

I hesitate to approve because unless we do something special, these features will show up on webstatus.dev and perhaps also caniuse.com, but they're not useful to users of those sites, I think.

@jcscottiii WDYT, do you think it's worth extra effort to avoid showing these features?

@ddbeck
Copy link
Collaborator Author

ddbeck commented Feb 11, 2025

FWIW, webstatus.dev shows other discouraged features (e.g., https://webstatus.dev/features/import-assertions), which is also less than ideal (at least, for it to show up in a default search). If the discouraged data isn't good enough for consumers to deal with that, then I would favor parking these in drafts.

@captainbrosset
Copy link
Contributor

webstatus.dev should either hide the discouraged features, or highlight them as discouraged. The explorer does this:
image
See https://web-platform-dx.github.io/web-features-explorer/features/clip/ or https://web-platform-dx.github.io/web-features-explorer/features/with/
The BCD keys that are left for us to map are almost all deprecated keys, so consumers of the data need to be able to deal with these discouraged features, as we're creating more of them now.

@ddbeck should we use the "breaking changes" discussion for this? It's not a breaking change per say, but important enough that we'd want to alert users via the discussion (and maybe send an email to the list too).

@ddbeck
Copy link
Collaborator Author

ddbeck commented Feb 11, 2025

Yes, we could send out a reminder about it, though I'm not sure who it's affecting right now (webstatus.dev excepted).

There's GoogleChrome/webstatus.dev#1040 for this for webstatus.dev specifically. caniuse doesn't ingest whole (new-to-caniuse) features yet (confirmed this with Alexis yesterday). MDN is already suppressing the Baseline banner on affected pages and Kadir and I working with them to get an Explorer-like banner.

@captainbrosset
Copy link
Contributor

Yes, we could send out a reminder about it, though I'm not sure who it's affecting right now (webstatus.dev excepted).

There might be more consumers of the data which we are unaware of. I tend to think this is the perfect occasion to start using this new discussion thread.

@jcscottiii
Copy link

For webstatus.dev, our plan is to implement a banner for discouraged features, mirroring the approach used in the explorer. However, I'm concerned that this PR groups potentially unrelated compat keys into catch-all buckets. This raises questions about whether the 'discouraged' designation is the most appropriate for these unspecified features. I'd lean towards marking them as 'drafts' instead.

If we proceed with the 'discouraged' enumeration, I suggest adding a new flag within the discouraged section. This flag would allow consumers to differentiate between: 1) features where alternatives exist and should be highlighted (e.g import-assertions), and 2) features that should be effectively ignored (e.g. unspecified-css). This distinction is crucial for accurate and helpful presentation to our users.

- javascript.builtins.InternalError
- javascript.builtins.InternalError.InternalError

# Firefox-only Erorr properties

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Firefox-only Erorr properties
# Firefox-only Error properties

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation feature definition Creating or defining new features or groups of features. tools and infrastructure Project internal tooling, such as linters, GitHub Actions, or repo settings
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants