From ac7ed016b00941380099d9a0b2601f4bc353f39f Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Sat, 27 May 2023 02:23:30 +0200 Subject: Remove a bunch of caching, make room listings more reliable --- MatrixRoomUtils.Web/Pages/DataExportPage.razor | 2 +- MatrixRoomUtils.Web/Pages/DevOptions.razor | 5 ++- MatrixRoomUtils.Web/Pages/Index.razor | 1 - MatrixRoomUtils.Web/Pages/MediaLocator.razor | 2 +- .../Pages/PolicyList/PolicyListEditorPage.razor | 42 +++++++++++----------- .../Pages/RoomManager/RoomManager.razor | 14 +++++--- .../Pages/RoomManager/RoomManagerCreateRoom.razor | 2 +- .../Pages/RoomManager/RoomManagerSpace.razor | 2 +- 8 files changed, 36 insertions(+), 34 deletions(-) (limited to 'MatrixRoomUtils.Web/Pages') diff --git a/MatrixRoomUtils.Web/Pages/DataExportPage.razor b/MatrixRoomUtils.Web/Pages/DataExportPage.razor index 58e4111..49fb700 100644 --- a/MatrixRoomUtils.Web/Pages/DataExportPage.razor +++ b/MatrixRoomUtils.Web/Pages/DataExportPage.razor @@ -59,7 +59,7 @@ else var resolvedHomeserver = (await new RemoteHomeServer(hs).Configure()).FullHomeServerDomain; RuntimeCache.HomeserverResolutionCache.Add(hs, new() { Result = resolvedHomeserver, ResolutionTime = DateTime.Now }); - await LocalStorageWrapper.SaveToLocalStorage(LocalStorage); + await LocalStorageWrapper.SaveCacheToLocalStorage(LocalStorage); Console.WriteLine("Saved to local storage:"); Console.WriteLine(JsonSerializer.Serialize(RuntimeCache.HomeserverResolutionCache, new JsonSerializerOptions() diff --git a/MatrixRoomUtils.Web/Pages/DevOptions.razor b/MatrixRoomUtils.Web/Pages/DevOptions.razor index 9ade1b8..c2894b3 100644 --- a/MatrixRoomUtils.Web/Pages/DevOptions.razor +++ b/MatrixRoomUtils.Web/Pages/DevOptions.razor @@ -39,7 +39,6 @@ { await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage); await base.OnInitializedAsync(); - await LocalStorageWrapper.SaveToLocalStorage(LocalStorage); Task.Run(async () => { while (true) @@ -62,7 +61,7 @@ { RuntimeCache.GenericResponseCache.Clear(); RuntimeCache.HomeserverResolutionCache.Clear(); - await LocalStorageWrapper.SaveToLocalStorage(LocalStorage); + await LocalStorageWrapper.SaveCacheToLocalStorage(LocalStorage); } protected async Task RandomiseCacheTimers() @@ -75,7 +74,7 @@ cacheItem.Value.ExpiryTime = DateTime.Now.AddSeconds(Random.Shared.Next(15, 120)); } - await LocalStorageWrapper.SaveToLocalStorage(LocalStorage); + await LocalStorageWrapper.SaveCacheToLocalStorage(LocalStorage); } } diff --git a/MatrixRoomUtils.Web/Pages/Index.razor b/MatrixRoomUtils.Web/Pages/Index.razor index 8be8570..decdb0c 100644 --- a/MatrixRoomUtils.Web/Pages/Index.razor +++ b/MatrixRoomUtils.Web/Pages/Index.razor @@ -28,6 +28,5 @@ Small collection of tools to do not-so-everyday things. await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage); } await base.OnInitializedAsync(); - await LocalStorageWrapper.ReloadLocalStorage(LocalStorage); } } \ No newline at end of file diff --git a/MatrixRoomUtils.Web/Pages/MediaLocator.razor b/MatrixRoomUtils.Web/Pages/MediaLocator.razor index 06256f0..19a0d4e 100644 --- a/MatrixRoomUtils.Web/Pages/MediaLocator.razor +++ b/MatrixRoomUtils.Web/Pages/MediaLocator.razor @@ -113,7 +113,7 @@ homeservers.Add(await rhs.ResolveHomeserverFromWellKnown(line)); StateHasChanged(); if(Random.Shared.Next(0,101) == 50) - await LocalStorageWrapper.SaveToLocalStorage(LocalStorage); + await LocalStorageWrapper.SaveCacheToLocalStorage(LocalStorage); } catch (Exception e) { diff --git a/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor index 08cdc2c..4b9c2f6 100644 --- a/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor +++ b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor @@ -33,13 +33,13 @@ else - @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.server" && x.content.Entity != null)) + @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.server" && x.Content.Entity != null)) { - Entity: @policyEvent.content.Entity
State: @policyEvent.StateKey - @policyEvent.content.Reason + Entity: @policyEvent.Content.Entity
State: @policyEvent.StateKey + @policyEvent.Content.Reason - @policyEvent.content.ExpiryDateTime + @policyEvent.Content.ExpiryDateTime @@ -59,11 +59,11 @@ else - @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.server" && x.content.Entity == null)) + @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.server" && x.Content.Entity == null)) { @policyEvent.StateKey - @policyEvent.content.ToJson(indent: false, ignoreNull: true) + @policyEvent.Content.ToJson(indent: false, ignoreNull: true) } @@ -88,13 +88,13 @@ else - @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.room" && x.content.Entity != null)) + @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.room" && x.Content.Entity != null)) { - Entity: @policyEvent.content.Entity
State: @policyEvent.StateKey - @policyEvent.content.Reason + Entity: @policyEvent.Content.Entity
State: @policyEvent.StateKey + @policyEvent.Content.Reason - @policyEvent.content.ExpiryDateTime + @policyEvent.Content.ExpiryDateTime @@ -113,11 +113,11 @@ else - @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.room" && x.content.Entity == null)) + @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.room" && x.Content.Entity == null)) { @policyEvent.StateKey - @policyEvent.content.ToJson(indent: false, ignoreNull: true) + @policyEvent.Content.ToJson(indent: false, ignoreNull: true) } @@ -146,17 +146,17 @@ else - @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.user" && x.content.Entity != null)) + @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.user" && x.Content.Entity != null)) { @if (_enableAvatars) { - + } - Entity: @string.Join("", policyEvent.content.Entity.Take(64))
State: @string.Join("", policyEvent.StateKey.Take(64)) - @policyEvent.content.Reason + Entity: @string.Join("", policyEvent.Content.Entity.Take(64))
State: @string.Join("", policyEvent.StateKey.Take(64)) + @policyEvent.Content.Reason - @policyEvent.content.ExpiryDateTime + @policyEvent.Content.ExpiryDateTime @@ -175,11 +175,11 @@ else - @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.user" && x.content.Entity == null)) + @foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.user" && x.Content.Entity == null)) { @policyEvent.StateKey - @policyEvent.content.ToJson(indent: false, ignoreNull: true) + @policyEvent.Content.ToJson(indent: false, ignoreNull: true) } @@ -261,9 +261,9 @@ else private async Task GetAllAvatars() { - foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.user" && x.content.Entity != null)) + foreach (var policyEvent in PolicyEvents.Where(x => x.Type == "m.policy.rule.user" && x.Content.Entity != null)) { - await GetAvatar(policyEvent.content.Entity); + await GetAvatar(policyEvent.Content.Entity); } StateHasChanged(); } diff --git a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManager.razor b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManager.razor index 35bf501..a8b8fd4 100644 --- a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManager.razor +++ b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManager.razor @@ -20,7 +20,7 @@ else @foreach (var room in Spaces) { - + } @@ -44,19 +44,23 @@ else protected override async Task OnInitializedAsync() { + Console.WriteLine("Initializing room manager"); await LocalStorageWrapper.LoadFromLocalStorage(LocalStorage); + Console.WriteLine("Loaded from local storage"); await base.OnInitializedAsync(); + Console.WriteLine("Initialized base"); if (RuntimeCache.CurrentHomeServer == null) { NavigationManager.NavigateTo("/Login"); return; } - Rooms = await RuntimeCache.CurrentHomeServer.GetJoinedRooms(); + Console.WriteLine("Fetching joined rooms"); + var _rooms = await RuntimeCache.CurrentHomeServer.GetJoinedRooms(); StateHasChanged(); - Console.WriteLine($"Got {Rooms.Count} rooms"); + Console.WriteLine($"Got {_rooms.Count} rooms"); var semaphore = new SemaphoreSlim(10); var tasks = new List>(); - foreach (var room in Rooms) + foreach (var room in _rooms) { tasks.Add(CheckIfSpace(room, semaphore)); } @@ -81,7 +85,6 @@ else { Console.WriteLine($"Room {room.RoomId} is a space!"); Spaces.Add(room); - Rooms.Remove(room); StateHasChanged(); return room; } @@ -92,6 +95,7 @@ else } else { + Rooms.Add(room); //this is fine, apprently... // Console.WriteLine($"Room {room.RoomId} has no Content.type in m.room.create!"); } diff --git a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerCreateRoom.razor b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerCreateRoom.razor index 7b4db37..8cbbca6 100644 --- a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerCreateRoom.razor +++ b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerCreateRoom.razor @@ -79,7 +79,7 @@
@code{ - private static string[] ImplementedStates = new[] { "m.room.avatar", "m.room.history_visibility", "m.room.guest_access", }; + private static readonly string[] ImplementedStates = { "m.room.avatar", "m.room.history_visibility", "m.room.guest_access", }; } @creationEvent.InitialState.Count(x => !ImplementedStates.Contains(x.Type)) custom states diff --git a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor index a44b2b4..e9d1421 100644 --- a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor +++ b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor @@ -16,7 +16,7 @@ @foreach (var stateEvent in States.OrderBy(x => x.StateKey).ThenBy(x => x.Type)) {

@stateEvent.StateKey/@stateEvent.Type:

-
@stateEvent.content.ToJson()
+
@stateEvent.Content.ToJson()
}
-- cgit 1.5.1