Files
Lesstime/tests
Matthieu 0269bc6d28
Pull Request — Quality gate / Frontend (build) (pull_request) Successful in 1m20s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m44s
fix(mail) : stop le spam GlitchTip de sync (double-encodage UTF7 + dossiers fantômes)
Deux causes racines généraient ~170 erreurs/cycle (toutes les 10 min) sur
la prod : "syncFolder[...] listMessages failed: Folder ... not found".

1. Double-encodage UTF7-IMAP : listFolders() stocke le chemin brut UTF7-IMAP,
   mais ImapMailProvider rappelait getFolder($path) qui ré-encode UTF8->UTF7-IMAP
   (webklex Client::getFolderByPath, utf7=false). Le caractère de shift "&" était
   ré-encodé, rendant introuvables les dossiers à accents/specials. Fix :
   getFolder($path, null, utf7: true) partout dans ImapMailProvider.

2. Dossiers fantômes jamais purgés : syncFolderStructure() gardait en DB les
   dossiers disparus du serveur, re-tentés à chaque cycle. Fix :
   syncFolderStructure() retourne le set des chemins présents sur le serveur ;
   doSyncAll() skip silencieusement les dossiers DB absents (conservés en DB
   pour les liens messages/tâches). Fallback historique si listFolders échoue.

Test : testSyncAllSkipsFoldersNoLongerPresentOnServer.
2026-06-29 17:33:59 +02:00
..
2026-03-08 19:47:19 +01:00