diff --git a/apps/ssb.json b/apps/ssb.json index 55be4e13..68074942 100644 --- a/apps/ssb.json +++ b/apps/ssb.json @@ -1,5 +1,5 @@ { "type": "tildefriends-app", "emoji": "🦀", - "previous": "&JRzG7VkGOP1IzLdknli36Gr4PddIvkOEKt7L6IMw/lk=.sha256" + "previous": "&nvdIMraZtEjSegUCd4b5hLz6Csn5YNV+vyJWu7QAE3I=.sha256" } diff --git a/apps/ssb/tf-app.js b/apps/ssb/tf-app.js index 4cbb3090..a12d2988 100644 --- a/apps/ssb/tf-app.js +++ b/apps/ssb/tf-app.js @@ -57,6 +57,7 @@ class TfElement extends LitElement { tfrpc.rpc.getHash().then((hash) => self.set_hash(hash)); tfrpc.register(function hashChanged(hash) { self.set_hash(hash); + self.reset_progress(); }); tfrpc.register(async function notifyNewMessage(id) { await self.fetch_new_message(id); @@ -459,7 +460,9 @@ class TfElement extends LitElement { } update_progress() { - if (!this.loading_latest && !this.loading_latest_scheduled) { + if (!this.loading_latest && + !this.loading_latest_scheduled && + !this.shadowRoot.getElementById('tf-tab-news')?.is_loading()) { this.progress = undefined; return; } @@ -622,6 +625,7 @@ class TfElement extends LitElement { @channelsetunread=${this.channel_set_unread} @refresh=${this.refresh} @toggle_stay_connected=${this.toggle_stay_connected} + @loadmessages=${this.reset_progress} .connections=${this.connections} .private_messages=${this.private_messages} .recent_reactions=${this.recent_reactions} diff --git a/apps/ssb/tf-tab-news-feed.js b/apps/ssb/tf-tab-news-feed.js index b86a40b7..f673041e 100644 --- a/apps/ssb/tf-tab-news-feed.js +++ b/apps/ssb/tf-tab-news-feed.js @@ -106,6 +106,12 @@ class TfTabNewsFeedElement extends LitElement { } async fetch_messages(start_time, end_time) { + this.dispatchEvent( + new CustomEvent('loadmessages', { + bubbles: true, + composed: true, + }) + ); this.time_loading = [start_time, end_time]; let result; const k_max_results = 64; diff --git a/apps/ssb/tf-tab-news.js b/apps/ssb/tf-tab-news.js index d87b9cb9..87b095e1 100644 --- a/apps/ssb/tf-tab-news.js +++ b/apps/ssb/tf-tab-news.js @@ -180,6 +180,10 @@ class TfTabNewsElement extends LitElement { await this.check_peer_exchange(); } + is_loading() { + return this.shadowRoot?.getElementById('news')?.loading; + } + render_sidebar() { return html`