Firefox su Mac ha un problema e se lo trascina dietro da tempo, per l’esattezza 22 anni, quando il software ancora si chiamava Mozilla. Era il giugno 2002 quando Adam Price incappò in un bug legato ai tooltip persistenti.
All’epoca, Price descriveva così il problema: "Se passo il mouse su un collegamento della barra degli strumenti e aspetto un secondo, compare un piccolo riquadro giallo con la descrizione del collegamento. Se ora uso CMD+Tab per spostare Mozilla in background, il riquadro giallo rimane lì, in primo piano. L'unico modo per liberarsene è mettere Mozilla nuovamente in primo piano e spostare il mouse dalla barra degli strumenti".
Negli ultimi 20 anni moltissimi altri utenti hanno riprodotto e segnalato il problema, che più volte è sembrato risolto, salvo poi ripresentarsi, magari in una forma leggermente diversa. Lo scorso anno un utente ha commentato la faccenda dicendo “è un bug di 21 anni ed è molto fastidioso, mi capita almeno una volta al giorno, ma visto da quanto tempo esiste potremmo anche lasciarlo per sempre, sembra quasi una reliquia del passato”.
A distanza di 22 anni però il bug è stato finalmente risolto, stavolta in maniera definitiva: la versione 119 di Firefox non presenta più il problema. La patch correttiva è stata sviluppata da Yifan Zhu, un ragazzo di 23 anni che ironicamente ha quasi la stessa età del bug. Zhu ha dichiarato ad Ars Technica di averlo incontrato per la prima volta in Thunderbird su Linux, dove appariva come “segmenti di testo apparentemente casuali che fluttuavano sullo schermo”.
Nell’esperienza di Zhu, passare spesso da un desktop virtuale all’altro lasciava degli elementi “sospesi” sullo schermo, creando non pochi fastidi all’utente. Cercando di segnalare il bug ha scoperto che esisteva già da oltre 20 anni, quindi ha deciso di rimboccarsi le maniche e correggerlo in prima persona.
Pur essendo la prima volta che metteva mano a un progetto così complesso, Dopo ore di analisi ha identificato la fonte del problema: "Quando il mouse si sovrappone a un elemento, viene avviato un timer per visualizzare il tooltip. Il timer viene annullato in caso di evento mouse-out, che Firefox non riceveva quando usavo scorciatoie da tastiera per cambiare finestre o desktop virtuali." Una volta identificata, ha inviato un commit che rendeva la visualizzazione del tooltip dipendente dall’essere in primo o piano oppure no, anziché dalla presenza del mouse
Zhu ha inviato una commit che faceva sì che la visualizzazione del tooltip dipendesse dal fatto che Firefox perdesse il focus, anziché dal fatto che il mouse uscisse dall'applicazione. Nelle prossime ore ha ricevuto notizie da Emilio Cobos Álvarez, che ha perfezionato l'approccio di Zhu e ha contribuito a far accettare la commit nel codice. Anche il bug generato dalla correzione sta vedendo un lavoro in corso.
Zhu è stato poi aiutato da un altro sviluppatore, Emilio Cobos Álvarez, che lo ha aiutato a sistemare il codice e che ha definito l’aiuto di Zhu “decisamente impressionante per essere il suo primo contributo a Firefox”.