Various improvements #169

Merged
schmelczer merged 78 commits from asch/saturday into main 2025-11-30 15:24:52 +00:00
Showing only changes of commit bd5a620942 - Show all commits

Don't broadcast without clients

Andras Schmelczer 2025-11-29 17:26:09 +00:00

View file

@ -1,7 +1,7 @@
use std::{collections::HashMap, sync::Arc}; use std::{collections::HashMap, sync::Arc};
use anyhow::Context; use anyhow::Context;
use log::warn; use log::{debug, warn};
use tokio::sync::{Mutex, broadcast}; use tokio::sync::{Mutex, broadcast};
use super::models::WebSocketServerMessageWithOrigin; use super::models::WebSocketServerMessageWithOrigin;
@ -39,7 +39,12 @@ impl Broadcasts {
vault: VaultId, vault: VaultId,
document: WebSocketServerMessageWithOrigin, document: WebSocketServerMessageWithOrigin,
) { ) {
let tx = self.get_or_create(vault).await; let tx = self.get_or_create(vault.clone()).await;
if tx.receiver_count() == 0 {
debug!("Skipping broadcast, no clients connected for vault `{vault}`");
return;
}
let result = tx let result = tx
.send(document) .send(document)