2 files changed, 9 insertions, 2 deletions
diff --git a/MatrixRoomUtils.Web/Pages/PolicyListEditorPage.razor b/MatrixRoomUtils.Web/Pages/PolicyListEditorPage.razor
index ec452f3..66a5c9f 100644
--- a/MatrixRoomUtils.Web/Pages/PolicyListEditorPage.razor
+++ b/MatrixRoomUtils.Web/Pages/PolicyListEditorPage.razor
@@ -215,7 +215,12 @@ else
// Console.WriteLine(JsonSerializer.Deserialize<object>(content).ToJson());
// var stateEvents = JsonSerializer.Deserialize<List<StateEvent>>(content);
var room = await RuntimeCache.CurrentHomeServer.GetRoom(RoomId);
- var stateEvents = (await room.GetStateAsync(""))!.Value.Deserialize<List<StateEvent>>();
+ var stateEventsQuery = await room.GetStateAsync("");
+ if (stateEventsQuery == null)
+ {
+ Console.WriteLine("state events query is null!!!");
+ }
+ var stateEvents = stateEventsQuery.Value.Deserialize<List<StateEvent>>();
PolicyEvents = stateEvents.Where(x => x.type.StartsWith("m.policy.rule"))
.Select(x => JsonSerializer.Deserialize<StateEvent<PolicyRuleStateEventData>>(JsonSerializer.Serialize(x))).ToList();
StateHasChanged();
diff --git a/MatrixRoomUtils.Web/Pages/PolicyListRoomList.razor b/MatrixRoomUtils.Web/Pages/PolicyListRoomList.razor
index 924b68f..3af60b7 100644
--- a/MatrixRoomUtils.Web/Pages/PolicyListRoomList.razor
+++ b/MatrixRoomUtils.Web/Pages/PolicyListRoomList.razor
@@ -125,7 +125,9 @@ else
// --- //
var r = await RuntimeCache.CurrentHomeServer.GetRoom(room);
- roomInfo.Shortcode = (await r.GetStateAsync("org.matrix.mjolnir.shortcode")).Value.GetProperty("shortcode").GetString();
+ var shortcodeState = await r.GetStateAsync("org.matrix.mjolnir.shortcode");
+ if(!shortcodeState.HasValue) return null;
+ roomInfo.Shortcode = shortcodeState.Value.TryGetProperty("shortcode", out JsonElement shortcode) ? shortcode.GetString() : null;
if (roomInfo.Shortcode != null)
{
|