For now? I'm experimenting on an old concept.
1
fork

Configure Feed

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

Remove Mutex, all are pools now

+7 -9
+5 -5
server/src/client_communication.rs
··· 93 93 match try_revive { 94 94 Some(token) => { 95 95 let appstate = state.0.clone(); 96 - let db = &appstate.db.lock().await; 96 + let db = &appstate.db; 97 97 match User::revive_session_from_token(token.clone(), db).await { 98 98 Ok(user) => { 99 99 incoming_elog!(ev_log, "Session revived for user: {}", ··· 155 155 // register the user 156 156 { 157 157 let appstate = state.0.clone(); 158 - let db = &appstate.db.lock().await; 158 + let db = &appstate.db; 159 159 match User::create_user(email.clone(), username.clone(), password, db).await 160 160 { 161 161 Ok(user) => { ··· 246 246 } 247 247 Ok(Message::RegisterPrecheck { email, username, password }) => { 248 248 let appstate = state.0.clone(); 249 - let db = &appstate.db.lock().await; 249 + let db = &appstate.db; 250 250 match crate::user::register_validitycheck(email, username, password, db).await { 251 251 Err(LuminaError::RegisterEmailInUse) => { 252 252 let _ = stream.send(ws::Message::from(msgtojson(Message::RegisterPrecheckResponse { ··· 294 294 let _ = stream.send(ws::Message::from(msgtojson(Message::AuthFailure))).await; 295 295 } else { 296 296 let appstate = state.0.clone(); 297 - let db = &appstate.db.lock().await; 297 + let db = &appstate.db; 298 298 let msgback = match User::authenticate(email_username.clone(), password, db, ev_log.clone()).await { 299 299 Ok((session_reference, user)) => { 300 300 incoming_elog!(ev_log,"User {} authenticated to session with id {}.\n{}", user.username.clone().color_bright_cyan(), session_reference.session_id.to_string().color_pink(), format!("(User id: {})", user.id).style_dim()); ··· 351 351 } 352 352 Ok(Message::TimelineRequest { by_name: name, page }) => { 353 353 let appstate = state.0.clone(); 354 - let db = &appstate.db.lock().await; 354 + let db = &appstate.db; 355 355 // Fetch post IDs for the requested timeline 356 356 match fetch_timeline_post_ids_by_timeline_name( 357 357 ev_log.clone(),
+2 -4
server/src/main.rs
··· 37 37 use rocket::config::LogLevel; 38 38 use std::io::ErrorKind; 39 39 use std::{net::IpAddr, process, sync::Arc}; 40 - use tokio::sync::Mutex; 41 40 use uuid::Uuid; 42 41 mod user; 43 42 44 43 struct AppState(Arc<InnerAppState>); 45 44 struct InnerAppState { 46 - #[allow(dead_code)] 47 45 config: ServerConfig, 48 - db: Mutex<DbConn>, 46 + db: DbConn, 49 47 event_logger: EventLogger, 50 48 } 51 49 mod rate_limiter; ··· 298 296 299 297 let appstate = AppState(Arc::from(InnerAppState { 300 298 config: config.clone(), 301 - db: Mutex::from(db), 299 + db: db, 302 300 event_logger: ev_log.clone(), 303 301 })); 304 302