atproto explorer

fix login signin state

handle.invalid dba10696 c437950f

verified
+4 -2
+4 -2
src/components/login.tsx
··· 115 const lastSignedIn = localStorage.getItem("lastSignedIn"); 116 117 if (lastSignedIn) { 118 try { 119 const session = await getSession(lastSignedIn as Did); 120 const rpc = new Client({ handler: new OAuthUserAgent(session) }); 121 const res = await rpc.get("com.atproto.server.getSession"); 122 if (!res.ok) throw res.data.error; 123 return session; 124 } catch (err) { 125 - const sessions = localStorage.getItem("sessions"); 126 - const newSessions: Sessions = sessions ? JSON.parse(sessions) : {}; 127 newSessions[lastSignedIn].signedIn = false; 128 localStorage.setItem("sessions", JSON.stringify(newSessions)); 129 throw err;
··· 115 const lastSignedIn = localStorage.getItem("lastSignedIn"); 116 117 if (lastSignedIn) { 118 + const sessions = localStorage.getItem("sessions"); 119 + const newSessions: Sessions = sessions ? JSON.parse(sessions) : {}; 120 try { 121 const session = await getSession(lastSignedIn as Did); 122 const rpc = new Client({ handler: new OAuthUserAgent(session) }); 123 const res = await rpc.get("com.atproto.server.getSession"); 124 + newSessions[lastSignedIn].signedIn = true; 125 + localStorage.setItem("sessions", JSON.stringify(newSessions)); 126 if (!res.ok) throw res.data.error; 127 return session; 128 } catch (err) { 129 newSessions[lastSignedIn].signedIn = false; 130 localStorage.setItem("sessions", JSON.stringify(newSessions)); 131 throw err;