You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 34a51fc
Browse filesBrowse the repository at this point in the historyBrowse files
fix(reports): finish a submission even when its caller is cancelled
Lookup submits from a composition scope, so leaving the screen cancels the
submission. The send wraps a blocking OkHttp call, which runs to the end, and
the cancellation then threw away its 200: the report stayed in the outbox and
went out again two minutes later. The deployed Worker has no id dedup, so it
stores that twice. Cancelled just after the claim, a report was marked sent
for a day with nothing queued.
CommunityReportSubmitter.submit() now runs claim, enqueue, send and dequeue
under NonCancellable. A send torn down by its own transport with no queued
copy gives the claim back, since nothing will deliver it. The report client
gains a 60 s call timeout, so the direct attempt, now uncancellable, always
ends inside the outbox's two-minute hold.
The CHANGELOG bullets that described the Worker as deployed with its
duplicate marker and id support now say the id is used by the updated Worker,
which isn't deployed yet.
Tests: CommunityReportSubmitterTest gains a report delivered after its
caller was cancelled (dequeued), a claim whose caller was cancelled (still
queued and sent), a torn-down send with no queue (claim released), and the
call timeout staying under the outbox hold. Three mutants are each killed by
name.
0 commit comments