tchapgouv / tchap-product

Discussions sur les différents points de design
3 stars 0 forks source link

Notifications : par email #123

Open mcalinghee opened 1 year ago

mcalinghee commented 1 year ago

Use case

En tant que membre, je veux recevoir des emails de notification de nouveaux messages et nouvelles invitations

Etat de la feature

Suivi du deploiement :

Ce dashboard : https://stats.tchap.incubateur.net/dashboard/24-recent-features-use

### TODO
- [x] mobile : [activer sur ios pour tout le monde](https://github.com/tchapgouv/tchap-ios/issues/995)
- [x] mobile : activer sur android pour tout le monde
- [x] web : [activer la feature pour tout le monde](https://github.com/tchapgouv/tchap-web-v4/issues/940)
- [x] fixer le notif_delay_before_mail à 72h en prod : https://github.com/tchapgouv/tchap-infra/pull/2608
- [ ] https://github.com/tchapgouv/tchap-support/issues/106
- [ ] https://github.com/tchapgouv/tchap-product/issues/178
- [ ] https://github.com/tchapgouv/tchap-product/issues/308

Après

Note :

jdauphant commented 1 year ago

@odelcroi je pense que ce ticket peut passer en "prêt à développer"

odelcroi commented 1 year ago

In Synapse, email notifications are primarily controlled by the client applications and users' preferences. Users can configure their email notification settings through their Matrix client, like Element. However, Synapse does have some default settings that can be configured to influence the notification behavior.

Delphgateau commented 1 year ago

@odelcroi je vois qu'il n'y a personne d'assigner, est-ce que tu le veux le prendre ?

odelcroi commented 1 year ago

@Delphgateau ce n'est pas dans le sprint en cours, je t'invite à promouvoir cet action pour le prochain sprint

odelcroi commented 1 year ago

Configuration des timeouts : https://github.com/matrix-org/synapse/blob/5a7742a83308743dfd5e9a1fab751e345757aab7/synapse/push/emailpusher.py

Delphgateau commented 1 year ago

Suite : En tant que membre, je souhaite recevoir un email de notification lorsqu'un autre membre m'invite à rejoindre un salon.

pseudonyme21 commented 1 year ago

En dev, ça fonctionne mais il faut revoir le design et les textes: Capture d’écran 2023-06-13 à 18 00 44 Capture d’écran 2023-06-13 à 18 01 03

pseudonyme21 commented 1 year ago

Voici les textes à revoir :

    message_from_person_in_room: "[%(app)s] You have a message on %(app)s from %(person)s in the %(room)s room..."
    message_from_person: "[%(app)s] You have a message on %(app)s from %(person)s..."
    messages_from_person: "[%(app)s] You have messages on %(app)s from %(person)s..."
    messages_in_room: "[%(app)s] You have messages on %(app)s in the %(room)s room..."
    messages_in_room_and_others: "[%(app)s] You have messages on %(app)s in the %(room)s room and others..."
    messages_from_person_and_others: "[%(app)s] You have messages on %(app)s from %(person)s and others..."
    invite_from_person_to_room: "[%(app)s] %(person)s has invited you to join the %(room)s room on %(app)s..."
    invite_from_person: "[%(app)s] %(person)s has invited you to chat on %(app)s..."
odelcroi commented 1 year ago

@areox-net @Caroline-lawson

Caroline-lawson commented 1 year ago

Contexte : Quand je reçois un nouveau message sur Tchap, je veux en être notifié par mail pour ne pas en manquer et pour être réactif, parce que je n'ai pas Tchap ouvert en permanence.

Question : C'est une fonctionnalité opt in ou opt out ?

@areox-net on se fait un figma pour le design et les textes ?

areox-net commented 1 year ago

@Caroline-lawson Oui, je prépare ça. Dans un premier temps on va pas modifier la structure du template Element je pense.

areox-net commented 1 year ago

En dev, ça fonctionne mais il faut revoir le design et les textes: Capture d’écran 2023-06-13 à 18 00 44 Capture d’écran 2023-06-13 à 18 01 03

@pseudonyme21 Je n'arrive pas à recevoir le mail. Tu pourrais partager le meme screenshot mais avec les images visualisées dans gmail stp? On est d'accord que le message n'est pas affiché dans le mail, seulement son auteur ?

pseudonyme21 commented 1 year ago

Voila la liste des paramètres disponibles Capture d’écran 2023-06-15 à 14 26 35 Voir la doc complète

pseudonyme21 commented 1 year ago

edit: utiliser la review app plutot : https://tchap-web-staging-v4-pr616.osc-secnum-fr1.scalingo.io/ @areox-net pour activer les notifications email, il faut que tu te connectes avec un client Element Capture d’écran 2023-06-15 à 14 31 13

odelcroi commented 1 year ago

@Caroline-lawson @areox-net j'ai crée un ticket pour définir le besoin et les users story :) https://github.com/tchapgouv/tchap-product/issues/178

odelcroi commented 1 year ago

ya une review app sur web pour activer les notifs : https://tchap-web-staging-v4-pr616.osc-secnum-fr1.scalingo.io

areox-net commented 1 year ago

@odelcroi @pseudonyme21 Voici deux propositions de design:

  1. Une adaptation rapide du design existant Image

  2. Une version avec des améliorations (lignes de séparation et boutons plus explicites) Image

Dans les deux cas je propose les traductions suivantes pour les textes:

areox-net commented 1 year ago

Voici le cas d'un message non chiffré. Quand c'est la seule notif, le message et l'auteur sont affichés.

Image

Delphgateau commented 1 year ago

@areox-net @odelcroi on veut vraiment notifier des messages non lus sur les forums publics ?

areox-net commented 1 year ago

@Delphgateau Il me semble que ici @odelcroi expliquait qu'on ne peut pas trop controler quelle notif on envoie à ce stade.

Delphgateau commented 1 year ago

@areox-net merci pour le rappel, j'avais pas bien ça en tête

areox-net commented 11 months ago

@pseudonyme21 et moi avons avancé sur l'implementation du design du mail de notif. Voici à quoi ça ressembel actuellement. De mon coté, cela est pret à etre testé en preprod.

Image

chaibax commented 11 months ago

C'est top! J'ai hate de pouvoir tester ca en préprod

Vous avez prévu une date pour ca ?

mcalinghee commented 11 months ago

ceci a ete depriorise => prochain vote le 08/08

mcalinghee commented 10 months ago

J'ai 2 questions :

mcalinghee commented 10 months ago

J'ai 2 questions :

  • @jdauphant : est-ce qu'il y a un sujet sur la deliverabilite des mails?
  • est-ce que cela tiendra la charge cote serveur? sur interieur , comment s'assure t-on qu'il n'y aura pas de soucis ?
odelcroi commented 9 months ago

Configuration des timeouts : https://github.com/matrix-org/synapse/blob/5a7742a83308743dfd5e9a1fab751e345757aab7/synapse/push/emailpusher.py

@mcalinghee @pseudonyme21 Comment peut-on personnaliser ces timeouts en production? On patche le code serveur? On doit faire un module?

mcalinghee commented 9 months ago

Je propose de faire une PR/issue sur matrix-org/synapse pour rendre parametrable ces timeouts

odelcroi commented 9 months ago

si la PR est accepte, on peut patcher des que l'on est sur que Matrix nous assure que ce sera une fonctionnalite perenne.

Si je comprend bien, il faudra attendre un upgrade backend à la derniere version de Synapse, ca me semble trop long.

si Matrix n'accepte pas de prendre en compte le changement : il faudra que l'on investigue comment faire ceci via un module, patcher le code nous posera probleme lors des differents de upgrade

2/ok pour investiguer un module, mais ca ne va pas rentrer dans le sprint.

3/ Peut-on faire un script ansible qui "patch" le fichier python, un peu à la manière des patches web. Ici nous devons uniquement mettre à jour deux constantes dans un fichier.

4/ on laisse les timeout par défaut pour ce sprint

mcalinghee commented 9 months ago

Si je comprend bien, il faudra attendre un upgrade backend à la derniere version de Synapse, ca me semble trop long. Je voulais plutot dire :

  • on fait une PR/Issue sur matrix/synapse
  • on attend de voir si il merge la PR (si c'est une issue cela sera plus long)
  • des que c'est merge, on patch notre code sans upgrade synapse
  • a l'upgrade suivante, on utilise les conf pour mettre les choses au propre sans faire de regression a nos fonctionnalites

3/ Peut-on faire un script ansible qui "patch" le fichier python, un peu à la manière des patches web. Ici nous devons uniquement mettre à jour deux constantes dans un fichier.

Techniquement, je ne suis pas forcement pour patcher de cette maniere car cela a pris plus d'une annee pour resoudre les divergences de code via le mainlining. Autre point, il faudra maintenir ce patch a chaque upgrade

julie-ri commented 3 months ago

je trouve qu'il manque des infos en terme d'utilisation du type : au bout de combien de temps on reçoit le mail ? est-ce quand on n'a pas ouvert le salon ? etc

areox-net commented 2 months ago

je trouve qu'il manque des infos en terme d'utilisation du type : au bout de combien de temps on reçoit le mail ? est-ce quand on n'a pas ouvert le salon ? etc

On pourrait ajouter un paragraphe dans les settings à l'endroit où l'on active la fonction.