Contact emails
rak...@chromium.org, m...@chromium.org

Explainer
https://github.com/explainers-by-googlers/fetch-retry/tree/main


Specification
None


Design docs

https://docs.google.com/document/d/1C9lAn3tqXsrjxiid1qCC9qSL7jfA1PZdoo2lgL8L5Pw/edit?tab=t.0


Summary

Allow web developers to indicate that a fetch() request should be retried, to 
have a greater guarantee on it being reliably sent, even if network is flaky. 
This is especially important for keepalive fetches, where the request might 
outlive the document, which can no longer watch for its failure and do manual 
retry. We intend to only support this for keepalive fetches for now because of 
implementation simplicity, and also the fact that all the use cases would 
benefit from being keepalive first.



Blink component
Blink>Loader


TAG review
None


TAG review status
Pending


Risks




Interoperability and Compatibility

None


Gecko: No signal

WebKit: No signal (https://github.com/whatwg/fetch/issues/1838) Safari devs 
have responded in the proposal thread and gave constructive feedback and 
doesn't seem to be opposed.

Web developers: Positive 
(https://github.com/whatwg/fetch/issues/1838#issuecomment-3035074583) Internal 
developers interested in origin trial. External developers have proposed a 
similar feature/made libraries similar to this, and generally seems interested 
in the proposal thread.

Other signals:


Security

Resource Exhaustion: Malicious or misconfigured sites could attempt to trigger 
excessive retries, potentially impacting network resources or target servers. 
Mitigation relies on browsers enforcing strict, reasonable limits on 
maxAttempts and maxAge, alongside implementing backoff delays. Timing 
Attacks/Information Leakage: The timing patterns of retry attempts could 
theoretically leak some information about network conditions. This is unlikely 
to provide substantially more information than can already be inferred by 
observing standard network request timings and failures. Additionally the 
browser will ensure that the errors are not exposed to the script until max age 
set in the retry options is reached, regardless of whether a retry happened or 
not, and only the latest error is exposed instead of all attempts.The risk is 
considered low.



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




Goals for experimentation




Ongoing technical constraints

None



Debuggability

None



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?
No
This feature is essentially invisible to the script initiating the fetch since 
it can't know if a retry happened or not.



Flag name on about://flags



Finch feature name
FetchRetry


Requires code in //chrome?
False


Tracking bug
https://crbug.com/417930271


Estimated milestones


DevTrial on desktop 139

DevTrial on Android 139




Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5181984581877760?gate=5140384199737344


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACPC1r6QFoqcmdoEMeG4JKJXGLqvGW%2BMr-UZj%2Br6HrQ%3DTNqKYQ%40mail.gmail.com



This intent message was generated by Chrome Platform Status.

-- 
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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6877c5df.170a0220.a2b55.0311.GAE%40google.com.

Reply via email to