Report delivery - executing steps "asynchronously" and queueing tasks on which event loop?
@clelland is already working on this.
Since Jun 20, 2022.
- Dominant language
- Bikeshed
- Stars
- 84
- Forks
- 39
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 1
Description
https://w3c.github.io/reporting/#send-reports says
(3.3.) For each (origin, per-origin reports) pair in origin map, execute the following steps asynchronously:
(3.3.1.) Let result be the result of executing § 3.5.2 Attempt to deliver reports to endpoint on endpoint, origin, and per-origin reports.
Should that say "in parallel" instead of "asynchronously"?
-> https://w3c.github.io/reporting/#try-delivery
(3.) Queue a task to fetch request.
Which event loop is that queued for? Since sending reports is arbitrarily delayed, the window or worker from which they originated could be long gone, and their event loop too. Or even if it's from a document that has been navigated away but is still in history, it's not active, so tasks won't run until it's navigated back and activated.
Which is to say, I'm not sure it works to queue a task here. Presumably you want the reports to be sent when the UA tries to send them, regardless of the state or the originating context.
Am I missing something? Do implementations queue a task here?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.