w3c / w3c/reporting

Report delivery - executing steps "asynchronously" and queueing tasks on which event loop?

Open
#235 4 comments 0 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.