-
Notifications
You must be signed in to change notification settings - Fork 97
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
Editorial overrides: consider marking non-essential parts of a feature #485
Comments
Is "Incorrect data from BCD" a good candidate for this kind of treatment, though? It seems easy to fix BCD data, and actually good to have an incentive to fix the data early on. The fix to BCD data should also not take long given the proximity of both projects, and flagging features as baseline does not seem to be something that needs to be done urgently.
Yes, I think it would be useful to make explicit what features got excluded and why (although the why is probably going to be "corner case feature" in most cases, and can perhaps be omitted when it is). Data consumers might want to list these features somewhere so that it's clear for developers that they were excluded on purpose. For features that are proposed for removal but not yet removed, there should be an open issue somewhere about that. Linking to it would allow to detect when that is done. We follow a similar rule when we patch data in Webref: we report the problem to the underlying spec and include a link to the created issue/PR in the patch. A job then alerts us in case a patch is no longer needed. |
Generally, I agree that this ability is needed. But I'm worried about this particular case:
Candidly, if a method/attribute/piece is really part of the feature, then its status should really count towards the entire feature, like the other pieces of the feature. Giving the governance group the ability to arbitrarily decide to remove some pieces feels risky. How will the group make the decision? How will the group know that a piece isn't being used much? Maybe it's not used because it's not interoperable in the first place. If we do this, I would suggest considering:
Using data like this, baseline statuses that appear on websites out there would be able to show what, exactly, does a feature contain. Or, more important, what it doesn't contain. Like I would hate for this to become an escape hatch for a browser vendor that doesn't want to implement one little missing thing for whatever reason, when developers out there really need it, but haven't been able to express it loudly. In my ideal world, stuff like this would be easily visible and linked to each browser vendor's bug tracker so that people can ask for it. What do you think? |
Right, still building on our experience with patching data in Webref, a key reason why we try to make sure that there is an issue open against the spec, and that we link to it from the patch, is that there may be different ways to fix the problem, and we don't feel that we should choose one: the group responsible for the spec has the authoritative power. In such cases, we try to err on the conservative side of things while the group resolves the issue, e.g. rolling back the data in Webref to what it was before the problem was introduced. Back to features, if the feature was introduced or changed recently (not what this issue is about, I know), we're dealing with an upcoming feature and the problem seems more a naming/versioning issue. E.g. what Media Source Extensions (MSE) means today vs. what it will mean in a few years from now ("MSE in workers" was introduced more recently. The upcoming If the feature has been around for some time, it signals an issue with the spec. And I think the issue needs to be raised with the working group in charge of the spec and with implementers before it gets dropped from the status calculation. We're already used to doing that, I think (see #462 (comment) for the investigation on For Fetch, I note that there have been renewed discussions last year on
+1 to linking to relevant places. To bug trackers and/or to an issue raised against the spec itself. Side note: we should probably not categorize the features we're considering here as "minor" (for whom? The Fetch discussion linked above shows that some developers consider the feature as crucial) or "little-used" (of course they are, they're not widely available!). We're more dealing with advanced features that can be considered non-essential in the sense that the global feature is already useful and usable without them. |
It occurred to me that one possible way forward would be to create sub-groups within a feature file. For instance, for spec: https://fetch.spec.whatwg.org/
caniuse: fetch
initial_fetch:
status:
baseline: true
support:
chrome: "105"
chrome_android: "105"
edge: "105"
safari: "10.1"
compat_features:
...
later_fetch:
status:
baseline: false
support:
...
compat_features:
... Instead of deliberately hiding pieces of a feature because they're not implemented somewhere, and we really to make a feature be baseline, we could always list every little detail of a feature, but sort them into logical groups.
|
Discussed in last week's WebDX CG baseline meeting. General feeling in the group is that features "excluded" from a feature group should be flagged somehow. There are different ways to do this. One idea raised would be to create specific groups for them right away to:
|
We might want to identify features as part of a group, but not let it contribute to a status calculation. This is issue describes a specific kind of editorial override and how we might want to handle it.
Problem description
Some features are plausibly part of a group, but contribute to misleading statuses.
It's likely that some feature members meet the following criteria:
It's likely that we will want to overlook such features for the purposes of calculating a status, to avoid producing a dubious result (e.g., my initial calculation for
fetch()
reported that it is not Baseline, even though it's a widely-used web platform feature).These are likely candidates for editorial overrides. But it's already a common enough occurrence that we probably ought to have some tool to handle these cases, rather than resorting to the blunt instrument of simply dictating a status. Plus, it would be desirable to not completely untether the feature from the underlying data.
Candidates for this kind of treatment
fetch
—api.Request.body
—fetch
: add feature and set Baseline status #478 — not implemented in Firefoxweb-animations
—api.KeyframeEffect.composite
—web-animations
: revise feature list and set Baseline status #467offscreen-canvas
—api.OffscreenCanvasRenderingContext2D.commit
— Features O-R: set Baseline status #462 — proposed for removal from the spec, but not actually removed:read-only
and:read-write
pseudos — Features O-R: set Baseline status #462 (comment) — faulty Firefox for Android data in BCD (at the time I'm writing this)Potential approaches
Instead, we might consider flagging certain features as being non-contributors to status calculations and perhaps set up tooling around those features, so that those exceptions are re-reviewed when underlying data changes. Some options include:
The text was updated successfully, but these errors were encountered: