Implement Badging API

,

There is a new web API that allows installed web apps to show a icon to warn the user about pending notifications.

Explainer: https://github.com/WICG/badging/blob/master/explainer.md

Currently, this is only available for websites who sign up to the trial, and only on Windows and Mac OS using Google Chrome. (Meta has this enabled on Light and Dark Themes).

This is how the looks on Windows:

Before a notification

image

After a notification

image

9 curtidas

Here’s how to test this in Windows on Chrome (latest version 73, just released today):

  • go to the three dots menu at the upper right in Chrome
  • select More Tools → Create Shortcut
  • tick the “Open as window” checkbox
  • select Create

Like so

I’ll try it out … it works!

5 curtidas

This is very cool! On mac, it’s the same process to install the app. Then when you launch it you get a super minimal PWA window:

And the notification badge in the dock:

56

9 curtidas

The huge omission here is that there is no back/forward or reload button. Kind of wish we had some minimal responsive PWA panel that we add when we detect PWA cause you can figure this out this is going on from JavaScript.

Step 1 here of course is a theme component.

6 curtidas

You can also detect it from CSS, here is one thing I added as a theme-component to the Dark Theme here in Meta:

@media all and (display-mode: standalone) {
    
    //blink-based browsers (don't work on safari, which exposes a JS only API for this)
    ::-webkit-scrollbar {
        background: $secondary;
    }
    ::-webkit-scrollbar-thumb {
        background: $header_primary-medium;
    }
    ::-webkit-scrollbar-corner {
        background: $secondary;
    }
    
    //firefox
    body {
        scrollbar-color: $header_primary-medium $secondary;
    }
}
6 curtidas

Another day, another feature! As with any new PWA feature, I wonder how well it works with Discourse… :thinking:

I’m excited to try it out. Badge notifications for the Discourse PWA in Chrome OS sounds absolutely amazing!

2 curtidas

We added support for the badging API back in early 2019, but we don’t call it when the app is closed at the moment as it wasn’t supported back then.

2 curtidas

And that is changing now, right?

2 curtidas

Feliz em relatar que o trabalho que fizemos aqui também nos dá distintivos no iOS mais recente

6 curtidas

Falco, existe a possibilidade de haver um comportamento de piscar ou alteração da cor de fundo se o valor da notificação mudar? (Cancelado por um clique aberto) Não estou familiarizado com a API aqui.

2 curtidas

Gostaria muito disso também. Particularmente útil em casos onde o Ícone de Marca é escuro e a notificação não aparece tão bem.

image

Por mais que eu não goste do MSTeams, o brilho laranja suave é aceitável como exemplo. Algo assim seria um toque muito bom.

Mais do que apenas Chrome:

Uma rápida atualização sobre os navegadores suportados:

Brave: Funciona da mesma forma que o Chrome
Firefox: Requer um complemento
Edge: Funciona da mesma forma que o Chrome e oferece a opção de iniciar o aplicativo automaticamente quando você o instala:

Para iniciar o aplicativo automaticamente no Chrome

  1. Clique nos trĂŞs pontos

  2. Clique em Informações do aplicativo

  3. Clique em configurações (Einstellung em alemão)

  4. Configure de acordo. Neste caso, “App beim Anmelden started” é a opção que estamos procurando

1 curtida