LGTM1 to deprecate under the following conditions:

   - As discussed, a 6 months deprecation period, as well as broad-scope
   and targeted outreach, that would hopefully bring usage down.
   - A well-crafted deprecation message that indicates the timeline, and at
   the same time indicates that we'll be responsive to community feedback (or
   a link to a blog post/documentation page that indicates the same)
   - Sending a separate intent for the actual removal at the end of the
   deprecation period, once the picture is a bit clearer.


On Fri, Jan 14, 2022 at 7:07 PM Alex Russell <slightly...@chromium.org>
wrote:

> Daniel:
>
> Salesforce use is concentrated in enterprises, and the enterprise opt-in
> rates for metrics and crash reporting are very, very, very low. As a
> result, I'm not sure we should trust UKM here.
>
> Greg:
>
> Thanks so much for looking into your code. I know it might take time for
> your larger ecosystem to start sending y'all deprecation reports. How long
> after the deprecation API starts reporting do you think it'll be before we
> can get solid information from your service?
>
> Thanks.
>
> On Friday, January 14, 2022 at 5:17:25 AM UTC-8 Daniel Vogelheim wrote:
>
>> On Fri, Jan 14, 2022 at 1:46 AM Greg Whitworth <gregcwhitwo...@gmail.com>
>> wrote:
>>
>>> Hey folks,
>>>
>>> I'll be spinning up a thread with some internal folks here at Salesforce
>>> to start doing some scans of code to determine utilization. Has this been
>>> added to the reporting API for deprecation to possibly capture live hits
>>> that way as well?
>>>
>>
>> Not yet. That'd be the first step once this intent is approved.
>>
>>>
>>> I'll follow up on what I find and that will influence my opinion on
>>> removal timeline.
>>>
>>
>> Thank you, this would be very helpful.
>> If it helps: salesforce.com (or other Salesforce country domains) do not
>> show up in our telemetry, so with some likelihood you're among the >99%
>> sites that do not even use this mis-feature. :-)
>> (Caveat: You might use other domains as well; or maybe your customers
>> dis-proportionally disable reporting.)
>>
>> If you have a staging environment, you can simulate the deprecation by
>> adding the "Origin-Agent-Cluster: ?1" header. This explicitly enables
>> clustering by origin. document.domain setting will have no effect, and a
>> console message will be printed. (In other words: This is behaviour we'd
>> like to be the default.)
>> If you do find usage that you cannot easily replace, adding
>> "Origin-Agent-Cluster: ?0" will disable this.
>>
>>
>>> ~Greg
>>>
>>> On Thursday, January 13, 2022 at 3:35:03 PM UTC-8 Charlie Reis wrote:
>>>
>>>> Note that Daniel has already landed the enterprise policy for this in
>>>> https://chromium-review.googlesource.com/c/chromium/src/+/3317349
>>>> (99.0.4759.0).
>>>>
>>>> Charlie
>>>>
>>>> On Thu, Jan 13, 2022 at 2:32 PM Brandon Heenan <bhe...@google.com>
>>>> wrote:
>>>>
>>>>> > This probably requires an Enterprise Policy, to reduce the risk for
>>>>> managed installs. +bheenan@ for opinions on that front.
>>>>>
>>>>> I agree, this looks like a breaking change according to
>>>>> go/chrome-enterprise-friendly and therefore needs a policy.
>>>>> Instructions for implementing a policy are here:
>>>>> https://source.chromium.org/chromium/chromium/src/+/main:docs/enterprise/add_new_policy.md
>>>>> if you haven't done it before, and the enterprise team is happy to help if
>>>>> anything seems confusing. Having this implemented as a "soft removal" with
>>>>> a temporary policy escape hatch significantly reduces enterprise risk,
>>>>> since even if we are surprised by a use case hiding behind many
>>>>> enterprises' tendency to turn off metrics, those users can
>>>>> break-fix themselves immediately while staying on the latest version.
>>>>>
>>>>> On Wed, Jan 12, 2022 at 12:45 PM Yoav Weiss <yoav...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Hey Daniel!
>>>>>>
>>>>>> While searching for this intent review, I stumbled upon
>>>>>> https://developer.chrome.com/blog/immutable-document-domain/
>>>>>> That's a useful piece of documentation! Thanks +Eiji Kitamura!!
>>>>>>
>>>>>> This intent was just discussed at the API owner meeting (where Chris,
>>>>>> Rego, Daniel, Philip, Alex, MikeT and myself were present).
>>>>>> This change seems risky in terms of potential breakage when looking
>>>>>> at our stats, and that's even before talking about enterprises, where a 
>>>>>> lot
>>>>>> of the API owners feel the risk is even higher.
>>>>>>
>>>>>> Given that, here's a few potential next steps to try and reduce that
>>>>>> risk:
>>>>>>
>>>>>>    - UKM and outreach to specific large users of the API can maybe
>>>>>>    help drive the usage down.
>>>>>>    - A deprecation period of 3 milestones feels a bit short here. Is
>>>>>>    the expectation that turning on the opt-out header can be done under 
>>>>>> that
>>>>>>    period?
>>>>>>    - A report-only mode could have allowed sites to try and enable
>>>>>>    this, without risking actual breakage for their documents/properties 
>>>>>> that
>>>>>>    use document.domain. This is doubly true for platforms that want to 
>>>>>> warn
>>>>>>    their customers about this upcoming deprecation, but without taking 
>>>>>> risks
>>>>>>    on their behalf. At the same time, it is true that they could collect
>>>>>>    deprecation reports (thanks for adding those!) instead during the
>>>>>>    deprecation period, which can be considered an on-by-default 
>>>>>> report-only
>>>>>>    mode. Can y'all add specific guidance on deprecation reports to the
>>>>>>    documentation?
>>>>>>    -  It'd be helpful to reach out to enterprise folks and see what
>>>>>>    their responses may be for this. +Greg Whitworth.
>>>>>>    - This probably requires an Enterprise Policy, to reduce the risk
>>>>>>    for managed installs. +bheenan@ for opinions on that front.
>>>>>>    - Is there a plan to eventually remove the opt-out option? Or is
>>>>>>    it the plan to have it in place permanently?
>>>>>>
>>>>>> Cheers,
>>>>>> Yoav
>>>>>>
>>>>>>
>>>>>> On Saturday, December 18, 2021 at 9:38:33 PM UTC+1 Mike Taylor wrote:
>>>>>>
>>>>>>> On 12/16/21 5:52 PM, Charlie Reis wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Dec 16, 2021 at 7:28 AM 'Daniel Vogelheim' via blink-dev <
>>>>>>> blin...@chromium.org> wrote:
>>>>>>>
>>>>>>>> On Tue, Dec 14, 2021 at 11:51 PM Mike Taylor <mike...@chromium.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> On 12/14/21 11:35 AM, Daniel Bratell wrote:
>>>>>>>>>
>>>>>>>>> It seems more or less everyone agrees on this being a good thing,
>>>>>>>>> so it mainly comes down to web compatibility.
>>>>>>>>>
>>>>>>>>> How much of the web will break, and how badly. The numbers
>>>>>>>>> mentioned, 0.5% of sites set document.domain, 0.05% seem to depend on
>>>>>>>>> document.domain, are quite high. One thing I didn't quite pick up is 
>>>>>>>>> what
>>>>>>>>> happens if you try to set document.domain when it's not settable. 
>>>>>>>>> Will it
>>>>>>>>> silently pretend to work, or will that also be a possible break point?
>>>>>>>>>
>>>>>>>>> I would be surprised if it didn't behave the same as setting an
>>>>>>>>> arbitrary expando on `document` - we should be safe there.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Almost. The error handling is mostly the same. But while a foreign
>>>>>>>> attribute on document would return the new value, document.domain 
>>>>>>>> (when in
>>>>>>>> an origin-keyed agent cluster) does not.
>>>>>>>>
>>>>>>>> So:
>>>>>>>>   document.foo = "bla"
>>>>>>>>   document.foo  // Returns "bla".
>>>>>>>>
>>>>>>>>   document.domain = "bla"  // Throws SecurityException.
>>>>>>>>
>>>>>>>>   // On a domain www.host.com, site-keyed agent cluster (current
>>>>>>>> default)
>>>>>>>>   document.domain = "host.com"  // Succeeds.
>>>>>>>>   document.domain;  // returns "host.com".
>>>>>>>>
>>>>>>>>   // On a domain www.host.com, origin-keyed agent cluster (future
>>>>>>>> default)
>>>>>>>>   document.domain = "host.com"  // Doesn't throw. Doesn't do
>>>>>>>> anything else either.
>>>>>>>>   document.domain;  // Still returns www.host.com.
>>>>>>>>
>>>>>>>> Risks: Interoperability and Compatibility
>>>>>>>>>
>>>>>>>>> * No interoperability risks. *
>>>>>>>>> Compatibility risk exists, but is fairly small as document.domain
>>>>>>>>> is an already deprecated feature. We’ve detailed UKM metrics in place 
>>>>>>>>> and
>>>>>>>>> are planning to reach out to top users as soon as we’ve LGTMs for the 
>>>>>>>>> plan.
>>>>>>>>>
>>>>>>>>> As Daniel mentioned, I think the compat risk should be considered
>>>>>>>>> to be higher, despite this being deprecated for a long time.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Yes, agreed.
>>>>>>>>
>>>>>>>>> Current usage of the document.domain: 0.05%
>>>>>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/2544>
>>>>>>>>> of page views rely upon document.domain to enable some cross-origin 
>>>>>>>>> access
>>>>>>>>> that wasn't otherwise possible. 0.24%
>>>>>>>>> <https://chromestatus.com/metrics/feature/timeline/popularity/2543>
>>>>>>>>> of page views block same-origin access because only one side sets
>>>>>>>>> document.domain. Both counters can be found on
>>>>>>>>> https://deprecate.it/#document-domain, too.
>>>>>>>>>
>>>>>>>>> (cool site, btw)
>>>>>>>>>
>>>>>>>>> We’ve reached out in advance to 4 of the top current users - TL;DR
>>>>>>>>> Most of their use cases could be achieved already by different APIs 
>>>>>>>>> e.g.
>>>>>>>>> Audio/video autoplay in iframes by adding the ‘autoplay’ attribute, 
>>>>>>>>> support
>>>>>>>>> chat deployed across subdomains.
>>>>>>>>>
>>>>>>>>> Out of curiosity, did any of them mention what couldn't be
>>>>>>>>> achieved via existing APIs?
>>>>>>>>>
>>>>>>>>
>>>>>>>> I checked back, and nothing particular came up. It seems that
>>>>>>>> migrating off of document.domain isn't blocked by a lack of options.
>>>>>>>>
>>>>>>>> Activation - Deprecation plan
>>>>>>>>> M98 - Add the devtools issue and warning incl. a web.dev blog
>>>>>>>>> post to guide adoption
>>>>>>>>>
>>>>>>>>> * M98-M100 - Monitor use counters and reach out to current users *
>>>>>>>>>
>>>>>>>>> What's the plan if the use counters don't move? Do you have a
>>>>>>>>> minimum page view % in mind you would want before proceeding to the 
>>>>>>>>> next
>>>>>>>>> step (even if it meant delaying the timeline)?
>>>>>>>>>
>>>>>>>>
>>>>>>>> We don't have a dead-set plan. The primary idea is a combination of
>>>>>>>> delay-ing until usage is low enough, and outreach to offending sites to
>>>>>>>> educate about the problem & available alternatives.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> * M101 - Deprecate the feature by default. No reverse-origin trial
>>>>>>>>> is planned as the ‘Origin-Agent-Cluster’ http header can be used to 
>>>>>>>>> gain
>>>>>>>>> access to the feature. *
>>>>>>>>>
>>>>>>>>> Would this disabled-by-default change ride the trains, or have you
>>>>>>>>> considered finching it out to assess compat risk?
>>>>>>>>>
>>>>>>>>
>>>>>>>> My original plan was to enable it by default in the 101 release,
>>>>>>>> and have a Finch switch as an emergency-off. Reading the feedback here,
>>>>>>>> maybe it's better to incrementally enable it via Finch. I'll be happy 
>>>>>>>> to
>>>>>>>> follow whatever path API owners prefer.
>>>>>>>>
>>>>>>>
>>>>>>> In my experience (caveat: I'm not an API owner), it's harder to
>>>>>>> repro and triage compatibility bugs that get filed if a feature is only
>>>>>>> enabled for a percentage of users via Finch.  It tends to be quicker to
>>>>>>> bisect reports and get attention on a compat bug if the feature is 
>>>>>>> enabled
>>>>>>> on trunk instead, with an easy way to revert if needed.  (Finch is
>>>>>>> certainly better when you care about performance issues, which doesn't 
>>>>>>> seem
>>>>>>> to be the case here.)
>>>>>>>
>>>>>>> Yeah, I hear you - the unpredictability is a challenge. My preferred
>>>>>>> approach would be to hold things at 100% in pre-release channels for 
>>>>>>> some
>>>>>>> period of time to sniff out compat bugs - but AIUI, this isn't really a
>>>>>>> thing that Finch is designed to do, and pre-release comes with its own 
>>>>>>> set
>>>>>>> of biases that may not accurately reflect release behavior. But where 
>>>>>>> the
>>>>>>> risk is non-zero, only breaking some users seems better than breaking 
>>>>>>> all
>>>>>>> users, even if imperfect.
>>>>>>>
>>>>>> --
> 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/bd2f5a7b-a64c-4aa5-aa65-36e6f39fd7e8n%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bd2f5a7b-a64c-4aa5-aa65-36e6f39fd7e8n%40chromium.org?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/CAL5BFfV9QYzcFoxNvV%2BaNS7p603s45F%2BqZ2z%3D6c0%3DHYPLmMeiw%40mail.gmail.com.

Reply via email to