An easy-to-host PDS on the ATProtocol, iPhone and MacOS. Maintain control of your keys and data, always.
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(identity-wallet): wire PdsClient into AppState for Phase 4 access

authored by

Malpercio and committed by
Tangled
dd89021d ee391508

+12
+12
apps/identity-wallet/src-tauri/src/oauth.rs
··· 28 28 /// Runtime relay client. Populated from Keychain on startup or by 29 29 /// `save_relay_url` on first launch. Falls back to the compile-time default if unset. 30 30 relay_client: OnceLock<crate::http::RelayClient>, 31 + /// PDS client for discovery and XRPC operations against arbitrary PDS endpoints. 32 + /// Stateless and cheap to construct; available to Phase 4 Tauri commands. 33 + pds_client: crate::pds_client::PdsClient, 31 34 } 32 35 33 36 impl AppState { ··· 36 39 pending_auth: Mutex::new(None), 37 40 oauth_session: Mutex::new(None), 38 41 relay_client: OnceLock::new(), 42 + pds_client: crate::pds_client::PdsClient::new(), 39 43 } 40 44 } 41 45 ··· 55 59 { 56 60 tracing::warn!(url = %url, "set_relay_client: relay_client already initialized; ignoring"); 57 61 } 62 + } 63 + 64 + /// Returns the PDS client for discovery and XRPC operations. 65 + pub fn pds_client(&self) -> &crate::pds_client::PdsClient { 66 + &self.pds_client 58 67 } 59 68 } 60 69 ··· 890 899 })), 891 900 oauth_session: std::sync::Mutex::new(None), 892 901 relay_client: OnceLock::new(), 902 + pds_client: crate::pds_client::PdsClient::new(), 893 903 }; 894 904 895 905 let url = make_test_url("code123", "WRONG-STATE"); ··· 918 928 })), 919 929 oauth_session: std::sync::Mutex::new(None), 920 930 relay_client: OnceLock::new(), 931 + pds_client: crate::pds_client::PdsClient::new(), 921 932 }; 922 933 923 934 // First callback succeeds. ··· 948 959 })), 949 960 oauth_session: std::sync::Mutex::new(None), 950 961 relay_client: OnceLock::new(), 962 + pds_client: crate::pds_client::PdsClient::new(), 951 963 }; 952 964 953 965 let url = make_test_url("mycode", "expected-state");