mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-05-26 20:49:55 +00:00
@@ -0,0 +1 @@
|
|||||||
|
Fixed error 500 when joining non-existent rooms. Contributed by @ezera.
|
||||||
@@ -785,6 +785,15 @@ async fn join_room_by_id_helper_local(
|
|||||||
};
|
};
|
||||||
|
|
||||||
if servers.is_empty() || servers.len() == 1 && services.globals.server_is_ours(&servers[0]) {
|
if servers.is_empty() || servers.len() == 1 && services.globals.server_is_ours(&servers[0]) {
|
||||||
|
if !services.rooms.metadata.exists(room_id).await {
|
||||||
|
return Err!(Request(
|
||||||
|
Unknown(
|
||||||
|
"Room was not found locally and no servers were found to help us discover it"
|
||||||
|
),
|
||||||
|
NOT_FOUND
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
return Err(error);
|
return Err(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,14 @@ macro_rules! err {
|
|||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
(Request($variant:ident($($args:tt)+), $status_code:ident)) => {
|
||||||
|
$crate::error::Error::Request(
|
||||||
|
$crate::ruma::api::client::error::ErrorKind::$variant,
|
||||||
|
$crate::format_maybe!($($args)+),
|
||||||
|
$crate::http::StatusCode::$status_code,
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
(Config($item:literal, $($args:tt)+)) => {{
|
(Config($item:literal, $($args:tt)+)) => {{
|
||||||
let mut buf = String::new();
|
let mut buf = String::new();
|
||||||
$crate::error::Error::Config($item, $crate::err_log!(buf, error, config = %$item, $($args)+))
|
$crate::error::Error::Config($item, $crate::err_log!(buf, error, config = %$item, $($args)+))
|
||||||
|
|||||||
Reference in New Issue
Block a user