about summary refs log tree commit diff
path: root/MatrixUtils.Web/Pages/Tools
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-03-11 07:41:46 +0100
committerRory& <root@rory.gay>2025-03-11 07:41:46 +0100
commit90549fd2bce62723c35cc7d40551f1c5f2d2ba9d (patch)
tree100864824013a238a318e1f6e4f9b0952787e900 /MatrixUtils.Web/Pages/Tools
parentWork on rewriting homeserver resolution (diff)
downloadMatrixUtils-90549fd2bce62723c35cc7d40551f1c5f2d2ba9d.tar.xz
Synapse admin tooling, well known res work
Diffstat (limited to 'MatrixUtils.Web/Pages/Tools')
-rw-r--r--MatrixUtils.Web/Pages/Tools/Moderation/MembershipHistory.razor11
1 files changed, 10 insertions, 1 deletions
diff --git a/MatrixUtils.Web/Pages/Tools/Moderation/MembershipHistory.razor b/MatrixUtils.Web/Pages/Tools/Moderation/MembershipHistory.razor

index 2549c12..d9503ee 100644 --- a/MatrixUtils.Web/Pages/Tools/Moderation/MembershipHistory.razor +++ b/MatrixUtils.Web/Pages/Tools/Moderation/MembershipHistory.razor
@@ -2,6 +2,7 @@ @using System.Collections.Frozen @using System.Collections.ObjectModel @using System.Diagnostics +@using System.Text.Json @using ArcaneLibs.Extensions @using LibMatrix @using LibMatrix.EventTypes.Spec.State.RoomInfo @@ -422,7 +423,15 @@ var filter = new SyncFilter.EventFilter() { Types = [RoomMemberEventContent.EventId] }; var events = room.GetManyMessagesAsync(limit: int.MaxValue, filter: filter.ToJson(ignoreNull: true, indent: false)); await foreach (var resp in events) { - var all = resp.State.Concat(resp.Chunk); + var all = resp.State.Concat(resp.Chunk) + // ugly hack, because some users fuck around too much + .Select(x => { + if (x.RawContent?["displayname"]?.GetValueKind() != JsonValueKind.String) + x.RawContent?.Remove("displayname"); + if (x.RawContent?["avatar_url"]?.GetValueKind() is not JsonValueKind.String) + x.RawContent?.Remove("avatar_url"); + return x; + }); Memberships.AddRange(all.Where(x => x.Type == RoomMemberEventContent.EventId)); Log.Add($"Got {resp.State.Count} state and {resp.Chunk.Count} timeline events.");