From f82c62fe9d75c3cdc5ed5fe6f5e5ce517e6eafbc Mon Sep 17 00:00:00 2001 From: Rory& Date: Thu, 17 Apr 2025 11:26:12 +0200 Subject: Room query cleanup, add start of state resync --- .../RoomQuery/SynapseRoomQueryFilter.razor | 50 ++++++++++++++++ .../RoomQuery/SynapseRoomQueryFilter.razor.css | 35 +++++++++++ .../RoomQuery/SynapseRoomQueryResult.razor | 5 ++ .../SynapseRoomShutdownWindowContent.razor | 69 +++++++++++----------- 4 files changed, 123 insertions(+), 36 deletions(-) create mode 100644 MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor create mode 100644 MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor.css create mode 100644 MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryResult.razor (limited to 'MatrixUtils.Web/Pages/HSAdmin/Synapse/Components') diff --git a/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor new file mode 100644 index 0000000..eb168f4 --- /dev/null +++ b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor @@ -0,0 +1,50 @@ +@using LibMatrix.Homeservers.ImplementationDetails.Synapse.Models.Filters +
+ String contains + Room ID: + Room name: + Canonical alias: + Creator: + Room version: + Encryption algorithm: + Join rules: + Guest access: + History visibility: + + Optional checks + + Is federated: + @if (Filter.CheckFederation) { + + } + + + Is public: + @if (Filter.CheckPublic) { + + } + + + Ranges + + + state events + + + + members + + + local members + +
+ +@code { + + [Parameter] + public required SynapseAdminLocalRoomQueryFilter Filter { get; set; } + +} \ No newline at end of file diff --git a/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor.css b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor.css new file mode 100644 index 0000000..83ce426 --- /dev/null +++ b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryFilter.razor.css @@ -0,0 +1,35 @@ +.int-input { + width: 128px; +} + +.tile { + display: inline-block; + padding: 4px; + border: 1px solid #ffffff22; +} + +.tile280 { + min-width: 280px; +} + +.tile150 { + min-width: 150px; +} + +.range-sep { + display: inline-block; + padding: 4px; + width: 150px; +} + +.range-sep::before { + content: "< "; +} + +.range-sep::after { + content: " <"; +} + +.center-children { + text-align: center; +} \ No newline at end of file diff --git a/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryResult.razor b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryResult.razor new file mode 100644 index 0000000..5591072 --- /dev/null +++ b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/RoomQuery/SynapseRoomQueryResult.razor @@ -0,0 +1,5 @@ +

SynapseRoomQueryResult

+ +@code { + +} \ No newline at end of file diff --git a/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor index d5daf75..124d073 100644 --- a/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor +++ b/MatrixUtils.Web/Pages/HSAdmin/Synapse/Components/SynapseRoomShutdownWindowContent.razor @@ -2,35 +2,6 @@ @using LibMatrix.Homeservers.ImplementationDetails.Synapse.Models.Requests @if (string.IsNullOrWhiteSpace(Context.DeleteId)) { - Media options -
-
- Quarantine local media: - -
- Quarantine remote media: - -
- Delete remote media: - -
- - User options -
-
- Suspend local users: - -
- Quarantine ALL local user media: - -
- Delete ALL local user media: - -
- - Room deletion options -
-
Block room:
@@ -40,17 +11,43 @@ Force purge room (unsafe):
- Warning room User ID (optional): - -
- @if (!string.IsNullOrWhiteSpace(Context.DeleteRequest.NewRoomUserId)) { +
+ Media + Quarantine local media: + +
+ Quarantine remote media: + +
+ Delete remote media: + +
+ +
+ Local users + Suspend local users: + +
+ Quarantine ALL local user media: + +
+ Delete ALL local user media: + +
+ +
+ Issue warning to local members (optional) + All fields are required if used!
+ Warning room User ID: + +
Warning room name:
Warning room message (plaintext):
- } +
Execute } @@ -107,7 +104,7 @@ public async Task DeleteRoom() { await TaskMap.SetValueAsync(Context.RoomId, Context); } - + private static readonly SemaphoreSlim OnCompleteLock = new(1, 1); - + } \ No newline at end of file -- cgit 1.5.1