Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #40919 > unrolled thread
| Started by | Jan Bruns <ebay@abnuto.de> |
|---|---|
| First post | 2022-06-23 06:41 +0000 |
| Last post | 2022-09-22 07:24 -0700 |
| Articles | 6 — 3 participants |
Back to article view | Back to comp.lang.javascript
webpush duplicate notifications Jan Bruns <ebay@abnuto.de> - 2022-06-23 06:41 +0000
Re: webpush duplicate notifications Jan Bruns <ebay@abnuto.de> - 2022-06-26 02:42 +0000
Re: webpush duplicate notifications Jan Bruns <ebay@abnuto.de> - 2022-06-26 05:01 +0000
Re: webpush duplicate notifications Jan Bruns <ebay@abnuto.de> - 2022-06-27 08:50 +0000
Re: webpush duplicate notifications Härra Rabmo <ingel1983912@gmail.com> - 2022-07-06 09:13 -0700
Re: webpush duplicate notifications "He, who travels time to time" <he1983912@aol.com> - 2022-09-22 07:24 -0700
| From | Jan Bruns <ebay@abnuto.de> |
|---|---|
| Date | 2022-06-23 06:41 +0000 |
| Subject | webpush duplicate notifications |
| Message-ID | <jhig9bF9s16U1@mid.individual.net> |
Hallo, I'm currently playing with a minimalistic webpush setup, using notifies without payload (using service worker code to fetch the notification cause to display). For Desktop Chomium+FF, everything seems to work as I expected so far. But on android, when the fon is in low power mode during the the event, I get an additional, android generated notification (about my "app" having had an update in the background. I've never noticed such notifications before). My guess is: if this prob can be solved somehow (without specific user interaction), then it could only be the service worker js code. But I'm completely out of ideas about what I could try. It's not ev.preventDefault(), I guess. If you can ignore lot's of useless console.logs, hardcoded urls/test msgs and outdated comments from tutorial imports, you could have a look at the service worker code here: https://jan.abnuto.de/pushtest/service-worker.js Well, maybe using payload notfies could also sanitize things (maybe it's a little more clear that visile user notification is intended in that case). But payload data would only complicate things up a lot for me, especially given that webpush might not yet have reached stable specification state. Gruss Jan Bruns
[toc] | [next] | [standalone]
| From | Jan Bruns <ebay@abnuto.de> |
|---|---|
| Date | 2022-06-26 02:42 +0000 |
| Message-ID | <jhpvbsFd85oU1@mid.individual.net> |
| In reply to | #40919 |
To clarify the question and/or ease up a similar experiment for others... A website/client registers web-push for my domain (by calling pushManager.subscribe()), and sends the relevant subscription data to my Notification source server. On that server, to send a notification, I run the command curl -v -X POST -H "Authorization: Bearer $jwt" -H "Crypto-Key: p256ecdsa=$pubkey" -H "TTL:0" $link where $pubkey is the same as the one that was passed to pushManager.subscribe(), $link is the endpoint as returned by that call, and $jwt is some infoblock signed using the private key corresponding to $pubkey. A Desktop FireFox behaves exactly as expected: If it is running, it displays the Notification (no matter if the specific site is running). Also if it isn't running, but is coming up within the specified TTL. For Desktop Chromium, the behaviour is similar, but if the browser window isn't maximized and doesn't show a tab with the site, it geneates an addional Notification about backgound activity (that I don't intend to generate!). https://jan.abnuto.de/pushtest/Screenshot_desktop.png With android chromium, the behaviour is similar to desktop chromium, but a little relaxed in terms of "browser is running" as well as "tab showing site", but the issue remains the same: https://jan.abnuto.de/pushtest/Screenshot_20220626-031943_Chrome.jpg How to prevent this additional Notification? My guess is that it is shown because of the fetch (to give the user some impression about tracking?). But I think it can also be closed (even though I haven't yet functional code that doesn't break cross-brwoser compatibility). Does it maybe have a specific tag, so that it can be updated by the real notification? Maybe some non-standard info I could include into the $jwt? (it's currently only: sub,aud,exp). Gruss Jan Bruns PS: this service worker was used here: https://jan.abnuto.de/pushtest/sw2.js and, finally, here's a perl-script that can be used to generate the jwt, to be called like: $(perl perl.pl "https://host-from-endpoint" "mailto:admin@notify-sender" seconds-jwt-valid) https://jan.abnuto.de/pushtest/perl.pl
[toc] | [prev] | [next] | [standalone]
| From | Jan Bruns <ebay@abnuto.de> |
|---|---|
| Date | 2022-06-26 05:01 +0000 |
| Message-ID | <jhq7h0Fd85oU2@mid.individual.net> |
| In reply to | #40927 |
Jan Bruns: > PS: this service worker was used here: > https://jan.abnuto.de/pushtest/sw2.js Tested this version which passes a new Promise to waitUntil(), that only gets resolved after the notification is created. But the Problem remains the same. https://jan.abnuto.de/pushtest/sw3.js What else could be tried? Gruss Jan Bruns
[toc] | [prev] | [next] | [standalone]
| From | Jan Bruns <ebay@abnuto.de> |
|---|---|
| Date | 2022-06-27 08:50 +0000 |
| Message-ID | <jht9a9F2p8rU1@mid.individual.net> |
| In reply to | #40928 |
Jan Bruns: > What else could be tried? Well, after getting payload-data to work using https://github.com/web-push-libs/ecec I found out that even that way (without fetch() in the service worker code) the duplicate notification problem persisted. And the problem was: For Desktop Chromium, it's not enough to simply call showNotification(). The push-event also needs to be waitUntil'ed for the promise returned by showNotification(). Gruss Jan Bruns
[toc] | [prev] | [next] | [standalone]
| From | Härra Rabmo <ingel1983912@gmail.com> |
|---|---|
| Date | 2022-07-06 09:13 -0700 |
| Message-ID | <589be123-d6d7-48ae-8ae6-ddfc1d952468n@googlegroups.com> |
| In reply to | #40919 |
Hey guy. Would You want to get rich with me doing programming? If yes, call me !!!!!!!!! ✆☎☏📱📞 : 372 53900660 Jan Bruns kirjutas Neljapäev, 23. juuni 2022 kl 08:41:55 UTC+2: > Hallo, > > I'm currently playing with a minimalistic webpush setup, using notifies > without payload (using service worker code to fetch the notification > cause to display). > > For Desktop Chomium+FF, everything seems to work as I expected so far. > > But on android, when the fon is in low power mode during the the event, I > get an additional, android generated notification (about my "app" having > had an update in the background. I've never noticed such notifications > before). > > My guess is: if this prob can be solved somehow (without specific user > interaction), then it could only be the service worker js code. But I'm > completely out of ideas about what I could try. It's not > ev.preventDefault(), I guess. > > If you can ignore lot's of useless console.logs, hardcoded urls/test msgs > and outdated comments from tutorial imports, you could have a look at the > service worker code here: > > https://jan.abnuto.de/pushtest/service-worker.js > > Well, maybe using payload notfies could also sanitize things (maybe it's > a little more clear that visile user notification is intended in that > case). But payload data would only complicate things up a lot for me, > especially given that webpush might not yet have reached stable > specification state. > > Gruss > > Jan Bruns
[toc] | [prev] | [next] | [standalone]
| From | "He, who travels time to time" <he1983912@aol.com> |
|---|---|
| Date | 2022-09-22 07:24 -0700 |
| Message-ID | <01e4629a-4a4d-4462-9ad4-4934b8104229n@googlegroups.com> |
| In reply to | #40919 |
Hey... Want to talk? Call me.... My telephone number >>>> (+372) 56330687 Jan Bruns kirjutas Neljapäev, 23. juuni 2022 kl 09:41:55 UTC+3: > Hallo, > > I'm currently playing with a minimalistic webpush setup, using notifies > without payload (using service worker code to fetch the notification > cause to display). > > For Desktop Chomium+FF, everything seems to work as I expected so far. > > But on android, when the fon is in low power mode during the the event, I > get an additional, android generated notification (about my "app" having > had an update in the background. I've never noticed such notifications > before). > > My guess is: if this prob can be solved somehow (without specific user > interaction), then it could only be the service worker js code. But I'm > completely out of ideas about what I could try. It's not > ev.preventDefault(), I guess. > > If you can ignore lot's of useless console.logs, hardcoded urls/test msgs > and outdated comments from tutorial imports, you could have a look at the > service worker code here: > > https://jan.abnuto.de/pushtest/service-worker.js > > Well, maybe using payload notfies could also sanitize things (maybe it's > a little more clear that visile user notification is intended in that > case). But payload data would only complicate things up a lot for me, > especially given that webpush might not yet have reached stable > specification state. > > Gruss > > Jan Bruns
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.javascript
csiph-web