improve debug get-room-state; use RoomOrAliasId
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
f127987c7a
commit
b28d216e00
2 changed files with 7 additions and 9 deletions
|
@ -13,7 +13,7 @@ use conduit::{
|
||||||
use ruma::{
|
use ruma::{
|
||||||
api::{client::error::ErrorKind, federation::event::get_room_state},
|
api::{client::error::ErrorKind, federation::event::get_room_state},
|
||||||
events::room::message::RoomMessageEventContent,
|
events::room::message::RoomMessageEventContent,
|
||||||
CanonicalJsonObject, EventId, RoomId, RoomVersionId, ServerName,
|
CanonicalJsonObject, EventId, OwnedRoomOrAliasId, RoomId, RoomVersionId, ServerName,
|
||||||
};
|
};
|
||||||
use service::{rooms::event_handler::parse_incoming_pdu, sending::resolve::resolve_actual_dest, services, PduEvent};
|
use service::{rooms::event_handler::parse_incoming_pdu, sending::resolve::resolve_actual_dest, services, PduEvent};
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
|
@ -236,7 +236,8 @@ pub(super) async fn get_remote_pdu(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) async fn get_room_state(_body: Vec<&str>, room_id: Box<RoomId>) -> Result<RoomMessageEventContent> {
|
pub(super) async fn get_room_state(_body: Vec<&str>, room: OwnedRoomOrAliasId) -> Result<RoomMessageEventContent> {
|
||||||
|
let room_id = services().rooms.alias.resolve(&room).await?;
|
||||||
let room_state = services()
|
let room_state = services()
|
||||||
.rooms
|
.rooms
|
||||||
.state_accessor
|
.state_accessor
|
||||||
|
@ -252,17 +253,14 @@ pub(super) async fn get_room_state(_body: Vec<&str>, room_id: Box<RoomId>) -> Re
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
let json_text = serde_json::to_string_pretty(&room_state).map_err(|e| {
|
let json = serde_json::to_string_pretty(&room_state).map_err(|e| {
|
||||||
warn!("Failed converting room state vector in our database to pretty JSON: {e}");
|
warn!("Failed converting room state vector in our database to pretty JSON: {e}");
|
||||||
Error::bad_database(
|
Error::bad_database(
|
||||||
"Failed to convert room state events to pretty JSON, possible invalid room state events in our database",
|
"Failed to convert room state events to pretty JSON, possible invalid room state events in our database",
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
Ok(RoomMessageEventContent::notice_markdown(format!(
|
Ok(RoomMessageEventContent::notice_markdown(format!("```json\n{json}\n```")))
|
||||||
"{}\n```json\n{}\n```",
|
|
||||||
"Found full room state", json_text
|
|
||||||
)))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) async fn ping(_body: Vec<&str>, server: Box<ServerName>) -> Result<RoomMessageEventContent> {
|
pub(super) async fn ping(_body: Vec<&str>, server: Box<ServerName>) -> Result<RoomMessageEventContent> {
|
||||||
|
|
|
@ -2,7 +2,7 @@ mod commands;
|
||||||
|
|
||||||
use clap::Subcommand;
|
use clap::Subcommand;
|
||||||
use conduit::Result;
|
use conduit::Result;
|
||||||
use ruma::{events::room::message::RoomMessageEventContent, EventId, RoomId, ServerName};
|
use ruma::{events::room::message::RoomMessageEventContent, EventId, OwnedRoomOrAliasId, RoomId, ServerName};
|
||||||
|
|
||||||
use self::commands::*;
|
use self::commands::*;
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ pub(super) enum DebugCommand {
|
||||||
/// Of course the check is still done on the actual client API.
|
/// Of course the check is still done on the actual client API.
|
||||||
GetRoomState {
|
GetRoomState {
|
||||||
/// Room ID
|
/// Room ID
|
||||||
room_id: Box<RoomId>,
|
room_id: OwnedRoomOrAliasId,
|
||||||
},
|
},
|
||||||
|
|
||||||
/// - Sends a federation request to the remote server's
|
/// - Sends a federation request to the remote server's
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue