From d55d94818806dc001073c71535e8cc673434750c Mon Sep 17 00:00:00 2001 From: SirBlobby Date: Sun, 9 Aug 2026 19:54:00 -0400 Subject: [PATCH] Fix rustfmt formatting in server and kiosk Claude-Session: https://claude.ai/code/session_01RoC1ENJv254orkm7vZCQc3 --- apps/kiosk-client/src-tauri/src/room/client.rs | 8 ++++---- apps/kiosk-client/src-tauri/src/room/video.rs | 8 +------- server/src/auth.rs | 10 ++++++++-- server/src/layout.rs | 13 ++++++++----- server/src/main.rs | 5 ++++- server/src/models.rs | 4 +--- server/src/pins.rs | 16 +++++++++------- server/src/routes/admin.rs | 9 +++++---- server/src/routes/install.rs | 6 +++++- server/src/routes/kiosk.rs | 1 - server/src/routes/media.rs | 17 ++++++++++++----- 11 files changed, 57 insertions(+), 40 deletions(-) diff --git a/apps/kiosk-client/src-tauri/src/room/client.rs b/apps/kiosk-client/src-tauri/src/room/client.rs index d500f73..c832c61 100644 --- a/apps/kiosk-client/src-tauri/src/room/client.rs +++ b/apps/kiosk-client/src-tauri/src/room/client.rs @@ -95,12 +95,12 @@ impl RoomHandle { fn handle_event(app: &AppHandle, generation: u64, event: RoomEvent) { match event { - RoomEvent::Connected { .. } => emit_status(app, generation, StatusPayload::new("connected")), - - RoomEvent::Reconnecting => { - emit_status(app, generation, StatusPayload::new("reconnecting")) + RoomEvent::Connected { .. } => { + emit_status(app, generation, StatusPayload::new("connected")) } + RoomEvent::Reconnecting => emit_status(app, generation, StatusPayload::new("reconnecting")), + RoomEvent::Reconnected => emit_status(app, generation, StatusPayload::new("connected")), RoomEvent::Disconnected { reason } => { diff --git a/apps/kiosk-client/src-tauri/src/room/video.rs b/apps/kiosk-client/src-tauri/src/room/video.rs index a4602c2..a602a40 100644 --- a/apps/kiosk-client/src-tauri/src/room/video.rs +++ b/apps/kiosk-client/src-tauri/src/room/video.rs @@ -29,13 +29,7 @@ pub const PRIORITY_SCREEN: u8 = 2; /// /// Frames are converted to BGRA, which on a little endian machine is the same layout as /// cairo's ARgb32, and handed to the native drawing surface sitting under the webview. -pub fn start( - app: AppHandle, - generation: u64, - track: RemoteVideoTrack, - priority: u8, - sid: String, -) { +pub fn start(app: AppHandle, generation: u64, track: RemoteVideoTrack, priority: u8, sid: String) { // A camera must not displace a screen share that is already on the display. if IS_STREAMING.load(Ordering::SeqCst) && CURRENT_PRIORITY.load(Ordering::SeqCst) > priority { return; diff --git a/server/src/auth.rs b/server/src/auth.rs index e6eb112..4b486c0 100644 --- a/server/src/auth.rs +++ b/server/src/auth.rs @@ -81,7 +81,10 @@ pub struct KioskIdentity { impl FromRequestParts for AdminIdentity { type Rejection = AppError; - async fn from_request_parts(parts: &mut Parts, state: &AppState) -> Result { + async fn from_request_parts( + parts: &mut Parts, + state: &AppState, + ) -> Result { let token = bearer_token(parts)?; let data = decode::( &token, @@ -100,7 +103,10 @@ impl FromRequestParts for AdminIdentity { impl FromRequestParts for KioskIdentity { type Rejection = AppError; - async fn from_request_parts(parts: &mut Parts, state: &AppState) -> Result { + async fn from_request_parts( + parts: &mut Parts, + state: &AppState, + ) -> Result { let token = bearer_token(parts)?; let token_hash = hash_opaque_token(&token); diff --git a/server/src/layout.rs b/server/src/layout.rs index 336e9c8..34e6026 100644 --- a/server/src/layout.rs +++ b/server/src/layout.rs @@ -118,7 +118,9 @@ fn apply_defaults(kiosk_id: &str, mut layout: Value) -> Value { .entry("foregroundColor") .or_insert_with(|| json!("#f4f6f8")); object.entry("widgetOpacity").or_insert_with(|| json!(0.5)); - object.entry("background").or_insert_with(default_background); + object + .entry("background") + .or_insert_with(default_background); object.entry("nightMode").or_insert_with(default_night_mode); object.entry("widgets").or_insert_with(|| json!([])); object @@ -160,10 +162,11 @@ fn fill_nested_defaults(target: Option<&mut Value>, defaults: Value) { } pub async fn load_layout(db: &SqlitePool, kiosk_id: &str) -> AppResult { - let row: Option<(String,)> = sqlx::query_as("SELECT data FROM kiosk_layouts WHERE kiosk_id = ?") - .bind(kiosk_id) - .fetch_optional(db) - .await?; + let row: Option<(String,)> = + sqlx::query_as("SELECT data FROM kiosk_layouts WHERE kiosk_id = ?") + .bind(kiosk_id) + .fetch_optional(db) + .await?; let stored = match row { Some((data,)) => serde_json::from_str(&data).unwrap_or_else(|_| default_layout(kiosk_id)), diff --git a/server/src/main.rs b/server/src/main.rs index 786c1ce..a3e5280 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -75,7 +75,10 @@ async fn main() { .nest("/api/kiosk", routes::kiosk_router().layer(kiosk_cors)) .nest("/api", routes::api_router().layer(cors)) .nest_service("/media", ServeDir::new(state.config.media_dir.clone())) - .nest_service("/downloads", ServeDir::new(state.config.package_dir.clone())) + .nest_service( + "/downloads", + ServeDir::new(state.config.package_dir.clone()), + ) .layer(TraceLayer::new_for_http()) .with_state(state); diff --git a/server/src/models.rs b/server/src/models.rs index f8c3364..0193eb2 100644 --- a/server/src/models.rs +++ b/server/src/models.rs @@ -39,9 +39,7 @@ impl From for KioskView { status: row.status, last_seen_at: row.last_seen_at, created_at: row.created_at, - metrics: row - .metrics - .and_then(|raw| serde_json::from_str(&raw).ok()), + metrics: row.metrics.and_then(|raw| serde_json::from_str(&raw).ok()), metrics_at: row.metrics_at, } } diff --git a/server/src/pins.rs b/server/src/pins.rs index 7e87662..7f6cb89 100644 --- a/server/src/pins.rs +++ b/server/src/pins.rs @@ -24,13 +24,15 @@ pub async fn issue_pin( let expires_at = issued_at + seconds_to_ms(rotation_seconds + grace_seconds); let pin = allocate_unique_pin(db, issued_at).await?; - sqlx::query("INSERT INTO kiosk_pins (pin, kiosk_id, issued_at, expires_at) VALUES (?, ?, ?, ?)") - .bind(&pin) - .bind(kiosk_id) - .bind(issued_at) - .bind(expires_at) - .execute(db) - .await?; + sqlx::query( + "INSERT INTO kiosk_pins (pin, kiosk_id, issued_at, expires_at) VALUES (?, ?, ?, ?)", + ) + .bind(&pin) + .bind(kiosk_id) + .bind(issued_at) + .bind(expires_at) + .execute(db) + .await?; Ok(IssuedPin { pin, diff --git a/server/src/routes/admin.rs b/server/src/routes/admin.rs index f7dadf0..8bf6904 100644 --- a/server/src/routes/admin.rs +++ b/server/src/routes/admin.rs @@ -85,10 +85,11 @@ async fn list_kiosks( State(state): State, _admin: AdminIdentity, ) -> AppResult> { - let rows: Vec = - sqlx::query_as(&format!("SELECT {KIOSK_COLUMNS} FROM kiosks ORDER BY created_at")) - .fetch_all(&state.db) - .await?; + let rows: Vec = sqlx::query_as(&format!( + "SELECT {KIOSK_COLUMNS} FROM kiosks ORDER BY created_at" + )) + .fetch_all(&state.db) + .await?; let now = now_ms(); let kiosks = rows diff --git a/server/src/routes/install.rs b/server/src/routes/install.rs index d425689..12e82d2 100644 --- a/server/src/routes/install.rs +++ b/server/src/routes/install.rs @@ -30,7 +30,11 @@ fn resolve_server_url(state: &AppState, headers: &HeaderMap) -> String { } if !state.config.public_api_url.is_empty() { - return state.config.public_api_url.trim_end_matches('/').to_string(); + return state + .config + .public_api_url + .trim_end_matches('/') + .to_string(); } "http://localhost:8080".to_string() diff --git a/server/src/routes/kiosk.rs b/server/src/routes/kiosk.rs index b1c80a4..7691780 100644 --- a/server/src/routes/kiosk.rs +++ b/server/src/routes/kiosk.rs @@ -5,7 +5,6 @@ use axum::{Json, Router}; use serde::{Deserialize, Serialize}; use serde_json::Value; - use crate::auth::{generate_opaque_token, hash_opaque_token, KioskIdentity}; use crate::clock::now_ms; use crate::error::{AppError, AppResult}; diff --git a/server/src/routes/media.rs b/server/src/routes/media.rs index 4655458..0babf27 100644 --- a/server/src/routes/media.rs +++ b/server/src/routes/media.rs @@ -34,22 +34,29 @@ pub async fn store_image( } if body.len() > MAX_UPLOAD_BYTES { - return Err(AppError::BadRequest("images must be 8 MB or smaller".into())); + return Err(AppError::BadRequest( + "images must be 8 MB or smaller".into(), + )); } let content_type = headers .get(axum::http::header::CONTENT_TYPE) .and_then(|value| value.to_str().ok()) - .map(|value| value.split(';').next().unwrap_or(value).trim().to_lowercase()) + .map(|value| { + value + .split(';') + .next() + .unwrap_or(value) + .trim() + .to_lowercase() + }) .unwrap_or_default(); let extension = ALLOWED_TYPES .iter() .find(|(mime, _)| *mime == content_type) .map(|(_, extension)| *extension) - .ok_or_else(|| { - AppError::BadRequest("images must be a PNG, JPEG, WEBP or GIF".into()) - })?; + .ok_or_else(|| AppError::BadRequest("images must be a PNG, JPEG, WEBP or GIF".into()))?; let directory = std::path::Path::new(&state.config.media_dir); tokio::fs::create_dir_all(directory)