LGTM3

On Fri, Feb 10, 2023 at 6:31 PM Rick Byers <rby...@chromium.org> wrote:

> Sorry missed the link, details at
> https://www.chromium.org/developers/enterprise-changes/
>
> Rick
>
> On Fri, Feb 10, 2023 at 11:23 AM Rick Byers <rby...@chromium.org> wrote:
>
>> +1 to Philip's sentiment, thanks for putting the effort into this! Given
>> that it got to 50% stable and this was the only issue reported and Twilio
>> is happy with the plan, then I'm also reluctant to ask for more opt-outs.
>> So LGTM2
>>
>> But please circle back here if you hear of any other non-trivial
>> breakage. If necessary we can postpone again with finch and add an
>> enterprise opt-out. +1 to what Johnny says about enterprise policies being
>> the only effective knob for some environments - we've heard of many cases
>> where updating a software package is a multi-month process for enterprise
>> customers of a software system, but where asking those customers to enable
>> a policy in their fleet is relatively easy. It's generally not about
>> software developed by the enterprise itself, but bought from a 3p who has a
>> support contract. More details on the policy and purpose of it are here.
>>
>> Rick
>>
>> On Wed, Feb 8, 2023 at 5:54 PM Philip Jägenstedt <foo...@chromium.org>
>> wrote:
>>
>>> LGTM1 for the plan to remove in 112 with reverse OT until 115.
>>>
>>> We discussed in today's meeting whether we should also have an
>>> enterprise policy, but landed on not requesting it. The reason is that it's
>>> quite possible that this change only breaks Twilio and nothing else, at
>>> all. That's because of the shape of the API and that the change got to 50%
>>> stable in M109 without other breakage being reported. An enterprise policy
>>> would be the "belts and braces" approach, but there's also a cost to making
>>> changes like these more laborious that has to be weighed against the risk.
>>>
>>> Removing things from the web platform is usually thankless work, but it
>>> is important to reduce complexity and converge with other browsers
>>> (interoperability) so I want to applaud the effort put into this 👏
>>>
>>> On Wed, Feb 8, 2023 at 6:45 PM Johnny Stenback <jstenb...@chromium.org>
>>> wrote:
>>>
>>>> Deprecation trials require changes to servers which an enterprise may
>>>> not have access to or ability to affect changes to, whereas enterprise
>>>> policies are entirely within the enterprise's control. I'd recommend
>>>> reaching out to the enterprise team for their perspective on usage policies
>>>> and perspective on whether a policy should be included here or not (I'm
>>>> still of the opinion that it's in our interest to include one).
>>>>
>>>> Thanks,
>>>> Johnny
>>>>
>>>> On Tue, Feb 7, 2023 at 2:36 AM Henrik Boström <h...@chromium.org>
>>>> wrote:
>>>>
>>>>> I have the same concern as Harald regarding corporate policies. Why
>>>>> not a Deprecation Origin Trial in that case for list of users and more
>>>>> concrete timeline?
>>>>>
>>>>> On Tuesday, February 7, 2023 at 9:10:40 AM UTC+1 Harald Alvestrand
>>>>> wrote:
>>>>>
>>>>>> Do we have trackable statistics on the usage of corporate policies?
>>>>>> ie if nobody uses the policy in 2 milestones, can we detect that and
>>>>>> decide that it is not needed and delete it, or will we be as unsure as we
>>>>>> are now?
>>>>>>
>>>>>>
>>>>>> On Mon, Feb 6, 2023 at 9:41 PM Mike Taylor <miketa...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> We don't know what we don't know, but it's not hard to imagine an
>>>>>>> in-house enterprise WebRTC application that is using "stats" or "track".
>>>>>>> Twilio is the breakage we know about (because a developer took the time 
>>>>>>> to
>>>>>>> report a bug). Having a policy so an app continues to work while a fix 
>>>>>>> is
>>>>>>> made is a good thing - and comes with the nice side effect of appearing 
>>>>>>> on
>>>>>>> the Enterprise release notes, increasing awareness.
>>>>>>>
>>>>>>> On 2/4/23 3:28 AM, Harald Alvestrand wrote:
>>>>>>>
>>>>>>> What's the imagined scenario in which an enterprise policy would be
>>>>>>> useful?
>>>>>>>
>>>>>>> The only place I could imagine it being relevant is if there exists
>>>>>>> a WebRTC application that is only used within a single enterprise 
>>>>>>> (neither
>>>>>>> hosting nor usage exists outside the enterprise), and that WebRTC
>>>>>>> application depends on non-upgraded Twilio libraries.
>>>>>>>
>>>>>>> I don't know that we have evidence that such applications exist.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Feb 3, 2023 at 6:14 PM Mike Taylor <miketa...@chromium.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I agree with Johnny that an enterprise policy would be useful, at
>>>>>>>> least for a few milestones.
>>>>>>>>
>>>>>>>> On 1/30/23 5:16 AM, 'Harald Alvestrand' via blink-dev wrote:
>>>>>>>>
>>>>>>>> I'm not sure an enterprise policy is appropriate - I see the same
>>>>>>>> problem with sunsetting the policy as with sunsetting the stat in 
>>>>>>>> general,
>>>>>>>> and usage of enterprise policies is (as far as I know) far more opaque 
>>>>>>>> to
>>>>>>>> us than origin trials or Finch feature usage.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Jan 30, 2023 at 11:13 AM Henrik Boström <h...@chromium.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Friday, January 27, 2023 at 7:24:58 PM UTC+1 Johnny Stenback
>>>>>>>>> wrote:
>>>>>>>>> Is there an enterprise policy in place for this deprecation
>>>>>>>>> already? If not, adding one seems appropriate given the challenges of
>>>>>>>>> rolling out even simple fixes in some enterprise environments.
>>>>>>>>>
>>>>>>>>> One does not exist at the moment but I can add one
>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/HEAD/docs/enterprise/add_new_policy.md>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Johnny
>>>>>>>>>
>>>>>>>>> On Fri, Jan 27, 2023 at 5:16 AM Henrik Boström <h...@chromium.org>
>>>>>>>>> wrote:
>>>>>>>>> Delaying the enabled-by-default to M112 is fine by me but I'll
>>>>>>>>> wait for a resolution here before taking action. Currently it is
>>>>>>>>> enabled-by-default in Canary.
>>>>>>>>>
>>>>>>>>> On Friday, January 27, 2023 at 12:41:23 PM UTC+1
>>>>>>>>> philipp...@googlemail.com wrote:
>>>>>>>>> Am Fr., 27. Jan. 2023 um 11:49 Uhr schrieb Henrik Boström <
>>>>>>>>> h...@chromium.org>:
>>>>>>>>> *Contact emails*
>>>>>>>>> h...@chromium.org, h...@chromium.org
>>>>>>>>>
>>>>>>>>> *Background*
>>>>>>>>> I attempted to remove this feature before but had forgotten to
>>>>>>>>> file an intent to deprecate, background here
>>>>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/RsIktnGhHqw/>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>> *Specification*
>>>>>>>>> The getStats() API spec is here
>>>>>>>>> <https://w3c.github.io/webrtc-stats/> and it contains all the
>>>>>>>>> metrics. The deprecated metrics are also listed, but in the obsolete
>>>>>>>>> section
>>>>>>>>> <https://w3c.github.io/webrtc-stats/#obsolete-rtcmediastreamtrackstats-members>.
>>>>>>>>> There's an open issue to remove obsolete metrics from the spec as 
>>>>>>>>> soon as
>>>>>>>>> they are unshipped from modern browsers. This is considered a blocker 
>>>>>>>>> for
>>>>>>>>> the document to reach Proposed Recommendation status.
>>>>>>>>>
>>>>>>>>> *Summary*
>>>>>>>>> WebRTC is a set of JavaScript APIs (spec
>>>>>>>>> <https://w3c.github.io/webrtc-pc/>) that allow real-time
>>>>>>>>> communication between browsers. For the relevant metrics being 
>>>>>>>>> removed,
>>>>>>>>> we're only talking about the WebRTC use case that is sending or 
>>>>>>>>> receiving
>>>>>>>>> audio or video (typically Video Conferencing use cases), not the data
>>>>>>>>> channel use cases that is a popular WebRTC use case, since data 
>>>>>>>>> channel
>>>>>>>>> only use cases would never have any tracks/streams.
>>>>>>>>>
>>>>>>>>> RTCPeerConnection.getStats() returns a map of string-to-objects,
>>>>>>>>> where each object is one of the dictionaries defined in the stats 
>>>>>>>>> spec. The
>>>>>>>>> reason an app calls getStats() is mostly to report quality metrics 
>>>>>>>>> (send
>>>>>>>>> and receive resolutions, bitrates, glitches, video QP, etc) which can 
>>>>>>>>> be
>>>>>>>>> important for A/B experimentation. It can also be used in a way that
>>>>>>>>> impacts app logic or even UX inside the app. Most common use case I 
>>>>>>>>> can
>>>>>>>>> think of: poll getStats() at 10 Hz and render volume bars for each
>>>>>>>>> participant based on volume levels from stats objects.
>>>>>>>>>
>>>>>>>>> The deprecation in question is to remove some stats objects that
>>>>>>>>> were made obsolete several years ago: all metrics on the "track" 
>>>>>>>>> dictionary
>>>>>>>>> have been moved to non-obsolete objects ("inbound-rtp", 
>>>>>>>>> "outbound-rtp",
>>>>>>>>> "media-source"). Reasons for wanting to deprecate include:
>>>>>>>>>
>>>>>>>>>    - Spec-compliance: needed for browser implementations to align
>>>>>>>>>    and for the spec to become Proposed Recommendation.
>>>>>>>>>    - Web compat: Firefox never implement "track" or "steam"
>>>>>>>>>    
>>>>>>>>> <https://wpt.fyi/results/webrtc-stats/supported-stats.https.html?label=experimental&label=master&aligned>
>>>>>>>>>  due
>>>>>>>>>    to them being obsolete.
>>>>>>>>>    - Performance: the duplicated metrics make up ~40% of the
>>>>>>>>>    stats report size, which can be a significant number of bytes in 
>>>>>>>>> larger
>>>>>>>>>    meetings and it is common for apps to poll getStats() 10 times per 
>>>>>>>>> second.
>>>>>>>>>    - Tech debt: unblock removal of 1400 LOC.
>>>>>>>>>
>>>>>>>>> In the meantime, the obsolete metrics is duplicated in several
>>>>>>>>> places of the stats report.
>>>>>>>>>
>>>>>>>>> *Risks*
>>>>>>>>> *- Impossible to properly measure usage*
>>>>>>>>> Because stats objects are exposed as JavaScript dictionaries, and
>>>>>>>>> because apps have to iterate all objects of the stats report in order 
>>>>>>>>> to
>>>>>>>>> find the ones they are interested in or if they just dump all the data
>>>>>>>>> without filtering, there is no way to measure how big the dependency 
>>>>>>>>> is on
>>>>>>>>> track in the real world.
>>>>>>>>>
>>>>>>>>> While we lack use counters, we have some positive signs:
>>>>>>>>>
>>>>>>>>>    - Because Firefox does not have "track" or "stream" stats, any
>>>>>>>>>    app that can run on Firefox already exercises the paths of these 
>>>>>>>>> not
>>>>>>>>>    existing.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    - An experiment to "unship deprecated metrics" has been
>>>>>>>>>    running at 50% Canary since October
>>>>>>>>>    
>>>>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/RsIktnGhHqw/m/3iqjODsMBwAJ>,
>>>>>>>>>    giving developers testing Canary a heads-up. Nobody complained 
>>>>>>>>> until the
>>>>>>>>>    experiment reached Stable.
>>>>>>>>>    - We got to 50% Stable in M109 and while we're in the process
>>>>>>>>>    of rolling it back now due to breaking twilio-video.js
>>>>>>>>>    <https://github.com/twilio/twilio-video.js/issues/1968>, it's
>>>>>>>>>    interesting to note that this is the only breakage we are aware of 
>>>>>>>>> (that
>>>>>>>>>    does not mean there aren't more breakages, but I believe this at 
>>>>>>>>> least says
>>>>>>>>>    something about the severity).
>>>>>>>>>
>>>>>>>>> *- Selenium et al typically starts browsers from fresh profiles
>>>>>>>>> and hence does not know the finch trial seed*
>>>>>>>>> The most likely explanation for breakage is not testing Canary or
>>>>>>>>> test environments not having access to Finch experiments. This makes 
>>>>>>>>> the
>>>>>>>>> behavior on Stable a surprise.
>>>>>>>>>
>>>>>>>>> *- To have a Reverse Origin Trial or not to have a Reverse Origin
>>>>>>>>> Trial?*
>>>>>>>>> Migrating should require so few lines of code (look for stats.type
>>>>>>>>> == 'inbound-rtp' instead of stats.type == 'track', for example) that 
>>>>>>>>> it
>>>>>>>>> seems to be a bigger hurdle for a developer to enroll in the trial 
>>>>>>>>> than to
>>>>>>>>> simply fix their code.
>>>>>>>>>
>>>>>>>>> *- Compatiblity risk*
>>>>>>>>> There is one particular metric out of all metrics that, if you run
>>>>>>>>> Safari, does not exist on "inbound-rtp" yet. This can be a problem, 
>>>>>>>>> but
>>>>>>>>> again is probably not a big problem because this particular metric was
>>>>>>>>> never implemented on Firefox so apps already need to survive without 
>>>>>>>>> it,
>>>>>>>>> and it is very easy to write a fallback path for the Safari case:
>>>>>>>>>
>>>>>>>>> let trackIdentifer = null;  // In Firefox this will never be set
>>>>>>>>> regardless.
>>>>>>>>> if (inboundRtp.trackIdentifier) {
>>>>>>>>>   // Spec-compliant browser.
>>>>>>>>>   trackIdentifier = inboundRtp.trackIdentifier;
>>>>>>>>> } else if (inboundRtp.trackId) {
>>>>>>>>>   // Fallback-path for Safari or 1+ year old Chromium browsers.
>>>>>>>>>   trackIdentifier = report.get(inboundRtp.trackId)
>>>>>>>>> .trackIdentifier;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> *Proposal*
>>>>>>>>> Rollback to 0% Stable but keep the "unship deprecated" experiment
>>>>>>>>> at 50% Canary/Beta. Wait for Twilio to fix their issue and do another
>>>>>>>>> rollout attempt. Keep a slower rollout pace next time.
>>>>>>>>>
>>>>>>>>> I see limited amount of value in a Reverse Origin Trial since it
>>>>>>>>> appears to be more effort to register to the trial than to fix the 
>>>>>>>>> issue,
>>>>>>>>> if you are affected.
>>>>>>>>>
>>>>>>>>> I do prefer to have the feature enabled-by-default in M111+ and
>>>>>>>>> overwrite that default via Finch rather than the other way around as 
>>>>>>>>> to not
>>>>>>>>> "turn off the fire alarm" for non-Finch testing environments. I 
>>>>>>>>> realize
>>>>>>>>> that is not perfect (what if you run in a non-Finch environment) but 
>>>>>>>>> it
>>>>>>>>> would reduce overall risk.
>>>>>>>>>
>>>>>>>>> Thank you Henrik. I agree with one suggestion: only do default-off
>>>>>>>>> in M112+ (which is branching so you would just need to revert this
>>>>>>>>> commit
>>>>>>>>> <https://chromiumdash.appspot.com/commit/3a4d52f365df03413a856ea20366b36e8fb8ea0b>
>>>>>>>>>  on
>>>>>>>>> the M111 branch).
>>>>>>>>> This gives developers another month to update (which itself should
>>>>>>>>> be quick) and then rolling it out to their customers and users (which 
>>>>>>>>> takes
>>>>>>>>> time).
>>>>>>>>>
>>>>>>>>> I hope that the 50% rollout caused enough incidents (even though
>>>>>>>>> you may never hear about some of them) to get the fixes in ASAP.
>>>>>>>>>
>>>>>>>>> cheers
>>>>>>>>>
>>>>>>>>> Philipp
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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/5ecf1ea6-c16c-464a-b529-439e05e4feedn%40chromium.org
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5ecf1ea6-c16c-464a-b529-439e05e4feedn%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/6a0b5bb9-addd-4a56-b053-1429bbaabe2dn%40chromium.org
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a0b5bb9-addd-4a56-b053-1429bbaabe2dn%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/CAOqqYVG_P0ji6Z-n0DoCua4nzJZN7S48o23%3DUpx_ELerqphfUg%40mail.gmail.com
>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOqqYVG_P0ji6Z-n0DoCua4nzJZN7S48o23%3DUpx_ELerqphfUg%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/CACZRgz4SF%2BGDjoD8S%3DfYHgLYX6PxeTUj4hd%3DA1%2BS%2BeBD2ygtpQ%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACZRgz4SF%2BGDjoD8S%3DfYHgLYX6PxeTUj4hd%3DA1%2BS%2BeBD2ygtpQ%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/CAARdPYcQdCft3PrYCEs93V35pEb%3DZy6%2BjfYNwOAojNPYdtzhKw%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYcQdCft3PrYCEs93V35pEb%3DZy6%2BjfYNwOAojNPYdtzhKw%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/CAL5BFfW7BWW2%3D-xQLOAEnRSuGM6edgUoTBg%3DHMztc6%3DMcZJoYA%40mail.gmail.com.

Reply via email to