Closed Bug 1473763 Opened 6 years ago Closed 1 year ago

Notification not displayed if 2+ pushes are sent when browser is closed on Windows

Categories

(Cloud Services Graveyard :: Server: WebPush, defect)

62 Branch
x86_64
Windows 10
defect
Not set
normal

Tracking

(firefox62 affected, firefox63 affected, firefox64 affected)

RESOLVED FIXED
Tracking Status
firefox62 --- affected
firefox63 --- affected
firefox64 --- affected

People

(Reporter: jkasten, Unassigned)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36

Steps to reproduce:

1. Register for push notification and send one, ensuring it displays as normal
2. Close Firefox completely
3. Send 2 notifications to your push token
4. Open Firefox


## Additional Details:

### Tested Envs:
This is only an Issue on Windows, macOS does not have this issue. Test on Windows 10 64bit with both Firefox 62.0b5 (64bit) and Firefox 61.0.1 (64bit).

### Extra Logging:
The attached log shows that the notification payloads are received. It also shows they are displayed however it also logs that they are closed right away.
This logging that was used was turned on with the following;
Open about:config and set `dom.push.loglevel` to debug.
Open the "Bowser Console" Control+Shift+J after restarting Firefox.

### Senerios Tested
In testing 1 notification sent while the browser is closed works but 2+ results in none being displayed. Even if the push header topics for 2+ notifications are the same or different.


Actual results:

No notifications are displayed


Expected results:

1 or more notification should have displayed
OS: Unspecified → Mac OS X
Hardware: Unspecified → x86
OS: Mac OS X → Windows 10
Hardware: x86 → x86_64
Hello Jkasten,

Can you please provide some more information on how to "Register for push notification and send one", we need exact steps to reproduce in order to confirm it.

Thank you for your contribution!
Flags: needinfo?(jkasten)
The issue is reproducible with any push service but the following example page is an easy way to reproduce the issue.
Expanding on the "Steps to reproduce:" section;

1. Visit https://gauntface.github.io/simple-push-demo/
2. Click "Enable Push Notifications"
3. Press "Allow Notifications"
4. Under the "CURL Command" section on this page copy the curl command
5. Run this command from *nix machine, such as Linux or macOS
6. Ensure a notification show up on the Windows 10 test machine
7. Close the Firefox browser and the notification on the Windows test machine
8. Run the curl command two times
9. Open Firefox on the Windows machine
10. No notifications are displayed
11. If you only send one on step 8 the notification will be displayed on step 10.

On step 5 the following Invoke-WebRequest command from Powershell on Windows can be used instead of having to run the curl command from another machine

$endpointURL = "https://updates.push.services.mozilla.com/wpush/v2/YOUR_FULL_ENDPOINT_HERE"
$headers = @{}
$headers.Add('TTL', 3600)
$headers.Add('Authorization','YOUR_FULL_AUTHORIZATION_HERE')
$headers.Add('Crypto-Key','YOUR_FULL_CRYPTO_KEY')

Invoke-WebRequest $endpointURL -Method POST -Headers $headers
Flags: needinfo?(jkasten)
(In reply to Bodea Daniel [:danibodea] from comment #1)
> Hello Jkasten,
> 
> Can you please provide some more information on how to "Register for push
> notification and send one", we need exact steps to reproduce in order to
> confirm it.
> 
> Thank you for your contribution!

Thanks for getting back to me, just added more details in my comment above.
Flags: needinfo?(past)
Component: Untriaged → WebPush
Flags: needinfo?(past)
Product: Firefox → Cloud Services
Maybe JR has some insights into what is going on here?
Flags: needinfo?(jrconlin)
Looks like the push notifications are delivered correctly. The problem may be either in the push message dispatch, the service worker, or the Notification system, but it appears to be somewhere in the client code. 

Lina might be able to help suss out what's broken in here, or at least know who should take a look at what's going on.
Flags: needinfo?(jrconlin) → needinfo?(kit)
(In reply to JR Conlin [:jrconlin,:jconlin] from comment #5)
> Looks like the push notifications are delivered correctly. The problem may
> be either in the push message dispatch, the service worker, or the
> Notification system, but it appears to be somewhere in the client code. 
> 
> Lina might be able to help suss out what's broken in here, or at least know
> who should take a look at what's going on.


The notification is being received as this shows up in the "Bowser Console" log. Push logging can be enabled by opening about:config and setting `dom.push.loglevel` to debug. Then open "Bowser Console" Control+Shift+J after restarting Firefox 

The following entries from my attached browser_log_on_start_of_firefox.txt log is that it is even displaying the notification but it seems Firefox might be closing it right away.
```
PushService: notificationForOriginClosed() https://onesignal.com PushService.jsm:884
PushService: notificationForOriginClosed: closing notification that has not been shown? PushService.jsm:889
PushService: notificationForOriginShown() https://onesignal.com PushService.jsm:873
```
Thanks for posting the logs, Jkasten, and apologies for the delay in getting back to you! This looks similar to bug 324570 (bug 1083558) and maybe bug 1263155; we've had several issues with notification positioning on Windows, since we use our own XUL windows and need to manually position them.

Bug 1155505 changes Firefox to use native notifications on Windows 10, so I suspect this will end up being fixed via that bug. Unfortunately, I don't think we have cycles to figure out the issue with XUL alerts. :-/
Flags: needinfo?(lina)
See Also: → 1155505
I could finally confirm the issue on the main Firefox versions (v64.0a1, v63.0b8, v62.0.2) on Windows 10 and Mac OS X 10.13.6, using the STR from comment 2.

Thank you!
Status: UNCONFIRMED → NEW
Ever confirmed: true
See Also: → 1152351
(In reply to Lina Cambridge (she/her) [:lina] from comment #7)
> Thanks for posting the logs, Jkasten, and apologies for the delay in getting
> back to you! This looks similar to bug 324570 (bug 1083558) and maybe bug
> 1263155; we've had several issues with notification positioning on Windows,
> since we use our own XUL windows and need to manually position them.
> 
> Bug 1155505 changes Firefox to use native notifications on Windows 10, so I
> suspect this will end up being fixed via that bug. Unfortunately, I don't
> think we have cycles to figure out the issue with XUL alerts. :-/

Thanks for getting back to me Lina!, I concur on prioritizing bug 1263155 over this XUL bug. I think it will still be good if Mozilla could come back to this issue sometime for those still on Windows 7 and 8.X, and maybe Linux (if XULs views are used there).

(In reply to Bodea Daniel [:danibodea] from comment #8)
> I could finally confirm the issue on the main Firefox versions (v64.0a1,
> v63.0b8, v62.0.2) on Windows 10 and Mac OS X 10.13.6, using the STR from
> comment 2.
> 
> Thank you!

Thanks for testing and confirming! I wasn't able to reproduce this issue on macOS 10.13.5, just Windows. Did you change a Firefox flag to get macOS to use XUL views for notifications? As notifications normally show natively with macOS's Notification Center. I wasn't able to find such a setting.
See Also: → 1493941
I'm sorry for the confusion made because of the hurry. I am sure about the results on Windows; I have rechecked the STR in comment 2 on Ubuntu and Mac OSX and these are my results:
1. Ubuntu 16.04 LTS: After sending 2 notifications to Nightly and opening the browser, only one of them would be displayed.
2. Mac OS X 10.13.6: After sending 2 notifications to Nightly and opening the browser, only one of them would be displayed.

It appears that this issue is specific to the Windows platform, while another seems to be reproducing on the other 2 operating systems, which is when 2 notifications are expecting to be displayed, only one of them will; issue logged: 1493941.
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Product: Cloud Services → Cloud Services Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: