Browse Source

fix: clear pr summaries and responses on change

prevent bug where PR responses and summaries are added to an incorrect
pr or repo after the array has been cleared but before
ensureSelectedRepo has returned
master
DanConwayDev 2 years ago
parent
commit
faf7231d01
No known key found for this signature in database
GPG Key ID: 68E15486D73F75E1
  1. 5
      src/lib/stores/PR.ts
  2. 23
      src/lib/stores/PRs.ts

5
src/lib/stores/PR.ts

@ -29,6 +29,9 @@ export let ensurePRFull = (repo_id: string, pr_id: string) => { @@ -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) => { @@ -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) => { @@ -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],

23
src/lib/stores/PRs.ts

@ -25,27 +25,20 @@ let sub: NDKSubscription; @@ -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(
{

Loading…
Cancel
Save