diff --git a/apps/ssb.json b/apps/ssb.json index 5caea87b..43108958 100644 --- a/apps/ssb.json +++ b/apps/ssb.json @@ -1,5 +1,5 @@ { "type": "tildefriends-app", "emoji": "🦀", - "previous": "&JDcwV6jqSMWEgYqq2qRmYDPVhVS5yoasohZnH077RW4=.sha256" + "previous": "&+/LuVOJUXuNSQRUD8PSgGzOdsWx47TPDcyUef5An2JQ=.sha256" } diff --git a/apps/ssb/tf-tab-news-feed.js b/apps/ssb/tf-tab-news-feed.js index 3f087b71..fb1c2f6c 100644 --- a/apps/ssb/tf-tab-news-feed.js +++ b/apps/ssb/tf-tab-news-feed.js @@ -398,12 +398,19 @@ class TfTabNewsFeedElement extends LitElement { ); } + make_messages_key() { + return JSON.stringify([ + this.hash, + Object.keys(this.channels_latest ?? {}).filter((x) => x != '🔐'), + ]); + } + async load_messages() { let start_time = new Date(); let self = this; this.loading++; let messages = []; - let original_key = JSON.stringify([this.hash, this.channels_latest ?? {}]); + let original_key = this.make_messages_key(); try { if (this._messages_key !== original_key) { this.messages = []; @@ -429,7 +436,7 @@ class TfTabNewsFeedElement extends LitElement { } finally { this.loading--; } - let current_key = JSON.stringify([this.hash, this.channels_latest ?? {}]); + let current_key = this.make_messages_key(); if (current_key === original_key) { this.messages = this.merge_messages(this.messages, messages); } @@ -486,19 +493,18 @@ class TfTabNewsFeedElement extends LitElement { render() { if ( !this.messages || - this._messages_key !== - JSON.stringify([this.hash, this.channels_latest ?? {}]) || + this._messages_key !== this.make_messages_key() || this._messages_following !== JSON.stringify(this.following) || - this._private_messages !== - JSON.stringify([ - this.private_messages, - this.grouped_private_messages, - ]) || - this._channels_latest !== - JSON.stringify(Object.keys(this.channels_latest)) + (this.hash.startsWith('#🔐') && + this._private_messages !== + JSON.stringify([ + this.private_messages, + this.grouped_private_messages, + ])) ) { + console.log(this._messages_key, this.make_messages_key()); console.log( - `loading messages for ${this.whoami} (messages=${!this.messages},${this._messages_hash != this.hash} following=${this._messages_following !== JSON.stringify(this.following)}, channels=${this._channels_latest !== JSON.stringify(Object.keys(this.channels_latest))}, private=${this._private_messages !== JSON.stringify([this.private_messages, this.grouped_private_messages])},${this.private_messages?.length},${Object.keys(this.grouped_private_messages ?? {}).length})` + `loading messages for ${this.whoami} (messages=${!this.messages},${this._messages_key != this.make_messages_key()} following=${this._messages_following !== JSON.stringify(this.following)}, private=${this._private_messages !== JSON.stringify([this.private_messages, this.grouped_private_messages])},${this.private_messages?.length},${Object.keys(this.grouped_private_messages ?? {}).length})` ); this.load_messages(); }