diff options
author | Emma@Rory& <root@rory.gay> | 2023-07-24 20:56:42 +0200 |
---|---|---|
committer | Emma@Rory& <root@rory.gay> | 2023-07-24 20:56:42 +0200 |
commit | 5495a35403d285007d67f503042720302efdf94c (patch) | |
tree | 3db4dc545ce3ad252f82a577ecad4150320c1ba3 /MatrixRoomUtils.Web/Shared/RoomListItem.razor | |
parent | Change max line width from 120 to 180 (diff) | |
download | MatrixUtils-5495a35403d285007d67f503042720302efdf94c.tar.xz |
Code cleanup
Diffstat (limited to 'MatrixRoomUtils.Web/Shared/RoomListItem.razor')
-rw-r--r-- | MatrixRoomUtils.Web/Shared/RoomListItem.razor | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/MatrixRoomUtils.Web/Shared/RoomListItem.razor b/MatrixRoomUtils.Web/Shared/RoomListItem.razor index b89fb18..e12f622 100644 --- a/MatrixRoomUtils.Web/Shared/RoomListItem.razor +++ b/MatrixRoomUtils.Web/Shared/RoomListItem.razor @@ -32,7 +32,7 @@ [Parameter] public GenericRoom? Room { get; set; } - + [Parameter] public RoomInfo? RoomInfo { get; set; } @@ -69,20 +69,32 @@ if (Room is null && RoomId is null && RoomInfo is null) { throw new ArgumentNullException(nameof(RoomId)); } - + // sweep from roominfo to id if (RoomInfo is not null) Room = RoomInfo.Room; if(Room is not null) RoomId = Room.RoomId; - + //sweep from id to roominfo if(RoomId is not null) Room ??= await hs.GetRoom(RoomId); if(Room is not null) RoomInfo ??= new RoomInfo() { Room = Room }; - await CheckRoomVersion(); - await GetRoomInfo(); - await LoadOwnProfile(); + try { + await CheckRoomVersion(); + await GetRoomInfo(); + await LoadOwnProfile(); + } + catch (MatrixException e) { + if (e is not { ErrorCode: "M_FORBIDDEN" }) { + throw; + } + roomName = "Error: " + e.Message; + roomIcon = "/blobfox_outage.gif"; + } + catch (Exception e) { + Console.WriteLine($"Failed to load room info for {RoomId}: {e.Message}"); + } _semaphoreSlim.Release(); } @@ -104,24 +116,17 @@ } private async Task CheckRoomVersion() { - try { - var ce = (await RoomInfo.GetStateEvent("m.room.create")).TypedContent as RoomCreateEventData; - if (int.TryParse(ce.RoomVersion, out var rv)) { - if (rv < 10) - hasOldRoomVersion = true; - } - else // treat unstable room versions as dangerous - hasDangerousRoomVersion = true; - - if (RoomConstants.DangerousRoomVersions.Contains(ce.RoomVersion)) { - hasDangerousRoomVersion = true; - roomName = "Dangerous room: " + roomName; - } + var ce = (await RoomInfo.GetStateEvent("m.room.create")).TypedContent as RoomCreateEventData; + if (int.TryParse(ce.RoomVersion, out var rv)) { + if (rv < 10) + hasOldRoomVersion = true; } - catch (MatrixException e) { - if (e is not { ErrorCode: "M_FORBIDDEN" }) { - throw; - } + else // treat unstable room versions as dangerous + hasDangerousRoomVersion = true; + + if (RoomConstants.DangerousRoomVersions.Contains(ce.RoomVersion)) { + hasDangerousRoomVersion = true; + roomName = "Dangerous room: " + roomName; } } @@ -132,7 +137,7 @@ var state = (await RoomInfo.GetStateEvent("m.room.avatar")).TypedContent as RoomAvatarEventData; if (state?.Url is { } url) { roomIcon = MediaResolver.ResolveMediaUri(hs.FullHomeServerDomain, url); - Console.WriteLine($"Got avatar for room {RoomId}: {roomIcon} ({url})"); + // Console.WriteLine($"Got avatar for room {RoomId}: {roomIcon} ({url})"); } } catch (MatrixException e) { @@ -142,4 +147,4 @@ } } -} \ No newline at end of file +} |