LGTM2. This is extremely exciting. I hope that in a year, the deprecation process is fully complete, and we get to enjoy deleting a lot of code/specs/maybe tests.
I agree with your instinct to go to 100% directly with the 127 release. On Mon, May 20, 2024 at 12:18 AM Philip Jägenstedt <foo...@chromium.org> wrote: > Hi Mason, > > This is quite exciting! Mutation events is something I've long assumed > we'd have to live with forever, but your findings here are extremely > encouraging. Most compelling to me is (1) your analysis of UKM data and the > lack of clear breakage on any of the ~30 checked sites, and (2) that > disabling the events on canary, dev and beta only resulted in a single bug > report. The previous success of Shadow DOM v0 and event.path deprecation > also shows that use counter numbers aren't always a good proxy for risk of > breakage. > > In https://github.com/WebKit/standards-positions/issues/192 the point is > made that there are other events that fire with the same timing as mutation > events, so this removal doesn't unblock everything. Nevertheless, I share > the assessment that mutation events "significantly increase the complexity > of adding new features to the Web" so if removal is within reach I think > we should go for it. From > https://github.com/mozilla/standards-positions/issues/807 it's clear that > there is enthusiasm beyond the Chromium project too. > > Rolling this out with Finch is definitely prudent, and I agree with the > argument for going directly to 100% in 127 to make for a less confusing > debugging experience. > > LGTM1 to this plan, while being ready to adapt to things that come up in > the process. > > Best regards, > Philip > > On Fri, May 17, 2024 at 9:28 PM Mason Freed <mas...@chromium.org> wrote: > >> >> >> On Thu, May 16, 2024 at 11:00 AM Vladimir Levin <vmp...@chromium.org> >> wrote: >> >>> I looked into the UKM data about three months ago, before I started the >>>> experiment to disable all mutation events on Canary/Dev/Beta. I looked at >>>> the top ~30 UKM hits and dug into the site's code to see what the usage >>>> was. Many (~40% or so?) of the top sites usage was due to quilljs >>>> <https://github.com/quilljs/quill/issues/3806> which has since updated >>>> their code to not rely on mutation events. Another maybe 10% was due to a >>>> Sharepoint >>>> 2016 mquery.js utility >>>> <https://techcommunity.microsoft.com/t5/sharepoint/sharepoint-2016-server-mquery-js-event-deprecation/m-p/3947764>, >>>> for which several folks have requested support from MS, but it's a bit >>>> unclear what the plan is. The rest of the sites appeared to have bespoke >>>> code looking at mutation events. >>>> >>> >>> Is Sharepoint 10% of the 1% usage? According to the thread you linked >>> <https://techcommunity.microsoft.com/t5/sharepoint/sharepoint-2016-server-mquery-js-event-deprecation/m-p/4103969/highlight/true#M80109> >>> they >>> will fix it in a Sept 2024 release but seem like they won't backport the >>> fix to previous versions. That seems a bit risky, but also I'm not sure >>> what the breakage looks like and as you say, things seem to work. >>> >> >> I don't have a great way to break down how much of the 1% is represented >> by the Sharepoint library, because it just shows up as a JS dependency on >> affected sites. And yes that's what the public thread there says, though >> I'm not sure how authoritative that is. I've reached out privately to MS to >> see if there's more info I can glean. Just to confirm, I can't "see" any >> breakage on those sites. The most "visible" thing, which is what gets folks >> to report issues like the Sharepoint one, is the console warning that >> mutation events are being used and might break. Those had the intended >> effect in all of these cases, which is a good thing. >> >> >>> And finally, of course, assuming I'm approved to disable in M127, I'll >>>> be very mindful of breakage and will flip the events back on immediately in >>>> the case that there is more breakage than I'm expecting. >>>> >>> >>> Is the plan to do a finch rollout, something like 1% stable increasing >>> week by week? Or were you just thinking of enabling it in 127 without finch? >>> >> >> So I'm definitely planning to launch this via Finch, so I can be >> guaranteed that un-launching it that way will "work" for all platforms. But >> I could go either way on the question of whether to ramp up slowly or go >> directly to 100% with the 127 release. I was leaning toward 100% of 127 on >> stable release day, because I think that'll be the least confusing for >> people experiencing issues. I.e. they relaunch their browser into 127 and >> something breaks - they now understand what caused it. When the breakage >> starts on some random day, and isn't repeatable across computers, they have >> a harder time knowing they should report a bug. And I want to maximize the >> chance that issues get reported quickly. >> >> Thanks, >> Mason >> >> >>> >>> >>>> >>>> Let me know if anything else would help make the case that we should go >>>> forward with this. >>>> >>>> Thanks, >>>> Mason >>>> >>>> >>>> >>>> >>>>> Chrome has shipped an experiment since M124 that disables all Mutation >>>>>>> Events for 99% of users of Canary, Dev, and Beta versions of Chrome. >>>>>>> Very >>>>>>> few bugs have been filed in the intervening months, and all that were >>>>>>> filed >>>>>>> have been resolved quickly via the site owner making changes to not >>>>>>> rely on >>>>>>> the deprecated events. >>>>>>> >>>>>> This gives me significant confidence that removing the events will >>>>>>> not be as big of a deal as the use counters would suggest. Still, due to >>>>>>> the still-high numbers, extreme care will be taken in the removal >>>>>>> process. >>>>>>> I plan to disable the events via Finch only, so that if issues are >>>>>>> encountered, Finch will be a safe way to re-enable the events. >>>>>>> Additionally, there are the deprecation trial and enterprise policies to >>>>>>> offer an easy relief valve for affected sites. >>>>>>> >>>>>>> >>>>>>> *Gecko*: Positive ( >>>>>>> https://github.com/mozilla/standards-positions/issues/807) "very >>>>>>> strong positive position" >>>>>>> >>>>>>> *WebKit*: No signal ( >>>>>>> https://github.com/WebKit/standards-positions/issues/192) >>>>>>> >>>>>>> *Web developers*: No signals >>>>>>> >>>>>>> *Other signals*: >>>>>>> >>>>>>> Activation >>>>>>> >>>>>>> This npm package attempts to polyfill Mutation Events using Mutation >>>>>>> Observer: https://www.npmjs.com/package/mutation-events. >>>>>>> >>>>>>> >>>>>>> WebView application risks >>>>>>> >>>>>>> Does this intent deprecate or change behavior of existing APIs, such >>>>>>> that it has potentially high risk for Android WebView-based >>>>>>> applications? >>>>>>> >>>>>>> None >>>>>>> >>>>>>> >>>>>>> Debuggability >>>>>>> >>>>>>> >>>>>>> >>>>>>> Will this feature be supported on all six Blink platforms (Windows, >>>>>>> Mac, Linux, ChromeOS, Android, and Android WebView)?Yes >>>>>>> >>>>>>> Is this feature fully tested by web-platform-tests >>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>>> ?No >>>>>>> >>>>>>> Flag name on chrome://flagsmutation-events >>>>>>> >>>>>>> Finch feature nameMutationEvents >>>>>>> >>>>>>> Requires code in //chrome?False >>>>>>> >>>>>>> Tracking bughttps://crbug.com/1446498 >>>>>>> >>>>>>> Estimated milestones >>>>>>> Shipping on desktop 127 >>>>>>> Origin trial desktop first 124 >>>>>>> Origin trial desktop last 134 >>>>>>> Shipping on Android 127 >>>>>>> OriginTrial Android last 134 >>>>>>> OriginTrial Android first 124 >>>>>>> Shipping on WebView 127 >>>>>>> OriginTrial webView last 134 >>>>>>> OriginTrial webView first 124 >>>>>>> >>>>>>> Anticipated spec changes >>>>>>> >>>>>>> Open questions about a feature may be a source of future web compat >>>>>>> or interop issues. Please list open issues (e.g. links to known github >>>>>>> issues in the project for the feature specification) whose resolution >>>>>>> may >>>>>>> introduce web compat/interop risk (e.g., changing to naming or >>>>>>> structure of >>>>>>> the API in a non-backward-compatible way). >>>>>>> None >>>>>>> >>>>>>> Link to entry on the Chrome Platform Status >>>>>>> https://chromestatus.com/feature/5083947249172480?gate=5111010140094464 >>>>>>> >>>>>>> Links to previous Intent discussionsIntent to Deprecate: >>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/qDsKRU-cQ_4/m/isA1mZ_aAAAJ >>>>>>> Intent to Experiment: >>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/z-VIfSOco4k/m/KDz9c_goAAAJ >>>>>>> >>>>>>> This intent message was generated by Chrome Platform Status >>>>>>> <https://chromestatus.com/>. >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "blink-dev" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to blink-dev+unsubscr...@chromium.org. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDjonGju3YX1WkXtEJrMGLo4bH9AqtwV0QoqvopdGNioAg%40mail.gmail.com >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDjonGju3YX1WkXtEJrMGLo4bH9AqtwV0QoqvopdGNioAg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "blink-dev" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to blink-dev+unsubscr...@chromium.org. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJzmUKZo5K0TwixDRx0J5JfcNzugO3C%2BPVac-sB-3M-0g%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJzmUKZo5K0TwixDRx0J5JfcNzugO3C%2BPVac-sB-3M-0g%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "blink-dev" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to blink-dev+unsubscr...@chromium.org. >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDgfmwE9%3DKjAuKSZKEw_3CQ9tWenNa0yfLo8QXG6EyZ5uw%40mail.gmail.com >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDgfmwE9%3DKjAuKSZKEw_3CQ9tWenNa0yfLo8QXG6EyZ5uw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "blink-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to blink-dev+unsubscr...@chromium.org. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDjm%2BgJ%3D5HEe6-DH1uG37Dwvn_iL6jZKytYSk4aHhZkoPA%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDjm%2BgJ%3D5HEe6-DH1uG37Dwvn_iL6jZKytYSk4aHhZkoPA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYc74oCQFO%3Dhnmt_%2BK-XgwbBX-U1gkLQ%2Bo10vKd4uTHTZw%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYc74oCQFO%3Dhnmt_%2BK-XgwbBX-U1gkLQ%2Bo10vKd4uTHTZw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra83-2od_jv2KkO8sn7gYkkvQLZiTjLX5wfLss0HCT9ZEg%40mail.gmail.com.