Alex,

We're currently implementing the V2 changes and have some CLs in progress
to that end.  Earlier this week, we posted plans to have a prototype next
quarter
<https://github.com/WICG/turtledove/issues/1105#issuecomment-2043779939>.

On Wed, Apr 10, 2024 at 12:46 PM Alex Russell <slightly...@chromium.org>
wrote:

> Now that this has approval, it would be good to understand when the V2
> changes to move to POST are anticipated to go out and the deprecation
> timline for this version.
>
> Best,
>
> Alex
>
> On Wednesday, April 10, 2024 at 8:43:17 AM UTC-7 Daniel Bratell wrote:
>
>> LGTM3
>>
>> /Daniel
>> On 2024-04-08 17:37, Yoav Weiss (@Shopify) wrote:
>>
>> LGTM2
>>
>> On Mon, Apr 8, 2024 at 5:36 PM Mike Taylor <miketa...@chromium.org>
>> wrote:
>>
>>> LGTM1
>>> On 4/3/24 11:05 AM, Daniel Bratell wrote:
>>>
>>> Thanks, that clarifies a bit and calms my worries considerably.
>>>
>>> /Daniel
>>> On 2024-03-29 14:27, Paul Jensen wrote:
>>>
>>> Daniel, I hear your concerns, but I should clarify that this splitting
>>> up of large requests does not do any reassembly or combining of
>>> responses, so sequencing or ordering between responses is not a concern.
>>> The Key-Value servers answering the queries are stateless and should
>>> have no ability to associate requests
>>> <https://github.com/privacysandbox/protected-auction-services-docs/blob/main/key_value_service_trust_model.md#:~:text=the%20return%20value%20for%20each%20key%20will%20be%20based%20only%20on%20that%20key>.
>>>
>>> The browser has a number of interest groups or bids that need their
>>> trusted signals fetched.  The browser can make each fetch individually or
>>> in a combined fashion, but each individual response is only supplied to the
>>> corresponding requesters; responses are not combined for requesters.
>>>
>>> On Wed, Mar 27, 2024 at 12:21 PM Daniel Bratell <bratel...@gmail.com>
>>> wrote:
>>>
>>>> I can't help thinking about all the problems exposed when malicious use
>>>> of Out of Sequence TCP became a thing among the evil-doers. It turned out
>>>> that once you split something up, it's not always easy to put it back
>>>> together again. It is a solved problem (but not quite, I found newly
>>>> discovered exploits when searching for references) in network layers but
>>>> only through a lot of pain and suffering.
>>>>
>>>> There were the things that people with evil intent did, like sending
>>>> only part of a sequence, filling up buffers that were waiting for the rest
>>>> or reorder in complicated ways, or make a million small parts instead of
>>>> one large. Could that become an attack surface here?
>>>>
>>>> And there were the random reordering that just happened due to networks
>>>> being unpredictable which servers were in general badly equipped to handle.
>>>> Could reordering happen here?
>>>>
>>>> Either way, I worry that this could become a source of random problems
>>>> that would be hard to understand or debug. Is there any third or fourth
>>>> option to consider?
>>>>
>>>> /Daniel
>>>> On 2024-03-25 17:44, 'Paul Jensen' via blink-dev wrote:
>>>>
>>>>
>>>>
>>>> On Wed, Mar 20, 2024 at 2:02 PM Yoav Weiss (@Shopify) <
>>>> yoavwe...@chromium.org> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Thu, Mar 14, 2024 at 8:48 PM Paul Jensen <pauljen...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Contact emails
>>>>>>
>>>>>> pauljen...@chromium.org
>>>>>>
>>>>>>
>>>>>> Explainer
>>>>>>
>>>>>> Split up large trusted signals fetches:
>>>>>> https://github.com/WICG/turtledove/pull/1070
>>>>>>
>>>>>> deprectedReplaceInURN via auction config:
>>>>>> https://github.com/WICG/turtledove/pull/1069
>>>>>>
>>>>>>
>>>>>> Specification
>>>>>>
>>>>>> Split up large trusted signals fetches:
>>>>>> https://github.com/WICG/turtledove/pull/1065
>>>>>>
>>>>>> deprectedReplaceInURN via auction config:
>>>>>> https://github.com/WICG/turtledove/pull/1051
>>>>>>
>>>>>>
>>>>>> Summary
>>>>>>
>>>>>> These are the changes to Protected Audience that we’d like to ship:
>>>>>>
>>>>>> Split up large trusted signals fetches:
>>>>>>
>>>>>> During Protected Audience auctions the browser fetches real-time
>>>>>> signals from buyers' and sellers' key-value servers. These fetches are
>>>>>> currently HTTP GET requests with URLs that the browser assembles by
>>>>>> concatenating several individual requests together. The URLs can grow
>>>>>> larger than some HTTP servers support resulting in failing requests and
>>>>>> reduced website ad revenue. The proposal here is for buyers and sellers 
>>>>>> to
>>>>>> specify the maximum size of these URLs and for the browser to split large
>>>>>> requests into chunks no larger than the specified maximum size.
>>>>>>
>>>>>
>>>>> If I understand correctly what y'all are trying to do here, you're
>>>>> trying to effectively recreate with GETs what should've been a POST.
>>>>> Is the reasoning for that outlined somewhere?
>>>>>
>>>>> POSTs have many advantages over GETs when transferring large amounts
>>>>> of data to the server. Most importantly, they tend to actually pass
>>>>> through. Beyond that, the data is not typically saved to logs (whereas 
>>>>> URLs
>>>>> often are). Finally, in theory POST request bodies could be compressed,
>>>>> although that's rarely used in practice.
>>>>>
>>>>
>>>> You make good points about POST vs GET usage here, and we agree with
>>>> most of them.  We in fact announced our plans to transition the
>>>> Protected Audience trusted signals fetches to POST and add compression
>>>> <https://github.com/WICG/turtledove/commit/d58a984d9088978b9ee9012a8ab869addfea2d1a>
>>>> more than a year ago in our version 2 of the API.  GET, however, has the
>>>> huge advantage of facilitating HTTP caching in the browser while it’s
>>>> proving very complicated to architect and implement caching for the trusted
>>>> signals fetches when POST is used.  We’re making good progress towards this
>>>> new caching and protocol version 2, but it’s going to take more time, so
>>>> splitting up trusted signals fetches is necessary until version 2 is ready.
>>>>
>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> deprectedReplaceInURN via auction config:
>>>>>>
>>>>>> Protected Audience ad selection auctions return an opaque URN or
>>>>>> FencedFrameConfig that can be used to display the selected ad creative. 
>>>>>> To
>>>>>> facilitate adoption, until at least 2026, we agreed to support an API
>>>>>> called deprecatedReplaceInURN() that allows replacing macros in the ad
>>>>>> creative URL with information from the page where the ad will be 
>>>>>> displayed.
>>>>>> This is useful for better supporting video ads, some brand safety checks,
>>>>>> and other use cases. Today, this API’s ergonomics are not great for
>>>>>> component sellers (i.e. sellers other than the top-level seller). We're
>>>>>> making it possible for all component sellers to be able to specify macro
>>>>>> replacements in their auction configs.
>>>>>>
>>>>>>
>>>>>> Blink component
>>>>>>
>>>>>> Blink>InterestGroups
>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInterestGroups>
>>>>>>
>>>>>>
>>>>>> TAG review
>>>>>>
>>>>>> For Protected Audience:
>>>>>> https://github.com/w3ctag/design-reviews/issues/723
>>>>>>
>>>>>>
>>>>>> TAG review status
>>>>>>
>>>>>> Completed for Protected Audience, resolved unsatisfied.
>>>>>>
>>>>>>
>>>>>> Risks
>>>>>>
>>>>>> Interoperability and Compatibility
>>>>>>
>>>>>> Both features represent optional new behavior that shouldn’t break
>>>>>> existing usage.
>>>>>>
>>>>>> 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:
>>>>>>
>>>>>> Split up large trusted signals fetches: 4+ companies requesting on Github
>>>>>> issue <https://github.com/WICG/turtledove/issues/767>.
>>>>>>
>>>>>> deprectedReplaceInURN via auction config: 4+ companies requesting on
>>>>>> Github here
>>>>>> <https://github.com/WICG/turtledove/issues/286#issuecomment-1910551260>
>>>>>> and here
>>>>>> <https://github.com/WICG/turtledove/issues/931#issuecomment-1911192809>
>>>>>> .
>>>>>>
>>>>>>
>>>>>> Debuggability
>>>>>>
>>>>>> Both of these settings and the resulting network requests are visible
>>>>>> in DevTools.
>>>>>>
>>>>>>
>>>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>>>> Mac, Linux, ChromeOS, 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 have started web-platform-tests and plan to land them for both
>>>>>> features shortly.
>>>>>>
>>>>>>
>>>>>> Flag name on chrome://flags
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> Finch feature name
>>>>>>
>>>>>> kFledgeSplitTrustedSignalsFetchingURL,
>>>>>> kEnableDeprecatedRenderURLReplacements
>>>>>>
>>>>>>
>>>>>> Requires code in //chrome?
>>>>>>
>>>>>> False
>>>>>>
>>>>>>
>>>>>> Estimated milestones
>>>>>>
>>>>>> Shipping on desktop and Android in M123.
>>>>>>
>>>>>>
>>>>>> Anticipated spec changes
>>>>>>
>>>>>> None
>>>>>>
>>>>>>
>>>>>> Link to entry on the Chrome Platform Status
>>>>>>
>>>>>> https://chromestatus.com/feature/5619781148606464
>>>>>>
>>>>>>
>>>>>> 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/CABQTWr%3DJ5_fT2EQc-YyqfYL5-GZdnj12WpApCUVD6U3eC7D6DA%40mail.gmail.com
>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABQTWr%3DJ5_fT2EQc-YyqfYL5-GZdnj12WpApCUVD6U3eC7D6DA%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/CABQTWrnOhtvX-CQDX_NqQSBB0OfoFWWmu4d9tGg-KpVo7UkeUg%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABQTWrnOhtvX-CQDX_NqQSBB0OfoFWWmu4d9tGg-KpVo7UkeUg%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/c05857a0-c4b4-4623-b08f-dd4f5c95784e%40gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c05857a0-c4b4-4623-b08f-dd4f5c95784e%40gmail.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/CABQTWrk%3DXb_SXNSnvYgw9yz839%2BpAfPwKNJzNdjZ0k4fc2eAXg%40mail.gmail.com.

Reply via email to