From 5bed3fa86f84d74d134e86e7ef80975628e24392 Mon Sep 17 00:00:00 2001 From: kieran Date: Thu, 17 Oct 2024 22:54:20 +0100 Subject: [PATCH] fix: profile loading --- .gitignore | 3 +-- src/app.rs | 24 +++++++++++++----------- src/bin/zap_stream_app.rs | 2 +- src/lib.rs | 2 +- src/services/image_cache.rs | 2 +- src/services/query.rs | 2 +- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 8e9985b..45e25eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ /target -/ndb +/.data /.idea -/cache /ffmpeg-kit \ No newline at end of file diff --git a/src/app.rs b/src/app.rs index 740d77a..72bcf57 100644 --- a/src/app.rs +++ b/src/app.rs @@ -2,14 +2,12 @@ use crate::route::Router; use eframe::{App, CreationContext, Frame}; use egui::{Color32, Context}; use nostr_sdk::database::MemoryDatabase; -use nostr_sdk::{Client, RelayPoolNotification}; +use nostr_sdk::Client; use nostrdb::{Config, Ndb}; use std::path::PathBuf; -use tokio::sync::broadcast; pub struct ZapStreamApp { client: Client, - notifications: broadcast::Receiver, router: Router, } @@ -18,31 +16,35 @@ impl ZapStreamApp { let client = Client::builder() .database(MemoryDatabase::with_opts(Default::default())) .build(); - let notifications = client.notifications(); - let ctx_clone = cc.egui_ctx.clone(); let client_clone = client.clone(); tokio::spawn(async move { client_clone .add_relay("wss://nos.lol") .await .expect("Failed to add relay"); + client_clone + .add_relay("wss://relay.damus.io") + .await + .expect("Failed to add relay"); + client_clone + .add_relay("wss://relay.snort.social") + .await + .expect("Failed to add relay"); client_clone.connect().await; - let mut notifications = client_clone.notifications(); - while let Ok(_) = notifications.recv().await { - ctx_clone.request_repaint(); - } }); egui_extras::install_image_loaders(&cc.egui_ctx); let ndb_path = data_path.join("ndb"); std::fs::create_dir_all(&ndb_path).expect("Failed to create ndb directory"); - let ndb = Ndb::new(ndb_path.to_str().unwrap(), &Config::default()).unwrap(); + let mut ndb_config = Config::default(); + ndb_config.set_ingester_threads(4); + + let ndb = Ndb::new(ndb_path.to_str().unwrap(), &ndb_config).unwrap(); Self { client: client.clone(), - notifications, router: Router::new(data_path, cc.egui_ctx.clone(), client.clone(), ndb.clone()), } } diff --git a/src/bin/zap_stream_app.rs b/src/bin/zap_stream_app.rs index 5b3be55..6203eae 100644 --- a/src/bin/zap_stream_app.rs +++ b/src/bin/zap_stream_app.rs @@ -13,7 +13,7 @@ async fn main() { options.renderer = Renderer::Glow; options.viewport = options.viewport.with_inner_size(Vec2::new(360., 720.)); - let data_path = PathBuf::from("."); + let data_path = PathBuf::from("./.data"); let _res = eframe::run_native( "zap.stream", options, diff --git a/src/lib.rs b/src/lib.rs index 48b0fb2..d9c2ff4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -25,7 +25,7 @@ pub async fn android_main(app: AndroidApp) { let mut options = eframe::NativeOptions::default(); options.renderer = Renderer::Glow; - options.viewport = options.viewport.with_inner_size(Vec2::new(360., 720.)); + let app_clone_for_event_loop = app.clone(); options.event_loop_builder = Some(Box::new(move |builder| { builder.with_android_app(app_clone_for_event_loop); diff --git a/src/services/image_cache.rs b/src/services/image_cache.rs index 1719bf9..79850cb 100644 --- a/src/services/image_cache.rs +++ b/src/services/image_cache.rs @@ -45,7 +45,7 @@ impl ImageCache { { let u = url.into(); let path = self.find(&u); - if !path.exists() { + if !path.exists() && u.len() > 0 { let path = path.clone(); let fl = self.fetch_lock.clone(); let ctx = self.ctx.clone(); diff --git a/src/services/query.rs b/src/services/query.rs index 2cb9137..7ad686b 100644 --- a/src/services/query.rs +++ b/src/services/query.rs @@ -79,7 +79,7 @@ impl Query { // remove filters already sent next = next .into_iter() - .filter(|f| !self.traces.iter().all(|y| y.filters.iter().any(|z| z.eq(f)))) + .filter(|f| !self.traces.iter().any(|y| y.filters.iter().any(|z| z.eq(f)))) .collect(); if next.len() == 0 {