From 2ceb4825c45876a4a75c410557d14cd8beb76222 Mon Sep 17 00:00:00 2001 From: Rory& Date: Mon, 3 Feb 2025 19:08:38 +0100 Subject: Various cleanup, rewrite history viewer --- MatrixUtils.Web/Pages/Index.razor | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'MatrixUtils.Web/Pages/Index.razor') diff --git a/MatrixUtils.Web/Pages/Index.razor b/MatrixUtils.Web/Pages/Index.razor index 34f2e9b..8847467 100644 --- a/MatrixUtils.Web/Pages/Index.razor +++ b/MatrixUtils.Web/Pages/Index.razor @@ -35,11 +35,13 @@ Small collection of tools to do not-so-everyday things.

- + @session.UserInfo.DisplayName on @auth.Homeserver

@session.UserInfo.RoomCount rooms - @session.ServerVersion?.Server.Name @session.ServerVersion?.Server.Version + @session.ServerVersion?.Server.Name @session.ServerVersion?.Server.Version @if (auth.Proxy != null) { (proxied via @auth.Proxy) } @@ -114,7 +116,7 @@ Small collection of tools to do not-so-everyday things.

- Re-login + Re-login Remove @@ -172,13 +174,27 @@ Small collection of tools to do not-so-everyday things. var updateSw = Stopwatch.StartNew(); var tasks = tokens.Select(async token => { await sema.WaitAsync(); - + AuthenticatedHomeserverGeneric hs; try { - hs = await HsProvider.GetAuthenticatedWithToken(token.Homeserver, token.AccessToken, token.Proxy); + Task serverVersionTask = Task.FromResult(new() { + Server = new() { + Name = "Unknown", + Version = "0.0.0" + } + }); + try { + hs = await HsProvider.GetAuthenticatedWithToken(token.Homeserver, token.AccessToken, token.Proxy); + serverVersionTask = hs.FederationClient?.GetServerVersionAsync() ?? serverVersionTask!; + } + catch (Exception e) { + logger.LogError("Failed to get info for {0} via {1}: {2}", token.UserId, token.Homeserver, e); + logger.LogError("Continuing with server-less session"); + hs = await HsProvider.GetAuthenticatedWithToken(token.Homeserver, token.AccessToken, token.Proxy, useGeneric: true, enableServer: false); + } + var joinedRoomsTask = hs.GetJoinedRooms(); var profileTask = hs.GetProfileAsync(hs.WhoAmI.UserId); - var serverVersionTask = hs.FederationClient?.GetServerVersionAsync(); _sessions.Add(new() { UserInfo = new() { AvatarUrl = (await profileTask).AvatarUrl, -- cgit 1.5.1