From f143c8cd3adc23a8f4473fc7cea7d1c58322233b Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Tue, 23 May 2023 17:19:17 +0200 Subject: idk --- MatrixRoomUtils.Web/Shared/RoomListItem.razor | 34 +++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'MatrixRoomUtils.Web/Shared') diff --git a/MatrixRoomUtils.Web/Shared/RoomListItem.razor b/MatrixRoomUtils.Web/Shared/RoomListItem.razor index 16ced75..317d25a 100644 --- a/MatrixRoomUtils.Web/Shared/RoomListItem.razor +++ b/MatrixRoomUtils.Web/Shared/RoomListItem.razor @@ -1,6 +1,7 @@ @using MatrixRoomUtils.Core.Authentication @using System.Text.Json -
+@using MatrixRoomUtils.Core.Extensions +
@if (ShowOwnProfile) { @@ -39,6 +40,9 @@ private string profileName { get; set; } = "Loading..."; private bool hasCustomProfileAvatar { get; set; } = false; private bool hasCustomProfileName { get; set; } = false; + + private bool hasOldRoomVersion { get; set; } = false; + private bool hasDangerousRoomVersion { get; set; } = false; protected override async Task OnInitializedAsync() { @@ -69,13 +73,35 @@ roomName = "Unnamed room: " + RoomId; } + var ce = await Room.GetCreateEventAsync(); + if (ce != null) + { + if (int.TryParse(ce.RoomVersion, out int rv) && rv < 10) + { + hasOldRoomVersion = true; + } + if (new[] { "1", "8" }.Contains(ce.RoomVersion)) + { + hasDangerousRoomVersion = true; + roomName = "Dangerous room: " + roomName; + } + } + + var state = await Room.GetStateAsync("m.room.avatar"); if (state != null) { - var url = state.Value.GetProperty("url").GetString(); - if (url != null) + try + { + var url = state.Value.GetProperty("url").GetString(); + if (url != null) + { + roomIcon = await RuntimeCache.CurrentHomeServer.ResolveMediaUri(url); + } + } + catch (InvalidOperationException e) { - roomIcon = await RuntimeCache.CurrentHomeServer.ResolveMediaUri(url); + Console.WriteLine($"Failed to get avatar for room {RoomId}: {e.Message}\n{state.Value.ToJson()}"); } } -- cgit 1.5.1