notecrumbs

a nostr opengraph server build on nostrdb and egui
git clone git://jb55.com/notecrumbs
Log | Files | Refs | README | LICENSE

commit 1c842b717e9db76d6c0b9b98e3e7023d197b1c90
parent e48b077f41e3d05bf8378bf7b8af1ccb859e048e
Author: William Casarin <jb55@jb55.com>
Date:   Tue, 17 Feb 2026 10:56:44 -0800

clippy fixes

Signed-off-by: William Casarin <jb55@jb55.com>

Diffstat:
Msrc/main.rs | 30++++++++++++++----------------
Msrc/render.rs | 2+-
Msrc/sitemap.rs | 32++++++++++++++++++++++----------
3 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/src/main.rs b/src/main.rs @@ -149,23 +149,21 @@ async fn serve( .header(header::CACHE_CONTROL, "public, max-age=86400") .body(Full::new(Bytes::from(body)))?); } - "/sitemap.xml" => { - match sitemap::generate_sitemap(&app.ndb) { - Ok(xml) => { - return Ok(Response::builder() - .status(StatusCode::OK) - .header(header::CONTENT_TYPE, "application/xml; charset=utf-8") - .header(header::CACHE_CONTROL, "public, max-age=3600") - .body(Full::new(Bytes::from(xml)))?); - } - Err(err) => { - error!("Failed to generate sitemap: {err}"); - return Ok(Response::builder() - .status(StatusCode::INTERNAL_SERVER_ERROR) - .body(Full::new(Bytes::from("Failed to generate sitemap\n")))?); - } + "/sitemap.xml" => match sitemap::generate_sitemap(&app.ndb) { + Ok(xml) => { + return Ok(Response::builder() + .status(StatusCode::OK) + .header(header::CONTENT_TYPE, "application/xml; charset=utf-8") + .header(header::CACHE_CONTROL, "public, max-age=3600") + .body(Full::new(Bytes::from(xml)))?); } - } + Err(err) => { + error!("Failed to generate sitemap: {err}"); + return Ok(Response::builder() + .status(StatusCode::INTERNAL_SERVER_ERROR) + .body(Full::new(Bytes::from("Failed to generate sitemap\n")))?); + } + }, _ => {} } diff --git a/src/render.rs b/src/render.rs @@ -954,7 +954,7 @@ async fn stream_profile_feed_once( convert_filter(&builder.build()) }; let mut stream = relay_pool - .stream_events(filter, &relays, Duration::from_millis(2000)) + .stream_events(filter, relays, Duration::from_millis(2000)) .await?; let mut fetched = 0usize; diff --git a/src/sitemap.rs b/src/sitemap.rs @@ -157,7 +157,9 @@ pub fn generate_sitemap(ndb: &Ndb) -> Result<String, nostrdb::Error> { .limit(MAX_SITEMAP_URLS) .build(); - let results = ndb.query(&txn, &[notes_filter], MAX_SITEMAP_URLS as i32).unwrap_or_default(); + let results = ndb + .query(&txn, &[notes_filter], MAX_SITEMAP_URLS as i32) + .unwrap_or_default(); for result in results { let Ok(note) = ndb.get_note_by_key(&txn, result.note_key) else { continue; @@ -184,7 +186,9 @@ pub fn generate_sitemap(ndb: &Ndb) -> Result<String, nostrdb::Error> { .limit(MAX_SITEMAP_URLS) .build(); - let results = ndb.query(&txn, &[articles_filter], MAX_SITEMAP_URLS as i32).unwrap_or_default(); + let results = ndb + .query(&txn, &[articles_filter], MAX_SITEMAP_URLS as i32) + .unwrap_or_default(); for result in results { let Ok(note) = ndb.get_note_by_key(&txn, result.note_key) else { continue; @@ -227,12 +231,11 @@ pub fn generate_sitemap(ndb: &Ndb) -> Result<String, nostrdb::Error> { // Query profiles (kind:0 - metadata) // No since filter for profiles - they update less frequently - let profiles_filter = Filter::new() - .kinds([0]) - .limit(MAX_SITEMAP_URLS) - .build(); + let profiles_filter = Filter::new().kinds([0]).limit(MAX_SITEMAP_URLS).build(); - let results = ndb.query(&txn, &[profiles_filter], MAX_SITEMAP_URLS as i32).unwrap_or_default(); + let results = ndb + .query(&txn, &[profiles_filter], MAX_SITEMAP_URLS as i32) + .unwrap_or_default(); for result in results { let Ok(note) = ndb.get_note_by_key(&txn, result.note_key) else { continue; @@ -269,7 +272,10 @@ pub fn generate_sitemap(ndb: &Ndb) -> Result<String, nostrdb::Error> { // Record metrics (aggregate stats, not user-tracking) let duration = start.elapsed(); metrics::counter!("sitemap_generations_total", 1); - metrics::gauge!("sitemap_generation_duration_seconds", duration.as_secs_f64()); + metrics::gauge!( + "sitemap_generation_duration_seconds", + duration.as_secs_f64() + ); metrics::gauge!("sitemap_urls_total", entries.len() as f64); metrics::gauge!("sitemap_notes_count", notes_count as f64); metrics::gauge!("sitemap_articles_count", articles_count as f64); @@ -323,8 +329,14 @@ mod tests { #[test] fn test_normalize_base_url() { - assert_eq!(normalize_base_url("https://example.com/"), "https://example.com"); - assert_eq!(normalize_base_url("https://example.com"), "https://example.com"); + assert_eq!( + normalize_base_url("https://example.com/"), + "https://example.com" + ); + assert_eq!( + normalize_base_url("https://example.com"), + "https://example.com" + ); } #[test]