fix(mail) : stop le spam GlitchTip de sync (UTF7 + dossiers fantômes) #34
Reference in New Issue
Block a user
Delete Branch "fix/mail-sync-folder-not-found-spam"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problème
Sur GlitchTip prod : ~170 erreurs récurrentes
syncFolder[...] listMessages failed: Folder ... not found, rejouées à chaque cycle de sync (toutes les 10 min) parapp:mail:sync.Causes racines
listFolders()stocke le chemin brut UTF7-IMAP, maisImapMailProviderrappelaitgetFolder(\$path)qui ré-encode UTF8→UTF7-IMAP (webklexClient::getFolderByPath,utf7=false). Le caractère de shift&était ré-encodé → dossiers à accents/specials introuvables.syncFolderStructure()gardait en DB les dossiers disparus du serveur (Trash vidé, dossiers RH supprimés), re-tentés à chaque cycle.Correctifs
ImapMailProvider:getFolder(\$path, null, utf7: true)partout (les paths sont déjà UTF7-IMAP). Bonus : les dossiers à encodage spécial se synchronisent enfin.MailSyncService: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 silistFolderséchoue.Tests
testSyncAllSkipsFoldersNoLongerPresentOnServer.Déploiement / suivi
syncFolder...comme resolved (réouverture auto en cas de régression).