commit f05d88356ddbeb09113090d30353df47f1a46372
parent d6a249e225d93b56ae38c1257063b37d2eec451f
Author: kernelkind <kernelkind@gmail.com>
Date: Mon, 23 Feb 2026 23:42:56 -0500
tmp: accounts shim
to make scoped subs stuff compile for now
Signed-off-by: kernelkind <kernelkind@gmail.com>
Diffstat:
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/crates/notedeck/src/account/accounts.rs b/crates/notedeck/src/account/accounts.rs
@@ -1,3 +1,4 @@
+use hashbrown::HashSet;
use uuid::Uuid;
use crate::account::cache::AccountCache;
@@ -13,7 +14,7 @@ use crate::{
AccountStorage, MuteFun, SingleUnkIdAction, UnifiedSubscription, UnknownIds, UserAccount,
ZapWallet,
};
-use enostr::{ClientMessage, FilledKeypair, Keypair, Pubkey, RelayPool};
+use enostr::{ClientMessage, FilledKeypair, Keypair, NormRelayUrl, Pubkey, RelayId, RelayPool};
use nostrdb::{Ndb, Note, Transaction};
// TODO: remove this
@@ -368,6 +369,28 @@ impl Accounts {
pub fn get_subs(&self) -> &AccountSubs {
&self.subs
}
+
+ pub fn selected_account_read_relays(&self) -> HashSet<NormRelayUrl> {
+ self.get_selected_account()
+ .data
+ .relay
+ .advertised
+ .iter()
+ .filter(|r| r.is_readable())
+ .filter_map(|r| NormRelayUrl::new(&r.url).ok())
+ .collect()
+ }
+
+ pub fn selected_account_write_relays(&self) -> Vec<RelayId> {
+ self.get_selected_account()
+ .data
+ .relay
+ .advertised
+ .iter()
+ .filter(|r| r.is_writable())
+ .filter_map(|r| Some(RelayId::Websocket(NormRelayUrl::new(&r.url).ok()?)))
+ .collect()
+ }
}
enum AccType<'a> {