-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Mirroring script: Edge mirrors from both IE AND Chrome at the same time #6582
Conversation
I tried running It looks pretty reasonable, but it makes me suspect there are fixes that would improve this a lot. Most of the changes are adding "≤79", and very few "79" are added. There should be lots of APIs the data says was not in IE but was in Chrome ≤79, and where the value should be set to "79". The first cases in the diff of this is AbortController.json. Can you experiment with checking for false in the IE data, if that's not already being done? Then there are lots of nulls being added. Sometimes that makes sense, if it was added in Edge 12-18 then obviously we can't infer the data from IE+Chrome. There are so many nulls that I suspect that there is still some bug here, but I've failed to find an incorrect change by skimming through the diffs. I can take another look after the PR has been updated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sweet stuff! I have a lot of comments, but that's not because it ain't sweet :)
scripts/mirror.js
Outdated
newData.version_added == sourceData.version_added; | ||
if (originalData === undefined) { | ||
newData.version_added = chromeFalse ? false : chromeNull ? null : '≤79'; | ||
} else { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can turn this into an else if
and save some indentation in the following.
Co-authored-by: Philip Jägenstedt <[email protected]>
Co-authored-by: Philip Jägenstedt <[email protected]>
@vinyldarkscratch is this ready for final review now? It would be good to first verify that the mirror script still produces exactly the same changes for all other browsers, with/without |
@vinyldarkscratch can you ping me when you'd like review of this again? |
This is all good to go now, yep! |
Oops, I didn't notice I was pinged for review two weeks ago :) |
I tried running @vinyldarkscratch can you tweak the script until the output when using |
This is all ready to go; everything's been double-checked for functionality. I would love to get this PR merged sooner than later, as it paves the way for two new PRs I have planned (one that fixes the WebView mirroring, another that has Opera Android account for data from both Opera Presto and Chrome Android). |
I just fixed up the logic in regards to those three odd statements, and I have confirmed they don't negatively impact other statements as well! |
I've tried It seems like the approach here is very brittle since there are new kinds of errors with each iteration. Can we simplify this to supporting mirroring from IE or Chrome, not both at the same time? In other words, support Then it would be straightforward to review the changes that |
I just pushed a few changes that allow for selecting a source for Edge, and fixed the error I think you might've experienced! I still have the dual browsers selected as the default for mirroring, but a |
This pull request has merge conflicts that must be resolved before we can merge this. |
This pull request has merge conflicts that must be resolved before we can merge this. |
Made the default as just |
This PR refactors the mirroring script, adding new functions (and a few bug fixes), to mirror data for Edge a little bit differently in light of its engine change. Now, rather than mirroring from just IE or just Chrome, it will mirror the data from both browsers at once.
This includes the addition of a
combineStatements()
function, which takes an array of support statements and combines them down to their simplest form possible. This will be helpful for future multi-source mirroring to come. Accordingly, this also provides a structure for multi-source mirroring.Inspired by #6575.