fix: profile infinite reload

This commit is contained in:
trisua 2025-06-26 14:30:15 -04:00
parent 4b7808e70b
commit 45ea91a768
2 changed files with 9 additions and 2 deletions

View file

@ -46,8 +46,9 @@
(text "{% set paged = user and user.settings.paged_timelines %}") (text "{% set paged = user and user.settings.paged_timelines %}")
(script (script
(text "setTimeout(() => { (text "setTimeout(async () => {
trigger(\"ui::io_data_load\", [\"/_swiss_army_timeline?user_id={{ profile.id }}&tag={{ tag }}&page=\", Number.parseInt(\"{{ page }}\") - 1, \"{{ paged }}\" === \"true\"]); await trigger(\"ui::io_data_load\", [\"/_swiss_army_timeline?user_id={{ profile.id }}&tag={{ tag }}&page=\", Number.parseInt(\"{{ page }}\") - 1, \"{{ paged }}\" === \"true\"]);
(await ns(\"ui\")).IO_DATA_DISABLE_RELOAD = true;
});")) });"))
(text "{% endblock %}") (text "{% endblock %}")

View file

@ -1200,6 +1200,7 @@ ${option.input_element_type === "textarea" ? `${option.value}</textarea>` : ""}
self.IO_DATA_WAITING = false; self.IO_DATA_WAITING = false;
self.IO_HAS_LOADED_AT_LEAST_ONCE = false; self.IO_HAS_LOADED_AT_LEAST_ONCE = false;
self.IO_DATA_DISCONNECTED = false; self.IO_DATA_DISCONNECTED = false;
self.IO_DATA_DISABLE_RELOAD = false;
if (!paginated_mode) { if (!paginated_mode) {
self.IO_DATA_OBSERVER.observe(self.IO_DATA_MARKER); self.IO_DATA_OBSERVER.observe(self.IO_DATA_MARKER);
@ -1211,6 +1212,11 @@ ${option.input_element_type === "textarea" ? `${option.value}</textarea>` : ""}
} }
setTimeout(() => { setTimeout(() => {
if (self.IO_DATA_DISABLE_RELOAD) {
console.log("missing data reload disabled");
return;
}
if (!self.IO_HAS_LOADED_AT_LEAST_ONCE) { if (!self.IO_HAS_LOADED_AT_LEAST_ONCE) {
// reload // reload
self.IO_DATA_OBSERVER.disconnect(); self.IO_DATA_OBSERVER.disconnect();