From 45ea91a768f49eb66053f8cb8c6106b4ed9dad24 Mon Sep 17 00:00:00 2001 From: trisua Date: Thu, 26 Jun 2025 14:30:15 -0400 Subject: [PATCH] fix: profile infinite reload --- crates/app/src/public/html/profile/posts.lisp | 5 +++-- crates/app/src/public/js/atto.js | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/crates/app/src/public/html/profile/posts.lisp b/crates/app/src/public/html/profile/posts.lisp index bbdd6a5..e2454b0 100644 --- a/crates/app/src/public/html/profile/posts.lisp +++ b/crates/app/src/public/html/profile/posts.lisp @@ -46,8 +46,9 @@ (text "{% set paged = user and user.settings.paged_timelines %}") (script - (text "setTimeout(() => { - trigger(\"ui::io_data_load\", [\"/_swiss_army_timeline?user_id={{ profile.id }}&tag={{ tag }}&page=\", Number.parseInt(\"{{ page }}\") - 1, \"{{ paged }}\" === \"true\"]); + (text "setTimeout(async () => { + 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 %}") diff --git a/crates/app/src/public/js/atto.js b/crates/app/src/public/js/atto.js index 93e4bea..0bd8d62 100644 --- a/crates/app/src/public/js/atto.js +++ b/crates/app/src/public/js/atto.js @@ -1200,6 +1200,7 @@ ${option.input_element_type === "textarea" ? `${option.value}` : ""} self.IO_DATA_WAITING = false; self.IO_HAS_LOADED_AT_LEAST_ONCE = false; self.IO_DATA_DISCONNECTED = false; + self.IO_DATA_DISABLE_RELOAD = false; if (!paginated_mode) { self.IO_DATA_OBSERVER.observe(self.IO_DATA_MARKER); @@ -1211,6 +1212,11 @@ ${option.input_element_type === "textarea" ? `${option.value}` : ""} } setTimeout(() => { + if (self.IO_DATA_DISABLE_RELOAD) { + console.log("missing data reload disabled"); + return; + } + if (!self.IO_HAS_LOADED_AT_LEAST_ONCE) { // reload self.IO_DATA_OBSERVER.disconnect();