about summary refs log tree commit diff
path: root/MatrixRoomUtils.Web/Shared/RoomListItem.razor
diff options
context:
space:
mode:
authorEmma@Rory& <root@rory.gay>2023-07-24 20:56:42 +0200
committerEmma@Rory& <root@rory.gay>2023-07-24 20:56:42 +0200
commit5495a35403d285007d67f503042720302efdf94c (patch)
tree3db4dc545ce3ad252f82a577ecad4150320c1ba3 /MatrixRoomUtils.Web/Shared/RoomListItem.razor
parentChange max line width from 120 to 180 (diff)
downloadMatrixUtils-5495a35403d285007d67f503042720302efdf94c.tar.xz
Code cleanup
Diffstat (limited to 'MatrixRoomUtils.Web/Shared/RoomListItem.razor')
-rw-r--r--MatrixRoomUtils.Web/Shared/RoomListItem.razor55
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
+}