From d105d1a7ec709ddb6240a286bbd7be292a9acd1c Mon Sep 17 00:00:00 2001 From: Rory& Date: Sun, 21 Sep 2025 16:03:44 +0200 Subject: Various fixes --- .../SynapseRoomShutdownWindowContent.razor | 2 ++ .../Pages/HSAdmin/Synapse/RoomQuery.razor | 32 ++++++++-------------- 2 files changed, 14 insertions(+), 20 deletions(-) (limited to 'MatrixUtils.Web/Pages/HSAdmin') diff --git a/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor index 999e331..48aea86 100644 --- a/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor +++ b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor @@ -105,6 +105,8 @@ } public async Task DeleteRoom() { + var resp = await Homeserver.Admin.DeleteRoom(Context.RoomId, Context.DeleteRequest, false); + Context.DeleteId = resp.DeleteId; await TaskMap.SetValueAsync(Context.RoomId, Context); } diff --git a/MatrixUtils.Web/Pages/HSAdmin/Synapse/RoomQuery.razor b/MatrixUtils.Web/Pages/HSAdmin/Synapse/RoomQuery.razor index 5e45e5b..07a3dd2 100644 --- a/MatrixUtils.Web/Pages/HSAdmin/Synapse/RoomQuery.razor +++ b/MatrixUtils.Web/Pages/HSAdmin/Synapse/RoomQuery.razor @@ -34,21 +34,6 @@ @if (Results.Count > 0) {

Found @Results.Count rooms

- @*
*@ - @* TSV data (copy/paste) *@ - @*
 *@
-    @*              *@
-    @*                 @foreach (var res in Results) { *@
-    @*                      *@
-    @*                          *@
-    @*                          *@
-    @*                          *@
-    @*                          *@
-    @*                      *@
-    @*                 } *@
-    @*             
@res.RoomId@("\t")@res.CanonicalAlias@("\t")@res.Creator@("\t")@res.Name
*@ - @*
*@ - @*
*@ } @foreach (var room in Results) { @@ -71,12 +56,12 @@

Delete room - Resync state + Resync state

@{ List flags = []; - if (true || room.JoinedLocalMembers > 0) { + if (room.JoinedLocalMembers > 0) { flags.Add(room.JoinRules switch { "public" => "Public", "invite" => "Invite only", @@ -88,7 +73,7 @@ "" => null, _ => "unknown join rule: " + room.JoinRules }); - + if (!string.IsNullOrWhiteSpace(room.Encryption)) flags.Add("encrypted"); if (!room.Federatable) flags.Add("unfederated"); @@ -124,7 +109,8 @@ @room.StateEvents state events, room version @(room.Version ?? "1")
@if (room.TombstoneEvent is not null) { var tombstoneContent = room.TombstoneEvent.ContentAs()!; - Room is tombstoned! Target room: @tombstoneContent.ReplacementRoom, message: @tombstoneContent.Body
+ Room is tombstoned! Target room: @tombstoneContent.ReplacementRoom, message: @tombstoneContent.Body +
} @{ @@ -283,6 +269,7 @@ private async Task Search() { Results.Clear(); var searchRooms = Homeserver.Admin.SearchRoomsAsync(orderBy: OrderBy!, dir: Ascending ? "f" : "b", searchTerm: SearchTerm, localFilter: Filter).GetAsyncEnumerator(); + var joinedRooms = await Homeserver.GetJoinedRooms(); while (await searchRooms.MoveNextAsync()) { var room = searchRooms.Current; @@ -300,7 +287,11 @@ HistoryVisibility = room.HistoryVisibility, StateEvents = room.StateEvents, JoinedMembers = room.JoinedMembers, - JoinedLocalMembers = room.JoinedLocalMembers + JoinedLocalMembers = room.JoinedLocalMembers, + OriginHomeserver = joinedRooms.Any(x => x.RoomId == room.RoomId) + ? await Homeserver.GetRoom(room.RoomId).GetOriginHomeserverAsync() + : (await Homeserver.Admin.GetRoomStateAsync(room.RoomId, RoomCreateEventContent.EventId)).Events.FirstOrDefault()?.Sender?.Split(':', 2)[1] + ?? string.Empty }; Results.Add(roomInfo); @@ -425,6 +416,7 @@ private class RoomInfo : SynapseAdminRoomListResult.SynapseAdminRoomListResultRoom { public List? LocalMembers { get; set; } public StateEventResponse? TombstoneEvent { get; set; } + public required string OriginHomeserver { get; set; } [field: AllowNull, MaybeNull] public string MemberSummary => field ??= $"{JoinedMembers} members, of which {JoinedLocalMembers} are on this server"; -- cgit 1.5.1