diff --git a/extension/src/setup/setup.ts b/extension/src/setup/setup.ts index e250189..db73702 100644 --- a/extension/src/setup/setup.ts +++ b/extension/src/setup/setup.ts @@ -1142,7 +1142,14 @@ function attachStep5(): void { }, ); }); - if (!saveOk) { render(); return; } + if (!saveOk) { + if (state.verifiedHandle !== null) { + try { w.lock(state.verifiedHandle); } catch { /* best effort */ } + state.verifiedHandle = null; + } + render(); + return; + } // 3) Register device on the remote (read-modify-write devices.json). const hostUrl = state.hostType === 'github' ? 'https://api.github.com' : state.hostUrl; @@ -1164,6 +1171,10 @@ function attachStep5(): void { } catch (err: unknown) { console.error('[relicario setup] register device failed:', err); state.error = `Failed to register device: ${err instanceof Error ? err.message : String(err)}`; + if (state.verifiedHandle !== null) { + try { (await loadWasm()).lock(state.verifiedHandle); } catch { /* best effort */ } + state.verifiedHandle = null; + } render(); } });