Commit e70be80
fix(sw): servir les service workers sans session
`/sw-notifications.js` répondait 307 vers /login : le matcher du middleware
exclut `_next/static`, `favicon.ico` et les extensions d'image, mais pas les
`.js` de `/public`. Un service worker est récupéré par le navigateur HORS de
tout contexte authentifié — un 307 le rend simplement impossible à enregistrer,
donc aucune notification push ne pouvait fonctionner.
Constaté en vérifiant la bascule, pas en test : `curl` sur la route servie.
Le même contrôle a révélé que `/sw-elevage.js` est dans ce cas DEPUIS SA
CRÉATION — le service worker de la tournée d'élevage n'a jamais pu s'enregistrer
en production, et son `register()` échouait en silence. Les deux sont corrigés
par la même exclusion `sw-[^/]*\.js`.
À retenir : `/manifest.json` et `/icon-192.png` répondaient 200 pour deux
raisons différentes — le premier est servi par Caddy avant Next, le second
bénéficie de l'exclusion des extensions d'image. Ni l'un ni l'autre ne prouvait
que `/public` était joignable.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 3ed97b4 commit e70be80
1 file changed
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
133 | 133 | | |
134 | 134 | | |
135 | 135 | | |
136 | | - | |
137 | | - | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
138 | 145 | | |
139 | 146 | | |
0 commit comments