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