mdn / mdn/browser-compat-data

Expose mirroring to BCD consumers

Open
#27,363 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement meeting agenda schema
Dominant language
JSON
Stars
5.8k
Forks
2.6k
Avg merge
1d 21h
Merged PRs (30d)
186

Description

Presently, BCD consumers cannot distinguish duplicated support statements and notes. BCD should reveal when support statements are generated, rather than authored.

Background

Mirroring copies support statements between browsers sharing an engine. It copies the statement, modifies version numbers, and applies string replacements to notes make those notes make sense across the mirrored relationship (e.g., rewriting "Chrome" to "Edge" for Chrome → Edge mirrored statements).

This originated from my audit of BCD notes. For further reading, see the Mirroring’s impact and Expose mirroring sections of my audit.

Problem

Because of mirroring, some analysis of BCD's published notes and partial implementation data is not practical. Desirable de-duplication (such as footnote-style notes on caniuse or writing notes into web-features dist files) is likewise not possible.

The mirroring script ensures that support statements sourced from the same underlying data bear no markers of being the "same" information. Simple attempts to "reverse" mirroring (e.g., measuring edit distance between notes) is incomplete, at best.

Recommendation

We should add a field to support statements that's added a generation time, indicating the origin of the statement.

For example, we could append a mirrored_from field into mirrored support statements:

{
  "version_added": "79",
  "mirrored_from": "css.properties.all.__compat.support.chrome"
}

Related issues

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 with the BCD mirroring script and the related issue #25148. Determine how generated support statements are represented and where an origin marker can be added. Done means mirrored statements expose their source, such as through a mirrored_from field, without obscuring authored statements.

Written by the indexing model from the issue text.

Assessment

Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.