···48 use jacquard::smol_str::SmolStr;
49 use jacquard::types::string::Did;
500000051 // Look for session keys in localStorage (format: oauth_session_{did}_{session_id})
52 let entries = match LocalStorage::get_all::<BTreeMap<SmolStr, serde_json::Value>>() {
53 Ok(e) => e,
···48 use jacquard::smol_str::SmolStr;
49 use jacquard::types::string::Did;
5051+ // Skip restore if already authenticated (e.g., just completed callback flow)
52+ if auth_state.read().is_authenticated() {
53+ return RestoreResult::Restored;
54+ }
55+56 // Look for session keys in localStorage (format: oauth_session_{did}_{session_id})
57 let entries = match LocalStorage::get_all::<BTreeMap<SmolStr, serde_json::Value>>() {
58 Ok(e) => e,