var start = function (url) { var es = new ReconnectingEventSource(url); console.log("url: " + url); es.onopen = function () { console.log('connected'); }; es.addEventListener('stream-error', function (e) { es.close(); message = JSON.parse(e.data); console.log('stream error: ' + message.condition + ': ' + message.text); }, false); es.onerror = function (e) { console.log('connection error'); }; // listening on `message` events and update the corresponding table line. // If the status is `FAILED`, we reload the window to ensure a new csrf_token. es.addEventListener('message', function (e) { message = JSON.parse(e.data); console.log("id: " + message.id); console.log("status: " + message.status); const tr = document.getElementById(message.id); if (tr) { var status = tr.querySelector("th[name='status']"); status.innerHTML = message.status; var button = tr.querySelector("th[name='deploy']"); if (message.status == "SUCCESS") { button.innerHTML = ""; } if (message.status == "FAILED") { window.location.reload(); } } }, false); };