mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
fix: Don't panic if nobody's listening
This commit is contained in:
@@ -214,9 +214,9 @@ fn fail_federation_txn(
|
||||
services.transaction_ids.remove_federation_txn(txn_key);
|
||||
|
||||
// Send the error to any waiters
|
||||
sender
|
||||
.send(Some(Err(err)))
|
||||
.expect("couldn't send error to channel");
|
||||
if let Err(e) = sender.send(Some(Err(err))) {
|
||||
debug_warn!("Failed to send transaction error to receivers: {e}");
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts a TransactionError into an appropriate HTTP error response.
|
||||
|
||||
@@ -11,6 +11,7 @@ use std::{
|
||||
use async_trait::async_trait;
|
||||
use conduwuit::{Error, Result, SyncRwLock, debug_warn, warn};
|
||||
use database::{Handle, Map};
|
||||
use futures::SinkExt;
|
||||
use ruma::{
|
||||
DeviceId, OwnedServerName, OwnedTransactionId, TransactionId, UserId,
|
||||
api::{
|
||||
@@ -239,9 +240,9 @@ impl Service {
|
||||
}),
|
||||
);
|
||||
|
||||
sender
|
||||
.send(Some(Ok(response)))
|
||||
.expect("couldn't send response to channel");
|
||||
if let Err(e) = sender.send(Some(Ok(response))) {
|
||||
debug_warn!("Failed to send transaction response to waiting receivers: {e}");
|
||||
}
|
||||
|
||||
// explicitly close
|
||||
drop(sender);
|
||||
|
||||
Reference in New Issue
Block a user