@@ -10,10 +10,10 @@ import { ButtonAction } from "$lib/ui";
1010import {
1111 addCounterpartySignature ,
1212 capitalize ,
13- getCanonicalBindingDocString ,
1413 deleteSocialBindingDoc ,
1514 fetchNameFromVault ,
1615 fetchUnsignedSocialDocs ,
16+ getCanonicalBindingDocString ,
1717 resolveVaultUri ,
1818} from " $lib/utils" ;
1919import axios from " axios" ;
@@ -498,20 +498,33 @@ async function runSocialBindingPoll() {
498498async function confirmSocialBinding() {
499499 if (! socialBindingSignerEname ) return ;
500500 socialBindingAwaitingConsent = false ;
501- socialBindingCounterSigning = true ;
502501 socialBindingError = null ;
503502
503+ const vault = await globalState .vaultController .vault ;
504+ if (! vault ?.ename || ! vault ?.uri ) {
505+ socialBindingError = " No active vault found." ;
506+ socialBindingAwaitingConsent = false ;
507+ socialBindingCounterSigning = false ;
508+ startSocialBindingPolling ();
509+ return ;
510+ }
511+
512+ if (! socialBindingPendingDocId || ! socialBindingPendingDocParsed ) {
513+ socialBindingError = " No pending social binding request found." ;
514+ socialBindingAwaitingConsent = false ;
515+ socialBindingCounterSigning = false ;
516+ startSocialBindingPolling ();
517+ return ;
518+ }
519+
520+ socialBindingCounterSigning = true ;
521+
504522 try {
505- const vault = await globalState .vaultController .vault ;
506- if (! vault ?.ename || ! vault ?.uri ) return ;
507523 const callerEname = vault .ename .startsWith (" @" )
508524 ? vault .ename
509525 : ` @${vault .ename } ` ;
510526 const gqlUrl = new URL (" /graphql" , vault .uri ).toString ();
511527
512- if (! socialBindingPendingDocId || ! socialBindingPendingDocParsed )
513- return ;
514-
515528 // Counter-sign the doc in the requester's OWN vault.
516529 // The doc has subject=@requester (=callerEname) so the requester is the valid counterparty.
517530 const payload = getCanonicalBindingDocString ({
@@ -537,9 +550,10 @@ async function confirmSocialBinding() {
537550 console .error (" [Social Binding] counter-sign error:" , err );
538551 socialBindingError =
539552 err instanceof Error ? err .message : " Something went wrong." ;
540- socialBindingCounterSigning = false ;
541553 socialBindingAwaitingConsent = false ;
542554 startSocialBindingPolling ();
555+ } finally {
556+ socialBindingCounterSigning = false ;
543557 }
544558}
545559
0 commit comments