Skip to content

Sporadic failure to dispatch push notifications is invisible to consuming app #55

@JimKerslake

Description

@JimKerslake

Very occasionally:

Failed requesting push message delivery to "https://wns2-ln2p.notify.windows.com/w/?token=BQYAAAAX******".

Exception
System.InvalidOperationException: The request message was already sent. Cannot send the same request message multiple times. at System.Net.Http.HttpClient.CheckRequestMessage(HttpRequestMessage request) at System.Net.Http.HttpClient.CheckRequestBeforeSend(HttpRequestMessage request) at Lib.Net.Http.WebPush.PushServiceClient.RequestPushMessageDeliveryAsync(PushSubscription subscription, PushMessage message, VapidAuthentication authentication, VapidAuthenticationScheme authenticationScheme, CancellationToken cancellationToken) at cloudscribe.PwaKit.Services.PushServicePushNotificationService.SendNotificationAsync(PushSubscription subscription, PushMessage message, CancellationToken cancellationToken)

But because this is happening from a background task / queue in this assembly, there is no way that this can report the failure back up to a consuming app so that it can re-schedule and try again. Failure is therefore invisible in consuming app (apart from the log line above).

Try updating:
Lib.Net.Http.WebPush
Lib.AspNetCore.WebPush

But also perhaps need some kind of injectable custom error handler somewhere in around
DequeueMessagesAsync >> SendNotificationAsync >> HandlePushMessageDeliveryExceptionAsync

Is this perhaps even something at the endpoint side of things?:
https://wns2-ln2p.notify.windows.com/w/
Test - does it happen with google endpoints too?
It's very sporadic - (not provoked it today at all yet.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions