Lightning 2.6 sur SeaMonkey 2.21 : erreur d'accès aux calendriers CalDAV

Avertissement
Dernière modification de cet article le 2013-09-22, le contenu pourrait être dépassé/obsolète.

Suite à la récente mise à jour de SeaMonkey en version 2.21, mon gestionnaire de calendrier (l’extensions Lightning) s’est également mise à jour en version 2.6. Sauf que depuis cet instant mes calendriers CalDAV ne sont plus accessibles car j’obtiens l’erreur suivante dès le lancement de SeaMonkey Mail :

(NS_ERROR_XPC_CI_RETURNED_FAILURE) [nsIJSCID.createInstance]" nsresult: “0x80570015 (NS_ERROR_XPC_CI_RETURNED_FAILURE)” location: “JS frame :: resource://calendar/modules/calUtils.jsm -> file:///…./SeaMonkey/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCalendarManager.js :: cmgr_createCalendar :: line 474” data: no]

Heureusement, quelqu’un a posté le problème sur le forum mozillaZine et un rapport de bug (#919018) a été ouvert sur BugZilla : le problème viendrait du fichier OAuth2.jsm (utilisé par module d’accès CalDAV) qui essaie de charger Http.jsm sans succès : et pour cause, ce fichier n’existe que dans Thunderbird (pour la branche mozilla24 du moins)…

Soit vous attendez un correctif de la part de SeaMonkey (version 2.21.1 ?), soit vous suivez le conseil de Iacopo Benesperi : ajouter le fichier http.jsm au fichier omni.ja de SeaMonkey.

  1. Fermer SeaMonkey
  2. Récupéer le fichier http.jsm depuis Mozilla Cross-References à l’adresse suivante : http://mxr.mozilla.org/comm-release/source/mail/base/modules/http.jsm?raw=1
  3. Faire une copie du fichier omni.ja de SeaMonkey se trouvant à la racine du dossier de l’application (à côté du binaire principal donc)
  4. Ouvrir et décompresser le fichier omni.ja avec un outil de décompression de fichiers ZIP (plus explications sur cette page du Mozilla Developer Network : https://developer.mozilla.org/en-US/docs/Mozilla/About_omni.ja_%28formerly_omni.jar%29). Utilisateurs Windows, il est conseillé d’utilisé le gestionnaire d’archives intégré à l’explorateur de fichiers (l’omni.ja ayant subi beaucoup d’optimisations, des outils comme 7-Zip pourraient ne pas être capables d’ouvrir le fichier)
  5. Copier le fichier http.jsm (récupéré lors de l’étape 2) dans le dossier modules du omni.ja décompressé (il y a plusieurs autres fichiers .jsm)
  6. Recompresser tout le contenu de l’omni.ja au format ZIP puis renommer le fichier obtenu en omni.ja et le placer à la racine du dossier de l’application SeaMonkey (là où se trouvait l’original en fait).
  7. Relancer SeaMonkey et constater que tout fonctionne à nouveau