Maestro task 32a1a4ad-9221-46de-8468-3ffce19b108c. internal/push implements the notify push-channel sender over SherClockHolmes/webpush-go: sends {title,body,url,tag} with TTL 12h to every subscription, records last_success_at, increments failure_count, deletes 404/410 subscriptions, and reports sent when at least one device succeeded (no subscriptions = sent with a note). See the task done-condition and the developer report on the PR.
Maestro task 32a1a4ad-9221-46de-8468-3ffce19b108c. internal/push implements the notify push-channel sender over SherClockHolmes/webpush-go: sends {title,body,url,tag} with TTL 12h to every subscription, records last_success_at, increments failure_count, deletes 404/410 subscriptions, and reports sent when at least one device succeeded (no subscriptions = sent with a note). See the task done-condition and the developer report on the PR.
push.Sender implements notify.Sender for the "push" channel with
webpush-go and the VAPID key pair: it sends {title, body, url, tag} to
every stored subscription with a TTL of 12 hours, one request each.
Per subscription, an accepted notification records last_success_at, any
failure increments failure_count, and a 404 or 410 deletes the
subscription. Send succeeds when one device accepted it or when there
are no subscriptions (logged as nothing to send); otherwise it returns
an error so the outbox retries. Errors and logs name subscriptions by
id; a transport *url.Error is unwrapped so the endpoint is never quoted.
A mailto: VAPID subject is passed to webpush-go as its bare address,
since webpush-go prefixes mailto: itself.
The server registers the sender with the notify service.
Maestro task 32a1a4ad-9221-46de-8468-3ffce19b108c.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Maestro task 32a1a4ad-9221-46de-8468-3ffce19b108c. internal/push implements the notify push-channel sender over SherClockHolmes/webpush-go: sends {title,body,url,tag} with TTL 12h to every subscription, records last_success_at, increments failure_count, deletes 404/410 subscriptions, and reports sent when at least one device succeeded (no subscriptions = sent with a note). See the task done-condition and the developer report on the PR.
push.Sender implements notify.Sender for the "push" channel with webpush-go and the VAPID key pair: it sends {title, body, url, tag} to every stored subscription with a TTL of 12 hours, one request each. Per subscription, an accepted notification records last_success_at, any failure increments failure_count, and a 404 or 410 deletes the subscription. Send succeeds when one device accepted it or when there are no subscriptions (logged as nothing to send); otherwise it returns an error so the outbox retries. Errors and logs name subscriptions by id; a transport *url.Error is unwrapped so the endpoint is never quoted. A mailto: VAPID subject is passed to webpush-go as its bare address, since webpush-go prefixes mailto: itself. The server registers the sender with the notify service. Maestro task 32a1a4ad-9221-46de-8468-3ffce19b108c. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Independent Codex gpt-6-sol review: APPROVED for this exact commit.