diff --git a/src/lib/stores/PR.ts b/src/lib/stores/PR.ts index 34396f5..48c9e29 100644 --- a/src/lib/stores/PR.ts +++ b/src/lib/stores/PR.ts @@ -29,6 +29,9 @@ export let ensurePRFull = (repo_id: string, pr_id: string) => { return; } + if (sub) sub.stop(); + if (sub_replies) sub_replies.stop(); + selected_pr_repo_id = repo_id; selected_pr_id = pr_id; selected_pr_status_date = 0; @@ -50,7 +53,6 @@ export let ensurePRFull = (repo_id: string, pr_id: string) => { new Promise(async (r) => { let repo = await ensureSelectedRepo(repo_id); - if (sub) sub.stop(); sub = ndk.subscribe( { ids: [pr_id], @@ -121,7 +123,6 @@ export let ensurePRFull = (repo_id: string, pr_id: string) => { }); }); - if (sub_replies) sub_replies.stop(); sub_replies = ndk.subscribe( { "#e": [pr_id], diff --git a/src/lib/stores/PRs.ts b/src/lib/stores/PRs.ts index e09bdd9..fe5358d 100644 --- a/src/lib/stores/PRs.ts +++ b/src/lib/stores/PRs.ts @@ -25,27 +25,20 @@ let sub: NDKSubscription; export let ensurePRSummaries = async (repo_id: string) => { if (selected_repo_id == repo_id) return; - if (repo_id == "") return pr_summaries.set({ - id: "", + pr_summaries.set({ + id: repo_id, summaries: [], - loading: false, + loading: repo_id !== "", }); - selected_repo_id = repo_id; - - let repo = await ensureSelectedRepo(repo_id); - - pr_summaries.update(prs => { - return { - ...prs, - id: repo_id, - loading: true, - }; - }); + if (sub) sub.stop(); + if (sub_statuses) sub_statuses.stop(); authors_unsubscribers.forEach(u => u()); authors_unsubscribers = []; - if (sub) sub.stop(); + selected_repo_id = repo_id; + + let repo = await ensureSelectedRepo(repo_id); sub = ndk.subscribe( {