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();