Skip to content

Commit 5254e8b

Browse files
committed
Fix inconsistent error handling on refreshGitStatus and remove redundant invalidateGitBranchQueries
- Wrap entire refreshGitStatus pipe (including forkIn) with Effect.ignore so scope-closed errors from forkIn cannot propagate to callers via Effect.tap - Remove redundant private invalidateGitBranchQueries; inline null guard at call sites using the existing public invalidateGitQueries function
1 parent 5326507 commit 5254e8b

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

apps/server/src/ws.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,11 @@ const WsRpcLayer = WsRpcGroup.toLayer(
354354
const refreshGitStatus = (cwd: string) =>
355355
gitStatusBroadcaster
356356
.enqueueRefreshStatus(cwd)
357-
.pipe(Effect.ignoreCause({ log: true }), Effect.forkIn(wsBackgroundScope), Effect.asVoid);
357+
.pipe(
358+
Effect.ignoreCause({ log: true }),
359+
Effect.forkIn(wsBackgroundScope),
360+
Effect.ignore({ log: true }),
361+
);
358362

359363
return WsRpcGroup.of({
360364
[ORCHESTRATION_WS_METHODS.getSnapshot]: (_input) =>

apps/web/src/lib/gitReactQuery.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,6 @@ export function invalidateGitQueries(queryClient: QueryClient, input?: { cwd?: s
4141
return queryClient.invalidateQueries({ queryKey: gitQueryKeys.all });
4242
}
4343

44-
function invalidateGitBranchQueries(queryClient: QueryClient, cwd: string | null) {
45-
if (cwd === null) {
46-
return Promise.resolve();
47-
}
48-
49-
return queryClient.invalidateQueries({ queryKey: gitQueryKeys.branches(cwd) });
50-
}
51-
5244
export function gitBranchSearchInfiniteQueryOptions(input: {
5345
cwd: string | null;
5446
query: string;
@@ -107,7 +99,7 @@ export function gitInitMutationOptions(input: { cwd: string | null; queryClient:
10799
return api.git.init({ cwd: input.cwd });
108100
},
109101
onSettled: async () => {
110-
await invalidateGitBranchQueries(input.queryClient, input.cwd);
102+
if (input.cwd) await invalidateGitQueries(input.queryClient, { cwd: input.cwd });
111103
},
112104
});
113105
}
@@ -124,7 +116,7 @@ export function gitCheckoutMutationOptions(input: {
124116
return api.git.checkout({ cwd: input.cwd, branch });
125117
},
126118
onSettled: async () => {
127-
await invalidateGitBranchQueries(input.queryClient, input.cwd);
119+
if (input.cwd) await invalidateGitQueries(input.queryClient, { cwd: input.cwd });
128120
},
129121
});
130122
}
@@ -164,7 +156,7 @@ export function gitRunStackedActionMutationOptions(input: {
164156
);
165157
},
166158
onSuccess: async () => {
167-
await invalidateGitBranchQueries(input.queryClient, input.cwd);
159+
if (input.cwd) await invalidateGitQueries(input.queryClient, { cwd: input.cwd });
168160
},
169161
});
170162
}
@@ -178,7 +170,7 @@ export function gitPullMutationOptions(input: { cwd: string | null; queryClient:
178170
return api.git.pull({ cwd: input.cwd });
179171
},
180172
onSuccess: async () => {
181-
await invalidateGitBranchQueries(input.queryClient, input.cwd);
173+
if (input.cwd) await invalidateGitQueries(input.queryClient, { cwd: input.cwd });
182174
},
183175
});
184176
}
@@ -228,7 +220,7 @@ export function gitPreparePullRequestThreadMutationOptions(input: {
228220
});
229221
},
230222
onSuccess: async () => {
231-
await invalidateGitBranchQueries(input.queryClient, input.cwd);
223+
if (input.cwd) await invalidateGitQueries(input.queryClient, { cwd: input.cwd });
232224
},
233225
});
234226
}

0 commit comments

Comments
 (0)