On Thu, May 16, 2024 at 11:56 AM Mason Freed <mas...@chromium.org> wrote:
> > On Wed, May 15, 2024 at 9:36 PM Vladimir Levin <vmp...@chromium.org> > wrote: > >> I recall that some of this usage was feature detected: if mutation events >> are supported, use them; otherwise, use something else. Unfortunately, that >> makes it difficult to estimate the expected number of breakages. I agree >> though that it would be nice to understand the type of usage that still >> exists and the likelihood of real breakage >> > > That's right - some of the usage is definitely feature-detected. I also > believe other usage simply doesn't matter to the functioning of the site. > I.e a listener is attached (which triggers the use counter) but it is > either never fired or doesn't do anything material if it does fire. See > below for a comment on breakage. > > P.S. Congrats on being added to the API owners. Thanks for your service. > :-) > Thanks! > > >> On Wed, May 15, 2024 at 9:27 PM Yoav Weiss (@Shopify) < >> yoavwe...@chromium.org> wrote: >> >>> 1% is a *lot*. Did UKM reveal anything interesting about this usage? Do >>> we know if all of it is driven by site content, vs e.g. extensions? >>> >> > I totally agree, 1% is a ton of usage, so it's right to be very careful > and concerned about this deprecation. Note that deprecating things with > this level of usage isn't unprecedented, as my team and I have successfully > (and without major breakage) removed Web Components v0 with >2% usage, and > event.path with close to 20% usage. But still, let's be sure we're taking > all due precaution. > > 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. > You asked about extensions, which is a good question. I don't have a great > way to track extensions via UKM, at least that I know of. Let me know if > you do! I did receive one bug report > <https://issues.chromium.org/issues/330413279> that an extension was > using mutation events, and the extension author quickly patched the > extension. > > Very importantly, on literally none of the sites I investigated did I find > any broken functionality. That includes the quilljs and mquery sites I > mentioned above. Of course, I'm not an expert on those particular sites, > and some aren't in my native language. But I could not find the effect of > turning off mutation events. Similarly, I've been running my own browser > with mutation events disabled for over a year now, and I have yet to find > any site with broken functionality. And again, most convincingly to me, > I've had these events disabled for all of Canary, Dev, and Beta for the > better part of three months, and I've only received the one bug mentioned > above about an extension. While that's not a guarantee that nothing will > break, of course, I view it as a very strong sign that the effect of > turning off these events will be less than what the 1% use counter would > suggest. > > 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? > > 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/CADsXd2N9X4EQkU1eGWRYrLqf7bAU%2Bu0_EJLgFSD%2BS3QpJ7Qbiw%40mail.gmail.com.