Un « inconvénient cosmétique » gênant, difficile à reproduire et à corriger
Qu’est-ce qui vient de se passer? Tout au long de l’histoire du projet Firefox de Mozilla, les utilisateurs ont parfois rencontré le fameux bug de « l’info-bulle persistante ». Le problème a maintenant été définitivement résolu, grâce à une contribution de code d’un programmeur qui n’a qu’un an de plus que le bug lui-même.
Le bug Firefox 148624 a été ouvert il y a 22 ans par un utilisateur du navigateur internet « Mozilla Suite » sur un Mac. L’utilisateur en question a rencontré une info-bulle étrangement persistante (une petite boîte jaune avec une description textuelle à l’intérieur) après avoir placé le curseur de la souris sur un lien Web. Après avoir déplacé Mozilla en arrière-plan avec un raccourci clavier, a-t-il déclaré, l’info-bulle resterait à l’écran jusqu’à ce qu’il remette le logiciel au premier plan et éloigne le curseur de la souris de la barre d’outils.
Mozilla Suite est devenu Mozilla Firefox quelques années plus tard, mais le bug persistant de l’info-bulle n’a jamais été corrigé. Jusqu’à il y a un mois, lorsque Yifan Zhu a décidé de mettre lui-même fin aux nuisances logicielles. Étudiant en première année de doctorat en génie électrique à l’Université de Stanford, Zhu se décrit comme un contributeur mineur « occasionnel » aux logiciels open source qu’il utilise, comme Mozilla Firefox.
Avant de commencer à analyser le bug de l’info-bulle, Zhu n’avait aucune expérience avec des projets aussi complexes que Firefox. Il n’a jamais contribué au logiciel open source auparavant, confirme le doctorant, mais il a pu trouver les bons indices dans la base de code de Firefox pour préparer une solution potentielle au bug de l’info-bulle. L’approche choisie par Zhu inclut un nouveau minuteur pour afficher l’info-bulle qui démarre lorsque la souris survole certains éléments. Le chronomètre est ensuite arrêté lorsque le curseur de la souris perd le focus.
Le correctif du code de Zhu a été peaufiné par un programmeur plus expérimenté (Cobos Álvarez) et a finalement été accepté par Mozilla dans le cadre de la prochaine version stable de Firefox (119). Le correctif a introduit quelques régressions mineures ailleurs avec le système d’info-bulles de Mozilla, mais il devrait enfin résoudre l’un des bugs les plus anciens (sinon le plus ancien) et les plus ennuyeux jamais rencontrés par la base d’utilisateurs de Firefox.
Álvarez a commenté que le système d’info-bulles est une zone « plutôt délicate » dans le code de Firefox, compte tenu du nombre de configurations et de systèmes d’exploitation sur lesquels le navigateur est conçu pour fonctionner. Trouver une solution élégante et fonctionnelle était donc « assez impressionnant » pour un nouveau contributeur de Firefox tel que Yifan Zhu.
Étant un projet open source avec une histoire longue et compliquée, Firefox est bien connu pour inclure des bugs mineurs qui sont peu susceptibles d’attirer l’attention d’un développeur Mozilla occupé de si tôt. Certains bugs et problèmes logiciels sont finalement corrigés après un nombre impie d’années, d’autres restent pourris dans le code tandis que le marché global des navigateurs avance à un rythme accéléré.