From 6456a4f44ac6437fe6234c178a11b103671cf5f3 Mon Sep 17 00:00:00 2001 From: Rafael dos Santos Silva Date: Thu, 28 Nov 2024 14:25:15 -0300 Subject: [PATCH] FIX: Keep related topics data cached when a user scrolls up (#976) See https://meta.discourse.org/t/related-topics-missing-after-rereading-a-topic-with-more-than-20-posts/306147/6 --- assets/javascripts/initializers/related-topics.gjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/initializers/related-topics.gjs b/assets/javascripts/initializers/related-topics.gjs index d03bda4e..89d2e037 100644 --- a/assets/javascripts/initializers/related-topics.gjs +++ b/assets/javascripts/initializers/related-topics.gjs @@ -47,10 +47,16 @@ export default { (Superclass) => class extends Superclass { @tracked related_topics; + relatedTopicsCache = []; @cached get relatedTopics() { - return this.related_topics?.map((topic) => + // Used to keep related topics when a user scrolls up from the + // bottom of the topic and then scrolls back down + if (this.related_topics) { + this.relatedTopicsCache = this.related_topics; + } + return this.relatedTopicsCache?.map((topic) => this.store.createRecord("topic", topic) ); }