1
0
This commit is contained in:
2025-03-06 14:08:06 +03:00
parent e77dbffc6b
commit db61f2210b
3 changed files with 6 additions and 8 deletions

View File

@@ -3,7 +3,7 @@ use sqlx::migrate::Migrator;
use crate::{ use crate::{
config, config,
entity::{self, Channel}, entity,
}; };
static MIGRATOR: Migrator = sqlx::migrate!("./migrations"); static MIGRATOR: Migrator = sqlx::migrate!("./migrations");
@@ -137,7 +137,7 @@ impl Database {
&self, &self,
channel_id: entity::ShortId, channel_id: entity::ShortId,
message_id: entity::LongId, message_id: entity::LongId,
) -> Result<Channel> { ) -> Result<entity::Channel> {
sqlx::query("UPDATE channel SET last_message_id = $1 WHERE id = $2") sqlx::query("UPDATE channel SET last_message_id = $1 WHERE id = $2")
.bind(message_id) .bind(message_id)
.bind(channel_id) .bind(channel_id)

View File

@@ -20,8 +20,6 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
connected_users: Default::default(), connected_users: Default::default(),
}; };
tokio::spawn(notifier::run(context.clone()));
web::run(context).await?; web::run(context).await?;
Ok(()) Ok(())

View File

@@ -61,13 +61,13 @@ pub async fn broadcast_message(
) { ) {
let connected_users = state.connected_users.read().await; let connected_users = state.connected_users.read().await;
let recievers = let receivers =
connected_users connected_users
.iter() .iter()
.filter_map(|(key, conn)| if predicate(key) { Some(conn) } else { None }); .filter_map(|(key, conn)| if predicate(key) { Some(conn) } else { None });
for reciever in recievers { for receiver in receivers {
_ = reciever _ = receiver
.send(message.clone()) .send(message.clone())
.inspect_err(|err| tracing::error!("Failed to send message: {}", err)); .inspect_err(|err| tracing::error!("Failed to send message: {}", err));
} }
@@ -90,7 +90,7 @@ async fn handle_socket(websocket: WebSocket, state: AppState, context: context::
}; };
let (mut sender, _) = websocket.split(); let (mut sender, _) = websocket.split();
let (tx, mut rx) = tokio::sync::mpsc::unbounded_channel::<Message>(); let (tx, mut rx) = tokio::sync::mpsc::unbounded_channel();
{ {
let mut connected_users = state.connected_users.write().await; let mut connected_users = state.connected_users.write().await;