Coder Social home page Coder Social logo

web-push-book's Introduction

Build and Test

Publish

Building the Site

This site is built and deployed weekly via GitHub actions, so for an up-to-date set of steps look at .github/workflows/publish.yml.

Requirements

  • Node
  • Golang
  • Hugo (specific version enforced by gulp)
$ go get -u github.com/gauntface/go-html-asset-manager/cmds/htmlassets/
$ go get -u github.com/gauntface/go-html-asset-manager/cmds/genimgs/
$ npm install
$ npm run build

web-push-book's People

Contributors

brunovelasco avatar dennnnnnnnnnn avatar fluorescenthallucinogen avatar gauntface avatar greenkeeper[bot] avatar jeznag avatar kenrick95 avatar makoscafee avatar renovate-bot avatar renovate[bot] avatar talater avatar vswee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

web-push-book's Issues

Add Common Errors

  • Messages from GCM.
  • Messages from FCM.
  • Messages from Mozilla Autopush.
  • Default Notification
  • No Manifest
  • Empty Manifest / no gcm_sender_id

Receiving a 2nd notification before the 1st one has been fired (and aggreggating both of them)

Trying to bypass the size limit of push messages, I'm sending several push notifications that get aggregated by the browser.

But sometimes, irregularly and randomly, the 2nd notification is received before the 1st one is fired.

Then calling registration.getNotifications when the 2nd notification is received returns an empty array, the 1st one hadn't been fired.

To circumvent that, on server-side I'm sending notifications using setTimeout, something like that:

notifications.map((notification, index) =>
    setTimeout(() => sendNotification(notification), 150+index*150)
)

On client-side, I'm trying to force sequential firing of notification using setTimeout, but unsuccessfully.

Is there a way to aggregate these notifications when they're received in a very short delay ? Or would it be a bug ?

This happens on Android Chrome 59, Beta and Dev, and on Chrome 59 (Linux).

Can't send push notification to multiple devices

I've deployed https://github.com/gauntface/web-push-book/tree/master/src/demos/node-server app to Heroku: https://limitless-lowlands-14011.herokuapp.com

I can't send push notification to multiple devices. Something strange happens.

I've opened deployed app in Chrome browser on my Nexus 5 smartphone and subscribed to notifications, pressed "Trigger push message" button on admin panel and received push notification on the smartphone. Subscriber list contained only 1 id. All is ok.

Then I've opened deployed app in Chrome browser on my desktop and subscribed to notifications, pressed "Trigger push message" button on admin panel (using desktop) and received push notification only on desktop. I have not received push notification on the smartphone. Subscriber list contained 2 ids. I've also tried to additionally test it by pressing "Trigger push message" button on admin panel, but on my smartphone, but still received push notification only on desktop.

After that I've opened deployed app in Chrome browser on my Nexus 9 tablet and subscribed to notifications, tried to press "Trigger push message" button on admin panel using desktop, smartphone and tablet, but still received push notification only on desktop. Subscriber list contained 3 ids.

Additionally I've tried to open deployed app in another Chrome browser instance on my desktop (Chrome Canary) and in Firefox browser on my desktop — the same result — still received push notification only in Chrome on desktop. Subscriber list contained 5 ids.

Why the app doesn't send push notifications to all subscribers?

Typos

on page https://web-push-book.gauntface.com/chapter-06/01-non-standards-browsers/
paragraph 5
Intead of :
In this section we are going to look at we can add support for these browsers.
Write:
In this section we are going to look at how we can add support for these browsers.

on page https://web-push-book.gauntface.com/chapter-05/01-push-events/#the-push-event
paragraph 1
instead of :
When a message is received, it’ll result in a push event being dispatched in you service worker.
write :
When a message is received, it’ll result in a push event being dispatched in your service worker.

How to run it?

I've followed the steps to run site locally but I need to set up the demos
I did rvm . do bundle install
Now what?

notification.permission

Should use the permission API.

If not fall back for notification.permission BUT only call once.

Firebase Cloud Messaging is not fully Web Push spec compliant

Firebase Cloud Messaging (SDK, not endpoint) currently? is not fully Web Push spec compliant. It uses non-standard, e.g. "click_action" instead of "actions", and doesn't support many standard, e.g. "image", "badge", "sound" and etc., keys for notification messages. See Table 2c on https://firebase.google.com/docs/cloud-messaging/http-server-ref#notification-payload-support page.

Please add info about it to https://github.com/gauntface/web-push-book/blob/master/src/_content/chapter-07/01-faq.md#firebase-has-a-javascript-sdk-what-and-why.

Add Milestones Page

Chrome M51 Payload support (March 2016)
Samsung Payload support on Samsung Beta (March 2017) (See internet://version)

Placement of next arrow

The button for the next page falls out of the normal viewport for me (screenshot included). Was wondering if it's just my browser somehow or if it's even an actual issue
screenshot_20170204-153141
Kinda like how the back button lines up
screenshot_20170204-153137

Questions for PB

  • Is the info in HKDF used for ensuring decryption was successful or something else?

Beta Release

  • Finish Demos
  • Finish Sample App
  • Cover 410 to remove subscriptions
  • Cover 404 for expired subscriptions.....
  • Move around to covering the use of libraries first
  • Change over encryption and headers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.