kuma
kuma copied to clipboard
The legacy BCD table is broken on read-only site
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
.
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)
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?
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)
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.
Thanks! Then this comes down (again) to how much we care about locales.