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://flags
mutation-events
Finch feature name
MutationEvents
Requires code in //chrome?
False
Tracking bug
https://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 discussions
Intent 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
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra83-2od_jv2KkO8sn7gYkkvQLZiTjLX5wfLss0HCT9ZEg%40mail.gmail.com?utm_medium=email&utm_source=footer>.