FYI: I merged crrev.com/c/4930438 today, which makes the implementation
adopt the "LIFO" semantics requested in [0]. The spec already was written
to have these semantics. As part of this, I made a small spec change (
https://github.com/WICG/turtledove/pull/903) to detect and handle duplicate
adSlots in responses.

(Also, the PRs mentioned by miketaylr@ above,
https://github.com/WICG/turtledove/pull/771 and
https://github.com/WICG/turtledove/pull/774, merged last month).

[0] https://github.com/WICG/turtledove/pull/695#discussion_r1255065849

-Caleb

On Wed, Sep 20, 2023 at 5:00 PM Caleb Raitto <carai...@chromium.org> wrote:

> Will do (once spec reviewers have approved) -- I understand your LGTM is
> contingent on those landing.
>
> Thanks,
> -Caleb
>
> On Wednesday, September 20, 2023 at 3:07:11 PM UTC-4 Mike Taylor wrote:
>
>> And gentle reminder to please land the spec PRs :)
>> On 9/20/23 12:54 PM, Chris Harrelson wrote:
>>
>> LGTM3
>>
>> On Wed, Sep 20, 2023 at 9:53 AM Yoav Weiss <yoavwe...@chromium.org>
>> wrote:
>>
>>> LGTM2
>>>
>>> Talking to the team, the 10K limit is Finchable, so we'd be able to
>>> lower it if this runs into issues in the field. Also presumably, having
>>> that as a limit doesn't mean most responses would actually use that.
>>>
>>> On Sat, Sep 16, 2023 at 6:52 AM Yoav Weiss <yoavwe...@chromium.org>
>>> wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Fri, Sep 15, 2023 at 10:00 PM Mike Taylor <miketa...@chromium.org>
>>>> wrote:
>>>>
>>>>> Thanks, LGTM1 pending the PRs landing.
>>>>> On 9/12/23 12:29 AM, Caleb Raitto wrote:
>>>>>
>>>>> Hi Mike,
>>>>>
>>>>> Pull request 695 <https://github.com/WICG/turtledove/pull/695> is the
>>>>> change to update the explainer to describe the new header-based
>>>>> directFromSellerSignals, whereas 771
>>>>> <https://github.com/WICG/turtledove/pull/771> and 774
>>>>> <https://github.com/WICG/turtledove/pull/774> are for the spec
>>>>> changes.
>>>>>
>>>>> The explainer change describes usage of the new API and provides
>>>>> context for the differences between header-based and the prior bundles
>>>>> based versions of directFromSellerSignals, whereas the spec change
>>>>> describes how to implement the header-based version.
>>>>>
>>>>> We intend to land all 3 pull requests.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> -Caleb
>>>>> On Monday, September 11, 2023 at 11:18:26 AM UTC-4 Mike Taylor wrote:
>>>>>
>>>>>>
>>>>>> On 9/11/23 12:55 PM, Mike Taylor wrote:
>>>>>>
>>>>>> On 9/7/23 6:00 PM, Caleb Raitto wrote:
>>>>>>
>>>>>> Hi Yoav, some responses inline:
>>>>>>
>>>>>> On Wednesday, September 6, 2023 at 12:15:45 PM UTC-4 Yoav Weiss wrote:
>>>>>>
>>>>>> On Tue, Sep 5, 2023 at 9:55 PM Paul Jensen <pauljen...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>> Contact emails
>>>>>>
>>>>>>
>>>>>> * pauljen...@chromium.org <pauljen...@chromium.org> *Explainer
>>>>>>
>>>>>> * https://github.com/WICG/turtledove/pull/69
>>>>>> <https://github.com/WICG/turtledove/pull/695>5 *
>>>>>>
>>>>>>
>>>>>> Can you clarify what this does, as the explainer is not very
>>>>>> explain-y?
>>>>>>
>>>>>> IIUC, the current flow to get directFromSellerSignals is to download
>>>>>> a response A which contains a link to a WBN, then download the WBN and 
>>>>>> that
>>>>>> contains the signal info.
>>>>>> Your proposal is to change that so that the directFromSellerSignals
>>>>>> information would be embedded in a response header on response A?
>>>>>>
>>>>>>
>>>>>> The original directFromSellerSignals worked by downloading a response
>>>>>> A, from the seller’s origin, that is a WBN containing several 
>>>>>> subresources
>>>>>> that represent signals from the seller to various auction participants --
>>>>>> no linking was involved.
>>>>>>
>>>>>>
>>>> Can you outline that flow more explicitly? Apologies, but I'd like to
>>>> better understand its performance characteristics.
>>>> IIUC, in both cases we have an initial page that triggers a request,
>>>> where in one that request is to a WBN (using a <link> ?) and the other it's
>>>> to a random resource using fetch({adAuctionHeaders: true}) ?
>>>>
>>>> I guess it's unclear to me why the former would be slower than the
>>>> latter, especially given the large payloads and the fact that headers can't
>>>> really be compressed.
>>>>
>>>>
>>>>>> You’re correct about this header-based version of
>>>>>> directFromSellerSignals -- when Chrome downloads a response, from the
>>>>>> seller’s origin, with fetch(..., {adAuctionHeaders: true}), the
>>>>>> Ad-Auction-Signals header gets parsed as JSON to provide the signals.
>>>>>>
>>>>>>
>>>>>>
>>>>>> If so, any more details on that header? What would be the header
>>>>>> name? What payload sizes should we expect for the header's value? In what
>>>>>> conditions will it actually be processed?
>>>>>>
>>>>>>
>>>>>> The name of the header is Ad-Auction-Signals, as mentioned here in
>>>>>> the explainer: [0]. Currently, the payload size is limited to 1kb [1], 
>>>>>> but
>>>>>> we’re considering increasing that to 10kb based on feedback. When Chrome
>>>>>> conducts a Protected Audience auction, it processes any received
>>>>>> Ad-Auction-Signals headers whose adSlot matches that of the auction.  The
>>>>>> header contains JSON that dictates which signals are sent to which 
>>>>>> auction
>>>>>> participants.
>>>>>>
>>>>>>
>>>> 1K header is a lot. 10KB header is... really a lot.
>>>> Have you tested that with a variety of CDNs and other intermediaries? I
>>>> wouldn't be surprised if those values would break some assumptions in
>>>> existing HTTP proxying software.
>>>>
>>>> Also, the JSON y'all are sending doesn't seem extremely nested. Have
>>>> you considered structured fields
>>>> <https://www.rfc-editor.org/rfc/rfc8941.html>?
>>>>
>>>>
>>>>>
>>>>>> [0]
>>>>>> https://github.com/WICG/turtledove/pull/695/files#diff-d65ba9778fe3af46de3edfce2266b5b035192f8869280ec07179963b81f4e624R465
>>>>>>
>>>>>> [1]
>>>>>> https://source.chromium.org/chromium/chromium/src/+/main:content/browser/interest_group/ad_auction_url_loader_interceptor.cc;l=195;drc=dcd52bb9a48216858a950b919383c44a290273f7
>>>>>>
>>>>>> Thanks for the explanation - what's preventing
>>>>>> https://github.com/WICG/turtledove/pull/695 from landing? It seems
>>>>>> rather old (and references stuff that no longer exists, like
>>>>>> `X-FLEDGE-Auction-Only`. (It also doesn't seem to define any 
>>>>>> error-handling
>>>>>> for parsing the JSON that a server returns, which would be good to do.)
>>>>>>
>>>>>> I maybe have just been confused. I'm not sure if 695 is intended to
>>>>>> land, beyond 771 and 774, both of which have much more recent activity.
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> -Caleb
>>>>>>
>>>>>>
>>>>>> Specification
>>>>>>
>>>>>>
>>>>>> * https://github.com/WICG/turtledove/pull/771
>>>>>> <https://github.com/WICG/turtledove/pull/771>
>>>>>> https://github.com/WICG/turtledove/pull/774
>>>>>> <https://github.com/WICG/turtledove/pull/774> *Summary
>>>>>>
>>>>>>
>>>>>> * Protected Audience already supports a mechanism to ensure the
>>>>>> authenticity and integrity of information passed into the auction from 
>>>>>> the
>>>>>> seller called directFromSellerSignals. Currently this is implemented by 
>>>>>> the
>>>>>> seller providing subresources in a WebBundle to the browser, which after 
>>>>>> a
>>>>>> year of testing has proved to not be as efficient as originally planned. 
>>>>>> It
>>>>>> either requires an entirely new additional fetch of a WebBundle, or for 
>>>>>> the
>>>>>> seller to rewrite and rework an existing fetch to respond instead with 
>>>>>> only
>>>>>> a WebBundle. This feature is a rewrite of directFromSellerSignals to use 
>>>>>> an
>>>>>> HTTP response header, transferred via HTTPS same-origin with the seller,
>>>>>> instead of a WebBundle to optimize performance. *Blink component
>>>>>>
>>>>>>
>>>>>> * Blink>InterestGroups
>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInterestGroups>
>>>>>> *TAG review
>>>>>>
>>>>>>
>>>>>> * The parent proposal, Protected Audience, is still pending:
>>>>>> https://github.com/w3ctag/design-reviews/issues/723
>>>>>> <https://github.com/w3ctag/design-reviews/issues/723> *TAG review
>>>>>> status
>>>>>>
>>>>>>
>>>>>> * Pending *Risks
>>>>>>
>>>>>> Interoperability and Compatibility
>>>>>>
>>>>>> * None as this is an optional new way of providing
>>>>>> directFromSellerSignals.  It cannot be used jointly with the old 
>>>>>> mechanism,
>>>>>> but there shouldn’t be a need to use the old mechanism. *
>>>>>>
>>>>>>
>>>>>> * Gecko & WebKit: No signal on parent proposal, Protected Audience.
>>>>>> Asked in the Mozilla forum here
>>>>>> <https://github.com/mozilla/standards-positions/issues/770>, and in the
>>>>>> Webkit forum  here
>>>>>> <https://github.com/WebKit/standards-positions/issues/158>. *
>>>>>>
>>>>>>
>>>>>> * Web developers: Adtech asked for this via this Protected Audience
>>>>>> Github issue
>>>>>> <https://github.com/WICG/turtledove/issues/119#issuecomment-1274013176>. 
>>>>>> *
>>>>>>
>>>>>>
>>>>>>
>>>>>> Debuggability
>>>>>>
>>>>>>
>>>>>> * This feature affects values provided to Protected Audience scripts
>>>>>> (generateBid(), reportResult(), reportWin()) which are debuggable via
>>>>>> Chrome DevTools.  This feature also includes console log warnings on 
>>>>>> parse
>>>>>> failures. *Will this feature be supported on all six Blink platforms
>>>>>> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
>>>>>>
>>>>>>
>>>>>> * It will be supported on all platforms that support Protected
>>>>>> Audience, so all but WebView. *Is this feature fully tested by
>>>>>> web-platform-tests
>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>> ?
>>>>>>
>>>>>>
>>>>>> * We plan to add WPTs to cover this API in the next month. *Flag
>>>>>> name on chrome://flags
>>>>>>
>>>>>>
>>>>>> * None *Finch feature name
>>>>>>
>>>>>>
>>>>>> * FledgeDirectFromSellerSignalsHeaderAdSlot *Requires code in
>>>>>> //chrome?
>>>>>>
>>>>>>
>>>>>> * False *Estimated milestones
>>>>>>
>>>>>>
>>>>>> * Shipping on desktop and Android in M117. *Anticipated spec changes
>>>>>>
>>>>>>
>>>>>> * None related to this feature. *Link to entry on the Chrome
>>>>>> Platform Status
>>>>>>
>>>>>> https://chromestatus.com/feature/5165311598264320
>>>>>>
>>>>>> 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/CABQTWrkbaAuRoxPUtrQnxyS-W%3DfZjba1JN%
>>>>>> 2BHCHyLmKCKveHXOg%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABQTWrkbaAuRoxPUtrQnxyS-W%3DfZjba1JN%2BHCHyLmKCKveHXOg%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/5c238b79-7120-4089-a8d7-dc1e67f956fcn%40chromium.org
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5c238b79-7120-4089-a8d7-dc1e67f956fcn%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/CAL5BFfWyKR0oFkjZqos1SmW1-q5DQajfnjsZDeOPJBRB2j45QA%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWyKR0oFkjZqos1SmW1-q5DQajfnjsZDeOPJBRB2j45QA%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/CAChiYOUSDby6xUQFiyz-Q5troXvWLP0CHisJgcB%2BvaugCZVqNw%40mail.gmail.com.

Reply via email to