diff options
author | Rory& <root@rory.gay> | 2024-02-23 13:57:06 +0100 |
---|---|---|
committer | Rory& <root@rory.gay> | 2024-02-23 13:57:06 +0100 |
commit | d0d11db2209a8be65c27e15ca9d8a3b594f1a352 (patch) | |
tree | b42b7de4b09888a1439d0939707ba1331becf626 /MatrixUtils.Web/Pages/Tools/UserTrace.razor | |
parent | HS emulator (diff) | |
download | MatrixUtils-d0d11db2209a8be65c27e15ca9d8a3b594f1a352.tar.xz |
Add eons of work because I forgot to push
Diffstat (limited to 'MatrixUtils.Web/Pages/Tools/UserTrace.razor')
-rw-r--r-- | MatrixUtils.Web/Pages/Tools/UserTrace.razor | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/MatrixUtils.Web/Pages/Tools/UserTrace.razor b/MatrixUtils.Web/Pages/Tools/UserTrace.razor index b3a7487..d78c58a 100644 --- a/MatrixUtils.Web/Pages/Tools/UserTrace.razor +++ b/MatrixUtils.Web/Pages/Tools/UserTrace.razor @@ -80,18 +80,33 @@ Random.Shared.Shuffle(distinctRooms); rooms = new ObservableCollection<GenericRoom>(distinctRooms); rooms.CollectionChanged += (sender, args) => StateHasChanged(); + try { + var stateTasks = rooms.Select(async x => { + for (int i = 0; i < 10; i++) { + try { + return (x, await x.GetMembersListAsync(false)); + } + catch { + // + } + } - var stateTasks = rooms.Select(async x => (x, await x.GetMembersListAsync(false))).ToAsyncEnumerable(); + return (x, new List<StateEventResponse>().ToFrozenSet()); + }).ToAsyncEnumerable(); - await foreach (var (room, state) in stateTasks) { - roomMembers.Add(room, state); - log.Add($"Got {state.Count} members for {room.RoomId}..."); + await foreach (var (room, state) in stateTasks) { + roomMembers.Add(room, state); + log.Add($"Got {state.Count} members for {room.RoomId}..."); + } + } + catch { + // } log.Add($"Done fetching members!"); - UserIDs.RemoveAll(x=>sessions.Any(y=>y.UserId == x)); - + UserIDs.RemoveAll(x => sessions.Any(y => y.UserId == x)); + StateHasChanged(); Console.WriteLine("Rerendered!"); await base.OnInitializedAsync(); @@ -105,7 +120,6 @@ matches[userId].Add(new() { Event = events.First(x => x.StateKey == userId && x.Type == RoomMemberEventContent.EventId), Room = room, - }); } } @@ -132,6 +146,7 @@ private class Matches { public GenericRoom Room; + public StateEventResponse Event; // public } |