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

Allow non-spec links to be provided for non-standard features #2433

Open
captainbrosset opened this issue Dec 12, 2024 · 2 comments
Open

Allow non-spec links to be provided for non-standard features #2433

captainbrosset opened this issue Dec 12, 2024 · 2 comments

Comments

@captainbrosset
Copy link
Contributor

As we head into a new phase of the project where we focus more on bleeding-edge features, we'll very frequently run into a case where features only have early explainers, and no specs.

Currently, the way to deal with this is to create an exception and document when we ought to remove the exception, in this file:

const defaultAllowlist: allowlistItem[] = [
// [
// "https://example.com/spec/",
// "Allowed because…. Remove this exception when https://example.com/org/repo/pull/1234 merges."
// ]

This doesn't seem very scalable as we start thinking more about an ideal workflow for early features that are not yet standardized, and don't have specs.

@jamesnw
Copy link
Collaborator

jamesnw commented Dec 12, 2024

The spec link is just part of a larger question around bleeding-edge features.

My thought is that we should handle this similar to discouraged, and add something like this-

future:
  documentation: [link to explainer, whatever is relevant]

Features with a future could have looser restrictions, including not validating the spec key.

The ideal flow would be a feature would get assigned an ID so that it could be referred to from the <baseline-status> widget and elsewhere, and then once there are BCD keys available, we would add those. When any of those BCD keys are released in a browser without a flag, we could remove the future key.

We would still need to account for cases where features are renamed before implementation, and would want to communicate that the future web-feature ids are less stable.

Some other features/requests for things that aren't ready to be a feature yet (or weren't a feature when opened)-

#1778 is also related towards solving this and #1896 has a different angle.

@captainbrosset
Copy link
Contributor Author

The WebDX CG discussed about this issue today, see minutes here.

Some key points from that disucssion:

  • We'll need housekeeping tooling to alert us of when an early feature either doesn't go anywhere (and needs to be removed), or graduates to a standard feature with a spec (which would require us to update the feature with the new spec URL).
  • Early features are likely to be renamed, we'd need to be able to do this without necessarily breaking IDs or publishing a new major version.
  • browser-specs has the same problem. Relying on browser-specs to alert us of changes seems good, although it moves the problem, doesn't solve it.
  • Feature names and designs tend to change more than we think. So this is definitely a problem we need a solution for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants