Windows 10 bereikte EO (einde ondersteuning) op 14 oktober 2025. Als je Windows 10 gebruikt, lees dan dit artikel.

Windows 10 reached EOS (end of support) on October 14, 2025. If you are on Windows 10, see this article.

Zoeken in Support

Vermijd ondersteuningsscams. We zullen u nooit vragen een telefoonnummer te bellen, er een sms naar te sturen of persoonlijke gegevens te delen. Meld verdachte activiteit met de optie ‘Misbruik melden’.

Meer info
Deze conversatie is gearchiveerd. Stel een nieuwe vraag als u hulp nodig hebt.
Gearchiveerd

Airport Administration Systems all freeze after last update

Mozilla-assistent beantwoord
Christian Baaijens

Good morning, I have about 11 airports in the Netherlands using an administrative system. 30th of april firefox run an update (Firefox 138.0 (20250421163656)) and all systems using firefox now systematically freeze sometimes up to 20 seconds after DOM updates. Especially when they press multiple buttons with function updating entire tables

Which seem to be related to if the DOM is being updated and it is triggered while still updating, it just freezes instantly.

Tested on Firefox with about 30 rows in a table.

E.g.

/**

* Toggles the visibility of paid and incomplete rows in the register table.
* When activated, it hides rows that are marked as paid or incomplete.
* When deactivated, it shows all rows again.
*
* Also updates toggle button states, re-applies the register filter,
* and maintains register focus state.
*
* @param {HTMLElement} element - The element that triggered the toggle (unused, retained for compatibility).
*/

function registerTogglePaymentList(element) {

   const registerMainBody = document.getElementById("registerMainBody");
   const thisToggleButton = document.getElementById("paymentListToggleButton");
   const trafficToggleButton = document.getElementById("trafficListToggleButton");
   const rows = registerMainBody.rows;
   const toggleState = thisToggleButton.getAttribute("data-toggle");
   requestAnimationFrame(() => {
       if (toggleState === "on") {
           const rowCount = rows.length;
           for (let i = 0; i < rowCount; i++) {
               const row = rows[i];
               const isSaved = row.getAttribute("data-saved") !== "false";
               const isPaid = row.getAttribute("data-paid") === "1";
               const isComplete = row.getAttribute("data-complete") === "true";
               row.style.display = "";
               if (isSaved) {
                   // Uncomment if necessary
                   // registerCheckRow(row);
                   if (isPaid || !isComplete) {
                       row.style.display = "none";
                   }
               }
           }
           thisToggleButton.setAttribute("data-toggle", "off");
           trafficToggleButton.setAttribute("data-toggle", "on");
       } else {
           App.setRegisterFocusPos();
           const rowCount = rows.length;
           for (let i = 0; i < rowCount; i++) {
               rows[i].style.display = "";
           }
           thisToggleButton.setAttribute("data-toggle", "on");
           trafficToggleButton.setAttribute("data-toggle", "on");
       }
       // Reapply filters and restore focus
       registerFilterSet(App.registerFilterDirection, App.registerFilter);
       App.getRegisterFocusElement(true);
   });

}

Good morning, I have about 11 airports in the Netherlands using an administrative system. 30th of april firefox run an update (Firefox 138.0 (20250421163656)) and all systems using firefox now systematically freeze sometimes up to 20 seconds after DOM updates. Especially when they press multiple buttons with function updating entire tables Which seem to be related to if the DOM is being updated and it is triggered while still updating, it just freezes instantly. Tested on Firefox with about 30 rows in a table. E.g. /** * Toggles the visibility of paid and incomplete rows in the register table. * When activated, it hides rows that are marked as paid or incomplete. * When deactivated, it shows all rows again. * * Also updates toggle button states, re-applies the register filter, * and maintains register focus state. * * @param {HTMLElement} element - The element that triggered the toggle (unused, retained for compatibility). */ function registerTogglePaymentList(element) { const registerMainBody = document.getElementById("registerMainBody"); const thisToggleButton = document.getElementById("paymentListToggleButton"); const trafficToggleButton = document.getElementById("trafficListToggleButton"); const rows = registerMainBody.rows; const toggleState = thisToggleButton.getAttribute("data-toggle"); requestAnimationFrame(() => { if (toggleState === "on") { const rowCount = rows.length; for (let i = 0; i < rowCount; i++) { const row = rows[i]; const isSaved = row.getAttribute("data-saved") !== "false"; const isPaid = row.getAttribute("data-paid") === "1"; const isComplete = row.getAttribute("data-complete") === "true"; row.style.display = ""; if (isSaved) { // Uncomment if necessary // registerCheckRow(row); if (isPaid || !isComplete) { row.style.display = "none"; } } } thisToggleButton.setAttribute("data-toggle", "off"); trafficToggleButton.setAttribute("data-toggle", "on"); } else { App.setRegisterFocusPos(); const rowCount = rows.length; for (let i = 0; i < rowCount; i++) { rows[i].style.display = ""; } thisToggleButton.setAttribute("data-toggle", "on"); trafficToggleButton.setAttribute("data-toggle", "on"); } // Reapply filters and restore focus registerFilterSet(App.registerFilterDirection, App.registerFilter); App.getRegisterFocusElement(true); }); }

Alle antwoorden (4)

I send you the fix I made myself, I should send you the old function instead, which is the one freezing the browser (tab)

Defective code since last update. ``` /* REGISTER TOGGLE PAYMENT LIST

Toggle the payment list to only show the unpaid register rows
*/

function registerTogglePaymentList2(element) {

   var registerMainBody = document.getElementById("registerMainBody");
   var thisToggleButton = document.getElementById('paymentListToggleButton');
   var trafficToggleButton = document.getElementById('trafficListToggleButton');
   if (thisToggleButton.getAttribute("data-toggle") == "on") {    
       for (var i = 0; i < registerMainBody.rows.length; i++) {
           var row = registerMainBody.rows[i];
           registerMainBody.rows[i].style.display = "";
           
           // Check row to catch page refresh per row
           if(row.getAttribute("data-saved") != "false")
           {
               registerCheckRow(row);
           }
           
           var thisType = row.getAttribute("type");
           if(row.getAttribute("data-paid") == "1" && row.getAttribute("data-saved") != "false")
           {
               row.style.display = "none";
           }
           else if(row.getAttribute("data-complete") != "true" && row.getAttribute("data-saved") != "false") {
               row.style.display = "none";
           }
           else {
               App.getRegisterFocusElement(true);
           }
       }
       
       thisToggleButton.setAttribute("data-toggle", "off");
       trafficToggleButton.setAttribute("data-toggle", "on");
   } else {
        // Override pos for when user scrolled without selecting a new input
       App.setRegisterFocusPos();
       for (var i = 0; i < registerMainBody.rows.length; i++) {
           registerMainBody.rows[i].style.display = "";
       }
       thisToggleButton.setAttribute("data-toggle", "on");
       trafficToggleButton.setAttribute("data-toggle", "on");
   }
   
   // Resort the filter table
   registerFilterSet(App.registerFilterDirection, App.registerFilter);  
   
   App.getRegisterFocusElement(true);    

} ```

Hallo Christan, mooi dat je dit zelf op hebt kunnen lossen. Om de ontwikkelaars hiervan op de hoogte te stellen is het handig om dit te melden via Bugzilla: https://bugzilla.mozilla.org/home.

Excuus, maar na testen: beide codes bleven fouten geven sinds de laatste update. Alle vliegvelden werken nu op Chrome tot dit is opgelost.

Firefox 138.0 (20250421163656) bevriest dus als er een DOM update wordt getriggered van een element dat nog aan het updaten is.

Beste Christian, dit kan alleen maar opgelost worden door de ontwikkelaars, dus daarom nogmaals het vriendelijke verzoek om dit te melden via Bugzilla, dan kunnen zij met je uitgebreide gegevens er mee aan de slag. Alvast bedankt!