1
Fork 0

Fix preload and prevent freezing on projects

This commit is contained in:
Korbs 2024-03-27 17:16:31 -04:00
parent 751ca670ce
commit 4bcadb71b7
No known key found for this signature in database

View file

@ -10,7 +10,7 @@ function SetTitleToProject() {
function _waitForElement(selector, delay = 50, tries = 100) { function _waitForElement(selector, delay = 50, tries = 100) {
const element = document.querySelector(selector); const AQ1 = document.querySelector(selector);
if (!window[`__${selector}`]) { if (!window[`__${selector}`]) {
window[`__${selector}`] = 0; window[`__${selector}`] = 0;
@ -18,22 +18,22 @@ function _waitForElement(selector, delay = 50, tries = 100) {
window[`__${selector}__tries`] = tries; window[`__${selector}__tries`] = tries;
} }
function _search() { function ElementSearchTitle() {
return new Promise((resolve) => { return new Promise((resolve) => {
window[`__${selector}`]++; window[`__${selector}`]++;
setTimeout(resolve, window[`__${selector}__delay`]); setTimeout(resolve, window[`__${selector}__delay`]);
}); });
} }
if (element === null) { if (AQ1 === null) {
if (window[`__${selector}`] >= window[`__${selector}__tries`]) { if (AQ1[`__${selector}`] >= window[`__${selector}__tries`]) {
window[`__${selector}`] = 0; window[`__${selector}`] = 0;
return Promise.resolve(null); return Promise.resolve(null);
} }
return _search().then(() => _waitForElement(selector)); return ElementSearchTitle().then(() => _waitForElement(selector));
} else { } else {
return Promise.resolve(element); return Promise.resolve(AQ1);
} }
} }
@ -47,6 +47,9 @@ function UpdateTitle() {
SetTitleToProject() SetTitleToProject()
})(); })();
} }
else {
SetTitleToDash()
}
} }
@ -58,13 +61,17 @@ window.onload = function() {
docEl.addEventListener("DOMSubtreeModified", function(evt) { docEl.addEventListener("DOMSubtreeModified", function(evt) {
var t = evt.target; var t = evt.target;
if (t === titleEl || (t.parentNode && t.parentNode === titleEl)) { if (t === titleEl || (t.parentNode && t.parentNode === titleEl)) {
setTimeout(() => {
UpdateTitle() UpdateTitle()
}, 1200);
} }
}, false); }, false);
} else { } else {
document.onpropertychange = function() { document.onpropertychange = function() {
if (window.event.propertyName == "title") { if (window.event.propertyName == "title") {
setTimeout(() => {
UpdateTitle() UpdateTitle()
}, 1200);
} }
}; };
} }