From 9137467ecbe535c4aa02c1c265e7951ffcd3ff06 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 28 Feb 2024 20:54:07 +0000 Subject: [PATCH] fix: fetch replies to new revisions as only the revision event was being queried for also checking that we havn't already asked for replies for the revision so there isn't an infinate loop --- src/lib/stores/Proposal.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/stores/Proposal.ts b/src/lib/stores/Proposal.ts index e872022..afaf8c7 100644 --- a/src/lib/stores/Proposal.ts +++ b/src/lib/stores/Proposal.ts @@ -30,6 +30,8 @@ let sub: NDKSubscription let sub_replies: NDKSubscription +let revision_ids_queried: string[] + export const ensureProposalFull = ( repo_identifier: string, proposal_id: string @@ -48,6 +50,7 @@ export const ensureProposalFull = ( selected_proposal_id = proposal_id selected_proposal_status_date = 0 selected_proposal_replies.set([]) + revision_ids_queried = [] selected_proposal_full.set({ ...full_defaults, @@ -181,10 +184,15 @@ export const ensureProposalFull = ( selected_proposal_replies.update((replies) => { return [...replies, event] }) - if (event.tags.some((t) => t.length > 1 && t[1] === 'revision-root')) { + if ( + event.tags.some((t) => t.length > 1 && t[1] === 'revision-root') && + !revision_ids_queried.includes(event.id) + ) { + // prevents an infinate loop of querying the same revision + revision_ids_queried.push(event.id) const sub_revision_replies = ndk.subscribe( { - ids: [proposal_id], + '#e': [event.id], limit: 50, }, {