Skip to content

Bandeau pour les membres qui ne reçoivent pas les notifications - #38

Merged
flocom merged 1 commit into
mainfrom
claude/remove-apel-sensitive-data-73l5iu
Aug 23, 2026
Merged

Bandeau pour les membres qui ne reçoivent pas les notifications#38
flocom merged 1 commit into
mainfrom
claude/remove-apel-sensitive-data-73l5iu

Conversation

@flocom

@flocom flocom commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Un membre qui n'a jamais activé les notifications ne le sait pas : il croit simplement que l'association ne lui écrit pas. Un bandeau le lui dit en haut du tableau de bord, avec l'activation en un clic.

Quand il apparaît

  • l'appareil courant n'est pas abonné, ou le membre a coupé les notifications sur son compte — dans les deux cas il ne recevrait rien ;
  • il disparaît dès que les deux sont réunis ;
  • « Plus tard » le range pour un mois sur cet appareil.

Il ne s'affiche pas sur « Mon compte » (le réglage complet y est déjà, juste en dessous), ni pendant le guide de première connexion, ni sur la partie publique du site.

Cas iPhone

Safari n'ouvre les notifications qu'aux sites ajoutés à l'écran d'accueil : l'API n'existe pas avant. Plutôt qu'un bouton qui échouerait, le bandeau explique la manipulation (Partager → « Sur l'écran d'accueil »).

Au passage

La logique d'abonnement était enfermée dans le réglage du compte ; elle passe dans src/lib/push-device.ts, partagé par les deux points d'entrée — une seule demande de permission, un seul enregistrement, plus de divergence possible. Un signal window tient les deux à jour quand l'un des deux change.

Vérifications

Instance réelle (PostgreSQL 16, next build + next start), navigateur réel (Chromium/Playwright), faux service de push — le reste (API, base) est réel.

Cas Résultat
Aucun appareil activé bandeau affiché sur tableau de bord, événements, tâches
« Mon compte » / partie publique masqué
Clic sur « Activer » abonnement enregistré en base, bandeau disparu, toujours absent après rechargement
Appareil abonné mais compte coupé bandeau affiché ; le clic rallume le compte (push_enabled=true) et abonne l'appareil
« Plus tard » masqué, report retenu jusqu'au mois suivant, tient au rechargement
iPhone dans Safari variante « écran d'accueil », sans bouton d'activation
Guide de première connexion bandeau masqué pendant le guide, affiché après
Non-régression « Mon compte » activation, désactivation et coupure du compte inchangées

Rendu relu en capture d'écran sur 390 px, 820 px et 1280 px : un premier jet repliait le texte mot à mot sur téléphone, corrigé avant livraison.


Generated by Claude Code

Un parent qui n'a jamais activé les notifications ne s'en rend pas
compte : il croit simplement que l'association ne lui écrit pas. Un
bandeau le lui dit en haut du tableau de bord, et propose l'activation
en un clic, sans passer par les réglages.

Il apparaît dès que le membre ne recevrait rien — appareil jamais
activé, ou notifications coupées sur le compte — et disparaît sitôt les
deux réunis. « Plus tard » le range pour un mois : assez pour ne pas
harceler celui qui refuse, assez court pour rattraper celui qui remet à
plus tard.

Sur iPhone, où Safari n'ouvre les notifications qu'aux sites ajoutés à
l'écran d'accueil, le bandeau explique la manipulation au lieu de
proposer un bouton qui ne pourrait pas fonctionner.

Il s'efface sur « Mon compte », où le réglage complet se trouve déjà, et
pendant le guide de première connexion, pour ne pas disputer l'attention
d'un membre qui découvre l'application.

La logique d'abonnement, jusqu'ici enfermée dans le réglage du compte,
est extraite dans un module partagé : une seule demande de permission,
un seul enregistrement, deux points d'entrée qui ne peuvent plus
diverger.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014SfQYBU4xXTeSEHKhHQXdD
@flocom
flocom merged commit 22fd474 into main Aug 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants