kuma icon indicating copy to clipboard operation
kuma copied to clipboard

The legacy BCD table is broken on read-only site

Open peterbe opened this issue 4 years ago • 5 comments

Summary Compare https://wiki.developer.mozilla.org/de/docs/Web/API/Node/setUserData#Browser_Kompabilit%C3%A4t and https://developer.mozilla.org/de/docs/Web/API/Node/setUserData#Browser_Kompabilit%C3%A4t

The "Mobile / Desktop" tables aren't working on the read-only site

Steps To Reproduce (STR) See above

Actual behavior See above

Expected behavior See above

Additional context No idea how important it is. Perhaps @Elchi3 can share some insights.

There might be as many as 7k of these:

mysql> select count(*) from wiki_document where html like '%CompatibilityTable%' and deleted = false;
+----------+
| count(*) |
+----------+
|     6908 |
+----------+
1 row in set (3.47 sec)

no idea how many of those are stuck in Archive or Mozilla.

peterbe avatar Apr 01 '20 01:04 peterbe

Breakdown per locale:

mysql> select locale, count(locale) as c from wiki_document where html like '%CompatibilityTable%' and deleted = false group by locale order by c desc limit 20;
+--------+------+
| locale | c    |
+--------+------+
| zh-CN  | 1362 |
| ru     |  803 |
| es     |  755 |
| pt-BR  |  703 |
| fr     |  540 |
| ja     |  525 |
| ca     |  496 |
| de     |  369 |
| zh-TW  |  272 |
| en-US  |  175 |
| it     |  164 |
| ko     |  150 |
| pl     |  121 |
| id     |   83 |
| pt-PT  |   65 |
| nl     |   65 |
| uk     |   56 |
| tr     |   49 |
| vi     |   35 |
| bn     |   32 |
+--------+------+
20 rows in set (3.66 sec)

peterbe avatar Apr 01 '20 01:04 peterbe

No idea how important it is. Perhaps @Elchi3 can share some insights. There might be as many as 7k of these

Thanks for reaching out, @peterbe. As far as I know, legacy compat tables are only on localized pages which we never prioritized. In 2018, we finished a project that migrated to the new tables for en-US. We used the macro dashboard for that (https://wiki.developer.mozilla.org/en-US/dashboards/macros). It seems to roughly match your findings:

Macro en-US all locales
CompatibilityTable 1 6675

But per your query you have:

| en-US | 175 |

Would you mind listing the pages?

Elchi3 avatar Apr 01 '20 08:04 Elchi3

Turns out, ...they're all pages that won't get ported to Yari :)

mysql> select slug from wiki_document where html like '%CompatibilityTable%' and deleted = false and locale = 'en-US';
+-------------------------------------------------------------------+
| slug                                                              |
+-------------------------------------------------------------------+
| DOM/DOM_event_reference/DOMContentLoaded                          |
| User:FreakCERS/HTML                                               |
| DOM/DeviceOrientationEvent                                        |
| User:FreakCERS/CSS                                                |
| User:FreakCERS/JS                                                 |
| User:FreakCERS                                                    |
| User:Sheppy/CompatTest                                            |
| User:ethertank/Test_2                                             |
| User:teoli/In_content                                             |
| User:groovecoder/HTMLBodyElement                                  |
| Archive/B2G_OS/API/NFC_API/Using_the_NFC_API                      |
| User:Sebastianz/Test                                              |
| User:teoli/Test_ImageData                                         |
| User:SphinxKnight/LongSyntax                                      |
| User:SphinxKnight/margin                                          |
| User:SphinxKnight/XHR_Test                                        |
| User:Jeremie/span                                                 |
| User:Jeremie/a                                                    |
| User:jsx/XMLHttpRequest                                           |
| User:maybe/webidl_mdn/Apps_API                                    |
| User:maybe/webidl_mdn/DOMApplicationsRegistry                     |
| User:maybe/webidl_mdn/DOMApplication                              |
| User:maybe/webidl_mdn/DOMApplicationsManager                      |
| User:maybe/webidl_mdn/XMLHttpRequest_API                          |
| User:maybe/webidl_mdn/CryptoKey                                   |
| User:maybe/webidl_mdn/SubtleCrypto_API                            |
| User:maybe/webidl_mdn/SubtleCrypto                                |
| User:maybe/webidl_mdn/BluetoothAdapter_API                        |
| User:maybe/webidl_mdn/BluetoothAdapter                            |
| User:maybe/webidl_mdn/BrowserElement_API                          |
| User:maybe/webidl_mdn/BrowserElement                              |
| User:maybe/webidl_mdn/BrowserElementCommon                        |
| User:maybe/webidl_mdn/BrowserElementPrivileged                    |
| User:maybe/webidl_mdn/FIDO_API                                    |
| User:maybe/webidl_mdn/Window                                      |
| User:maybe/webidl_mdn/FIDOCredentials                             |
| User:maybe/webidl_mdn/FIDOCredentialInfo                          |
| User:maybe/webidl_mdn/Credential                                  |
| User:wbamberg/Examples_on_top/Array.prototype.push()_-_version_1  |
| User:wbamberg/Examples_on_top/_Array.prototype.push()_-_version_2 |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_1        |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_2        |
| User:wbamberg/Examples_on_top/_border-top-color_-_Version_2       |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_3        |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_4        |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_5        |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_6        |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_7        |
| User:wbamberg/Examples_on_top/_border-top-color_-_Version_7       |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_8        |
| User:wbamberg/Examples_on_top/border-top-color_-_Version_9        |
| User:wbamberg/Examples_on_top/border-top-color:v1                 |
| User:wbamberg/Examples_on_top/border-top-color:v2                 |
| User:wbamberg/Examples_on_top/border-top-color:v3                 |
| User:wbamberg/Examples_on_top/filter:v3                           |
| User:wbamberg/Examples_on_top/filter:v2                           |
| User:wbamberg/Examples_on_top/filter:v1                           |
| User:wbamberg/Examples_on_top/Array.prototype.push():v1           |
| User:wbamberg/Examples_on_top/Array.prototype.push():v2           |
| User:wbamberg/Examples_on_top/Array.prototype.push():v3           |
| User:wbamberg/Examples_on_top/Array.prototype.push():v2.2         |
| User:wbamberg/Examples_on_top/Array.prototype.slice():v1          |
| User:wbamberg/Examples_on_top/Array.prototype.slice():v2          |
| User:wbamberg/Examples_on_top/Array.prototype.slice():v2.1        |
| Experiment:FrameworkTest/Comparison_Operators                     |
| User:wbamberg/Examples_on_top/transform:v2                        |
| User:wbamberg/Examples_on_top/font:v2                             |
| User:wbamberg/Examples_on_top/Array.prototype.indexOf():v2        |
| User:wbamberg/Examples_on_top/Array.prototype.map():v2            |
| User:wbamberg/Examples_on_top/SheppyJSExample1                    |
| User:wbamberg/Examples_on_top/font:v4                             |
| User:wbamberg/random                                              |
| Experiment:StaticExamplesOnTop/JavaScript/Array                   |
| Experiment:StaticExamplesOnTop/JavaScript/Array/length            |
| Experiment:StaticExamplesOnTop/JavaScript/Array/prototype         |
| Experiment:StaticExamplesOnTop/JavaScript/Array/from              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/isArray           |
| Experiment:StaticExamplesOnTop/JavaScript/Array/of                |
| Experiment:StaticExamplesOnTop/JavaScript/Array/concat            |
| Experiment:StaticExamplesOnTop/JavaScript/Array/copyWithin        |
| Experiment:StaticExamplesOnTop/JavaScript/Array/entries           |
| Experiment:StaticExamplesOnTop/JavaScript/Array/every             |
| Experiment:StaticExamplesOnTop/JavaScript/Array/fill              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/filter            |
| Experiment:StaticExamplesOnTop/JavaScript/Array/find              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/findIndex         |
| Experiment:StaticExamplesOnTop/JavaScript/Array/forEach           |
| Experiment:StaticExamplesOnTop/JavaScript/Array/includes          |
| Experiment:StaticExamplesOnTop/JavaScript/Array/indexOf           |
| Experiment:StaticExamplesOnTop/JavaScript/Array/join              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/keys              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/lastIndexOf       |
| Experiment:StaticExamplesOnTop/JavaScript/Array/map               |
| Experiment:StaticExamplesOnTop/JavaScript/Array/pop               |
| Experiment:StaticExamplesOnTop/JavaScript/Array/push              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/reduce            |
| Experiment:StaticExamplesOnTop/JavaScript/Array/reduceRight       |
| Experiment:StaticExamplesOnTop/JavaScript/Array/reverse           |
| Experiment:StaticExamplesOnTop/JavaScript/Array/shift             |
| Experiment:StaticExamplesOnTop/JavaScript/Array/slice             |
| Experiment:StaticExamplesOnTop/JavaScript/Array/some              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/sort              |
| Experiment:StaticExamplesOnTop/JavaScript/Array/splice            |
| Experiment:StaticExamplesOnTop/JavaScript/Array/toLocaleString    |
| Experiment:StaticExamplesOnTop/JavaScript/Array/toSource          |
| Experiment:StaticExamplesOnTop/JavaScript/Array/toString          |
| Experiment:StaticExamplesOnTop/JavaScript/Array/unshift           |
| Experiment:StaticExamplesOnTop/JavaScript/Array/values            |
| Experiment:StaticExamplesOnTop/JavaScript/Array/@@iterator        |
| Experiment:StaticExamplesOnTop/JavaScript/Array/@@species         |
| Experiment:StaticExamplesOnTop/CSS/display                        |
| Experiment:StaticExamplesOnTop/CSS/position                       |
| Experiment:StaticExamplesOnTop/CSS/pointer-events                 |
| Experiment:StaticExamplesOnTop/CSS/box-shadow                     |
| Experiment:StaticExamplesOnTop/CSS/transform                      |
| Experiment:StaticExamplesOnTop/CSS/cursor                         |
| Experiment:StaticExamplesOnTop/CSS/overflow-wrap                  |
| Experiment:StaticExamplesOnTop/CSS/flex                           |
| Experiment:StaticExamplesOnTop/CSS/font-family                    |
| Experiment:StaticExamplesOnTop/CSS/vertical-align                 |
| Experiment:StaticExamplesOnTop/CSS/font-weight                    |
| Experiment:StaticExamplesOnTop/CSS/font-style                     |
| Experiment:StaticExamplesOnTop/CSS/box-sizing                     |
| Experiment:StaticExamplesOnTop/CSS/object-fit                     |
| Experiment:StaticExamplesOnTop/CSS/z-index                        |
| Experiment:StaticExamplesOnTop/CSS/flex-basis                     |
| Experiment:StaticExamplesOnTop/CSS/text-overflow                  |
| Experiment:StaticExamplesOnTop/CSS/text-decoration                |
| Experiment:StaticExamplesOnTop/CSS/filter                         |
| Experiment:StaticExamplesOnTop/CSS/animation                      |
| Experiment:StaticExamplesOnTop/CSS/font                           |
| Experiment:StaticExamplesOnTop/CSS/float                          |
| Experiment:StaticExamplesOnTop/CSS/white-space                    |
| Experiment:StaticExamplesOnTop/CSS/justify-content                |
| Experiment:StaticExamplesOnTop/CSS/font-size                      |
| Experiment:StaticExamplesOnTop/CSS/border                         |
| Experiment:StaticExamplesOnTop/CSS/border-radius                  |
| Experiment:StaticExamplesOnTop/CSS/text-align                     |
| Experiment:StaticExamplesOnTop/CSS/overflow                       |
| Experiment:StaticExamplesOnTop/CSS/transition                     |
| Experiment:StaticExamplesOnTop/CSS/transform-origin               |
| Experiment:StaticExamplesOnTop/CSS/flex-wrap                      |
| Experiment:StaticExamplesOnTop/CSS/touch-action                   |
| Experiment:StaticExamplesOnTop/CSS/margin                         |
| Experiment:StaticExamplesOnTop/CSS/align-items                    |
| Experiment:StaticExamplesOnTop/CSS/border-style                   |
| Experiment:StaticExamplesOnTop/CSS/line-height                    |
| Experiment:StaticExamplesOnTop/CSS/flex-grow                      |
| Experiment:StaticExamplesOnTop/CSS/list-style-type                |
| Experiment:StaticExamplesOnTop/CSS/width                          |
| Experiment:StaticExamplesOnTop/CSS/padding                        |
| Experiment:StaticExamplesOnTop/CSS/color                          |
| Experiment:StaticExamplesOnTop/CSS/flex-shrink                    |
| Experiment:StaticExamplesOnTop/CSS/text-size-adjust               |
| User:wbamberg/Examples_on_top/Array.prototype.push                |
| User:wbamberg/Examples_on_top/Array.prototype.slice               |
| User:wbamberg/Examples_on_top/Array.prototype.indexOf             |
| User:wbamberg/Examples_on_top/Array.prototype.map                 |
| User:wbamberg/Examples_on_top/filter                              |
| User:wbamberg/Examples_on_top/transform                           |
| User:wbamberg/Examples_on_top/font                                |
| User:wbamberg/Examples_on_top/filter:v4                           |
| User:wbamberg/Examples_on_top/filter_old                          |
| User:wbamberg/Examples_on_top/filter_new                          |
| User:wbamberg/Examples_on_top/animation_new                       |
| User:wbamberg/Examples_on_top/position-prototype                  |
| User:schalkneethling:transform                                    |
| User:schalkneethling:push                                         |
| User:Sebastianz/cursor                                            |
| Experiment:InteractiveEditor/Array.prototype.concat()             |
| Experiment:InteractiveEditor/Array.prototype.push()               |
| Experiment:InteractiveEditor/Array.prototype.reduce()             |
| Experiment:InteractiveEditor/transform                            |
| Experiment:InteractiveEditor/box-shadow                           |
| Experiment:InteractiveEditor/Test.Array.prototype.reduce()        |
+-------------------------------------------------------------------+
175 rows in set (3.01 sec)

peterbe avatar Apr 01 '20 10:04 peterbe

Oops. Some of those were redirects. Let's try this instead:

mysql> select slug from wiki_document where html like '%CompatibilityTable%' and deleted = false and locale = 'en-US' and is_redirect=false  and slug not like '%:%';
+----------------------------------------------+
| slug                                         |
+----------------------------------------------+
| Archive/B2G_OS/API/NFC_API/Using_the_NFC_API |
+----------------------------------------------+
1 row in set (1.00 sec)

That page won't survive the move to Yari either but it will go into the archivecontent where it will live on.

peterbe avatar Apr 01 '20 10:04 peterbe

Thanks! Then this comes down (again) to how much we care about locales.

Elchi3 avatar Apr 01 '20 11:04 Elchi3