Jami android notifications unified push

Suite du sujet Réception de messages avec latence (plusieurs heures ou jours après envoi) :

Bonjour,

Donc ici ça ne concerne que Android car UnifiedPush n’existe pas sur iOS.

J’ai du mal à comprendre comment savoir si UnifiedPush fonctionne bien ? Quel comportement devrait avoir Jami dans ce cas ?

Ce que je remarque c’est que si on installe Jami depuis GooglePlay, on ne peut pas s’enregistrer auprès d’un distributeur de “push notifications”. Alors que si on l’installe depuis F-DROID on arrive à s’enregistrer auprès de ntfy ou gCompat UP-Distributor (il essaie de s’enregistrer automatiquement à un distributeur à son lancement).

Concernant la liste des distributeur des “push notifications”, gCompat UP-Distributor n’est plus maintenu, donc il ne reste que “ntfy” que l’on peut installer depuis Google Play ou F-DROID (sauf si vous avez une version d’Android compatible).

A partir du moment où Jami a réussi à s’enregistrer sur un distributeur, on peut activer ou désactiver “Notifications poussées” dans “Paramètres avancées”. Le problème est que je ne vois pas de différence qu’il soit activé ou non.

Utilisez-vous Jami avec UnifiedPush d’activé ? Dans ce cas quel comportement observez-vous par rapport à une configuration sans ces “notifications poussées” ?

Bonjour @AcidLock ,
Vous aurez certainement plus de chance d’obtenir une réponse en ouvrant un ticket ici : https://git.jami.net/savoirfairelinux/jami-client-android/-/issues , les programmeurs jami fréquentent peu le forum mais sont joignable sur le gitlab.

Nous @verojean n’utilisons jami qu’a partir de notre PC Linux Mint et n’avons pas de mobile (ordiphone).

: Jami devrait sonner quand on vous appel et faire sonner l’appareil que vous appelez, délivrer pour chaque pair les notifications de lecture des messages textes, etc…
En bref, fonctionner comme un outil de communication ordinaire, bien que jami soit extra-ordinaire… puisque sans serveur intermédiaire ce qui est le cas de tous les autres qui fonctionnent sur une architecture centralisé ou décentralisé, jami fonctionne lui sur une architecture réseau distribué.

PS: télécharge jami à partir de F-droid permet de sortir de la prison google même sous os android, pour apple c’est plus difficile car se sont les appareils sous os apple qui bloquent OpenPush

Jamicalement

1 Like

Je viens de regarder la liste des tickets, j’ai vu qu’il y en avait déjà un qui correspondait à ce que j’observais : Unified Push: Often the messages do not arrive. Sometimes they do.

Après, en ce moment je fais des tests de communication entre Android et iOS et Windows mais j’ai pas encore fait de test entre Android et Android…

Je suis d’accord, autant utiliser F-DROID tant qu’on peut :slight_smile:

Sur ce ticket : Local ntfy instance, @pim constate également que le serveur principal de ntfy.sh n’est pas stable. Il faudrait essayer de voir ce que ça donne avec une instance locale.

https://docs.ntfy.sh/publish/#limitations

On ntfy.sh, the daily message limit is 250.

sequence diagram

Jami is listening the changes of values associated with these keys:

  • Your JamiID
  • sha1("inbox:" | sha1(devicePubkey))
  • sha1("peer:" | sha1(devicePubkey))
  • Bubbies’s JamiIDs
1 Like

Merci beaucoup @Rubus_chiliadenus ! je comprends mieux comment ntfy fonctionne (thanks a lot for the sequence diagram :smiley:).

Du coup, si vous choisissez d’utiliser ntfy, le service sera interrompu au bout de 250 notifications reçues sur une journée. 250, ça paraît beaucoup pour une journée, mais chaque envoi de message entraîne plusieurs notifications et même sans envoi, j’ai l’impression qu’il y a une sorte d’échange qui se fait périodiquement entre les pairs Jami (ou alors il s’agit de la notification de timeout qui arrive plus tard ?). Pour en avoir plus, il est nécessaire que vous hébergiez vous-même une instance de ntfy ou que vous souscriviez à une offre payante auprès de l’instance principale de ntfy.

Mise en place d’un distributeur UnifiedPush sur votre Android

  1. Installation de Jami depuis F-DROID (Si vous installez depuis GooglePlay ou iOS il ne pourra pas s’enregistrer auprès d’un distributeur) ;
  2. Choix et installation d’un distributeur : ntfy (disponible sur googleplay ou f-droid) ou gCompat UP-Distributor (dispo sur googleplay) ;
  3. Paramétrage du distributeur pour désactiver l’optimisation batterie ;
  4. Lancement du distributeur. Attention, il ne se lance pas tout seul, et si l’application n’est pas en cours d’exécution, les notifications poussées ne seront pas reçues…
  5. Lancement de Jami qui va essayer de s’abonner automatiquement à un distributeur à son démarrage ;
  6. Vérifier que dans le distributeur, il y a bien un nouveau sujet (cx.ring pour gCompat, et ntfy.sh/<suite de lettres> pour ntfy) ;
  7. Paramétrer Jami pour qu’il se lance au démarrage d’Android (Paramètres avancées → Lancer Jami au démarrage) ;
  8. C’est bon, vous pouvez utiliser Jami sereinement :hugs:

J’ai testé les 2 distributeurs (sur Android 7 et 13), et dans les journaux de diagnostic de Jami on voit bien qu’il reçoit des pushNotification.

Distributeurs UnifiedPush

Dans les 2 cas, il reste un problème : le distributeur doit être lancé manuellement pour que les notifications puissent êtres reçues par Jami. Je ne sais pas comment faire pour qu’il se lance automatiquement au démarrage, vous avez des idées ?

ntfy :

  • Licence : Apache License 2.0, GPLv2 License ;
  • Gestionnaires de paquet : F-DROID, GooglePlay, AppStore (après actuellement Jami ne semble pas pouvoir utiliser UnifiedPush sur iOS) ;
  • Date de mise à jour : 9 décembre 2022 ;
  • Problème : si vous utilisez l’instance principale ntfy.sh, il y a une limite de 250 notifications push par jour .

Remarque :
Si vous voulez vous assurer qu’il y a bien des notifications poussées qui sont envoyées à ntfy, il faut que :

  1. vous alliez sur https://ntfy.sh/app ;
  2. Cliquiez sur “s’abonner au sujet” ;
  3. Inscriviez l’adresse affichées dans l’application ntfy ouverte dans Android ;
  4. Vous pourrez ensuite voir les différentes notifications envoyées par le ProxyServer au serveur ntfy, qui seront ensuite distribuées aux clients UnifiedPush (Jami).

gCompat UP-Distributor

  • Licence : Apache License 2.0 ;
  • Gestionnaires de paquet : IzzyOnDroid ou GooglePlay cependant utilise les services Google pour l’implémentation du protocole UnifiedPush ;
  • Date de mise à jour : 16 octobre 2023 ;
  • Problème : les notifications poussées utilisent les services Google (FCM).

Remarque : je ne sais pas comment faire pour voir les notifications poussées qui sont envoyées par le ProxyServer, à part en regardant directement dans les journaux de diagnostic de Jami.

1 Like

Merci @AcidLock et @Rubus_chiliadenus :slight_smile:

If the limit is publisher-based, not subscriber-based (visitor-subscriber-rate-limiting option), 250 is not high, a DHT proxy may serve hundreds of clients.