MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / handleResult

Function handleResult

packages/react/src/plugins/oauth-sign-in.tsx:254–304  ·  view source on GitHub ↗
(result: OAuthPopupResult<TPayload>)

Source from the content-addressed store, hash-verified

252 sessionRef.current = { state: response.state };
253 input.onAuthorizationStarted?.(response);
254 const handleResult = async (result: OAuthPopupResult<TPayload>) => {
255 cleanupRef.current = null;
256 sessionRef.current = null;
257
258 if (!result.ok) {
259 trackEvent("oauth_completed", { success: false });
260 setBusy(false);
261 setError(result.error);
262 input.onError?.(result.error, result.errorDetails);
263 return;
264 }
265
266 const refreshExit = await doOAuthConnectionCompleted({
267 reactivityKeys: connectionWriteKeys,
268 });
269 if (Exit.isFailure(refreshExit)) {
270 const message = messageFromExit(refreshExit, "Failed to refresh connection");
271 reportHandledError(refreshExit.cause, {
272 surface: "oauth",
273 action: "refresh_connection",
274 message,
275 metadata: input.reportMetadata,
276 });
277 trackEvent("oauth_completed", { success: false });
278 setBusy(false);
279 setError(message);
280 input.onError?.(message);
281 return;
282 }
283
284 const persistenceError = await Promise.resolve(input.onSuccess(result)).then(
285 () => null,
286 (cause: unknown) => cause,
287 );
288 if (persistenceError !== null) {
289 const message = messageFromUnknown(persistenceError, "Failed to save connection");
290 reportHandledError(persistenceError, {
291 surface: "oauth",
292 action: "persist_connection",
293 message,
294 metadata: input.reportMetadata,
295 });
296 trackEvent("oauth_completed", { success: false });
297 setBusy(false);
298 setError(message);
299 input.onError?.(message);
300 return;
301 }
302 trackEvent("oauth_completed", { success: true });
303 setBusy(false);
304 };
305 const handleClosed = () => {
306 cleanupRef.current = null;
307 sessionRef.current = null;

Callers 1

useOAuthPopupFlowFunction · 0.70

Calls 4

trackEventFunction · 0.90
messageFromExitFunction · 0.90
messageFromUnknownFunction · 0.90
resolveMethod · 0.80

Tested by

no test coverage detected