about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2024-01-24 02:31:56 +0100
committerRory& <root@rory.gay>2024-01-24 17:05:25 +0100
commit03313562d21d5db9bf6a14ebbeab80e06c883d3a (patch)
treee000546a2ee8e6a886a7ed9fd01ad674178fb7cb
parentMake RMU installable (diff)
downloadMatrixUtils-03313562d21d5db9bf6a14ebbeab80e06c883d3a.tar.xz
MRU->RMU, fixes, cleanup
-rw-r--r--MatrixRoomUtils.sln10
-rw-r--r--MatrixUtils.Abstractions/FileStorageProvider.cs (renamed from MatrixRoomUtils.Abstractions/FileStorageProvider.cs)2
-rw-r--r--MatrixUtils.Abstractions/MatrixUtils.Abstractions.csproj (renamed from MatrixRoomUtils.Abstractions/MatrixRoomUtils.Abstractions.csproj)0
-rw-r--r--MatrixUtils.Abstractions/RoomInfo.cs (renamed from MatrixRoomUtils.Abstractions/RoomInfo.cs)2
-rw-r--r--MatrixUtils.Desktop/App.axaml (renamed from MatrixRoomUtils.Desktop/App.axaml)2
-rw-r--r--MatrixUtils.Desktop/App.axaml.cs (renamed from MatrixRoomUtils.Desktop/App.axaml.cs)14
-rw-r--r--MatrixUtils.Desktop/Components/NavigationStack.axaml (renamed from MatrixRoomUtils.Desktop/Components/NavigationStack.axaml)2
-rw-r--r--MatrixUtils.Desktop/Components/NavigationStack.axaml.cs (renamed from MatrixRoomUtils.Desktop/Components/NavigationStack.axaml.cs)2
-rw-r--r--MatrixUtils.Desktop/Components/Pages/RoomList.axaml (renamed from MatrixRoomUtils.Desktop/Components/Pages/RoomList.axaml)8
-rw-r--r--MatrixUtils.Desktop/Components/Pages/RoomList.axaml.cs (renamed from MatrixRoomUtils.Desktop/Components/Pages/RoomList.axaml.cs)4
-rw-r--r--MatrixUtils.Desktop/Components/RoomListEntry.axaml (renamed from MatrixRoomUtils.Desktop/Components/RoomListEntry.axaml)4
-rw-r--r--MatrixUtils.Desktop/Components/RoomListEntry.axaml.cs (renamed from MatrixRoomUtils.Desktop/Components/RoomListEntry.axaml.cs)6
-rw-r--r--MatrixUtils.Desktop/LoginWindow.axaml (renamed from MatrixRoomUtils.Desktop/LoginWindow.axaml)4
-rw-r--r--MatrixUtils.Desktop/LoginWindow.axaml.cs (renamed from MatrixRoomUtils.Desktop/LoginWindow.axaml.cs)6
-rw-r--r--MatrixUtils.Desktop/MainWindow.axaml (renamed from MatrixRoomUtils.Desktop/MainWindow.axaml)8
-rw-r--r--MatrixUtils.Desktop/MainWindow.axaml.cs (renamed from MatrixRoomUtils.Desktop/MainWindow.axaml.cs)14
-rw-r--r--MatrixUtils.Desktop/MatrixUtils.Desktop.csproj (renamed from MatrixRoomUtils.Desktop/MatrixRoomUtils.Desktop.csproj)2
-rw-r--r--MatrixUtils.Desktop/Program.cs (renamed from MatrixRoomUtils.Desktop/Program.cs)2
-rw-r--r--MatrixUtils.Desktop/Properties/launchSettings.json (renamed from MatrixRoomUtils.Desktop/Properties/launchSettings.json)0
-rw-r--r--MatrixUtils.Desktop/RMUDesktopConfiguration.cs (renamed from MatrixRoomUtils.Desktop/MRUDesktopConfiguration.cs)10
-rw-r--r--MatrixUtils.Desktop/RMUStorageWrapper.cs (renamed from MatrixRoomUtils.Desktop/MRUStorageWrapper.cs)12
-rw-r--r--MatrixUtils.Desktop/SentryService.cs (renamed from MatrixRoomUtils.Desktop/SentryService.cs)4
-rw-r--r--MatrixUtils.Desktop/app.manifest (renamed from MatrixRoomUtils.Desktop/app.manifest)2
-rw-r--r--MatrixUtils.Desktop/appsettings.Development.json (renamed from MatrixRoomUtils.Desktop/appsettings.Development.json)6
-rw-r--r--MatrixUtils.Desktop/appsettings.json (renamed from MatrixRoomUtils.Desktop/appsettings.json)6
-rw-r--r--MatrixUtils.LibDMSpace/DMSpaceConfiguration.cs (renamed from MatrixRoomUtils.LibDMSpace/DMSpaceConfiguration.cs)2
-rw-r--r--MatrixUtils.LibDMSpace/DMSpaceRoom.cs (renamed from MatrixRoomUtils.LibDMSpace/DMSpaceRoom.cs)4
-rw-r--r--MatrixUtils.LibDMSpace/MatrixUtils.LibDMSpace.csproj (renamed from MatrixRoomUtils.LibDMSpace/MatrixRoomUtils.LibDMSpace.csproj)0
-rw-r--r--MatrixUtils.LibDMSpace/StateEvents/DMRoomInfo.cs (renamed from MatrixRoomUtils.LibDMSpace/StateEvents/DMRoomInfo.cs)2
-rw-r--r--MatrixUtils.LibDMSpace/StateEvents/DMSpaceInfo.cs (renamed from MatrixRoomUtils.LibDMSpace/StateEvents/DMSpaceInfo.cs)2
-rw-r--r--MatrixUtils.Web.Server/MatrixUtils.Web.Server.csproj (renamed from MatrixRoomUtils.Web.Server/MatrixRoomUtils.Web.Server.csproj)2
-rw-r--r--MatrixUtils.Web.Server/Pages/Error.cshtml (renamed from MatrixRoomUtils.Web.Server/Pages/Error.cshtml)2
-rw-r--r--MatrixUtils.Web.Server/Pages/Error.cshtml.cs (renamed from MatrixRoomUtils.Web.Server/Pages/Error.cshtml.cs)2
-rw-r--r--MatrixUtils.Web.Server/Program.cs (renamed from MatrixRoomUtils.Web.Server/Program.cs)0
-rw-r--r--MatrixUtils.Web.Server/Properties/launchSettings.json (renamed from MatrixRoomUtils.Web.Server/Properties/launchSettings.json)0
-rw-r--r--MatrixUtils.Web.Server/appsettings.Development.json (renamed from MatrixRoomUtils.Web.Server/appsettings.Development.json)0
-rw-r--r--MatrixUtils.Web.Server/appsettings.json (renamed from MatrixRoomUtils.Web.Server/appsettings.json)0
-rw-r--r--MatrixUtils.Web/App.razor (renamed from MatrixRoomUtils.Web/App.razor)0
-rw-r--r--MatrixUtils.Web/Classes/Constants/RoomConstants.cs (renamed from MatrixRoomUtils.Web/Classes/Constants/RoomConstants.cs)2
-rw-r--r--MatrixUtils.Web/Classes/LocalStorageProviderService.cs (renamed from MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs)2
-rw-r--r--MatrixUtils.Web/Classes/RMUStorageWrapper.cs (renamed from MatrixRoomUtils.Web/Classes/MRUStorageWrapper.cs)10
-rw-r--r--MatrixUtils.Web/Classes/RoomCreationTemplates/DefaultRoomCreationTemplate.cs (renamed from MatrixRoomUtils.Web/Classes/RoomCreationTemplates/DefaultRoomCreationTemplate.cs)2
-rw-r--r--MatrixUtils.Web/Classes/RoomCreationTemplates/IRoomCreationTemplate.cs (renamed from MatrixRoomUtils.Web/Classes/RoomCreationTemplates/IRoomCreationTemplate.cs)2
-rw-r--r--MatrixUtils.Web/Classes/SessionStorageProviderService.cs (renamed from MatrixRoomUtils.Web/Classes/SessionStorageProviderService.cs)2
-rw-r--r--MatrixUtils.Web/Classes/UserAuth.cs (renamed from MatrixRoomUtils.Web/Classes/UserAuth.cs)2
-rw-r--r--MatrixUtils.Web/MatrixUtils.Web.csproj (renamed from MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj)9
-rw-r--r--MatrixUtils.Web/Pages/About.razor (renamed from MatrixRoomUtils.Web/Pages/About.razor)0
-rw-r--r--MatrixUtils.Web/Pages/Dev/DevOptions.razor (renamed from MatrixRoomUtils.Web/Pages/Dev/DevOptions.razor)6
-rw-r--r--MatrixUtils.Web/Pages/Dev/DevUtilities.razor (renamed from MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor)29
-rw-r--r--MatrixUtils.Web/Pages/Dev/ModalTest.razor (renamed from MatrixRoomUtils.Web/Pages/Dev/ModalTest.razor)0
-rw-r--r--MatrixUtils.Web/Pages/HSAdmin/HSAdmin.razor (renamed from MatrixRoomUtils.Web/Pages/HSAdmin/HSAdmin.razor)4
-rw-r--r--MatrixUtils.Web/Pages/HSAdmin/RoomQuery.razor (renamed from MatrixRoomUtils.Web/Pages/HSAdmin/RoomQuery.razor)2
-rw-r--r--MatrixUtils.Web/Pages/HSAdmin/RoomQuery.razor.css (renamed from MatrixRoomUtils.Web/Pages/HSAdmin/RoomQuery.razor.css)0
-rw-r--r--MatrixUtils.Web/Pages/Index.razor (renamed from MatrixRoomUtils.Web/Pages/Index.razor)14
-rw-r--r--MatrixUtils.Web/Pages/Index.razor.css (renamed from MatrixRoomUtils.Web/Pages/Index.razor.css)0
-rw-r--r--MatrixUtils.Web/Pages/InvalidSession.razor (renamed from MatrixRoomUtils.Web/Pages/InvalidSession.razor)16
-rw-r--r--MatrixUtils.Web/Pages/LoginPage.razor (renamed from MatrixRoomUtils.Web/Pages/LoginPage.razor)8
-rw-r--r--MatrixUtils.Web/Pages/ModerationUtilities/UserRoomHistory.razor (renamed from MatrixRoomUtils.Web/Pages/ModerationUtilities/UserRoomHistory.razor)8
-rw-r--r--MatrixUtils.Web/Pages/Rooms/Create.razor (renamed from MatrixRoomUtils.Web/Pages/Rooms/Create.razor)6
-rw-r--r--MatrixUtils.Web/Pages/Rooms/Index.razor (renamed from MatrixRoomUtils.Web/Pages/Rooms/Index.razor)4
-rw-r--r--MatrixUtils.Web/Pages/Rooms/PolicyList.razor (renamed from MatrixRoomUtils.Web/Pages/Rooms/PolicyList.razor)4
-rw-r--r--MatrixUtils.Web/Pages/Rooms/Space.razor (renamed from MatrixRoomUtils.Web/Pages/Rooms/Space.razor)2
-rw-r--r--MatrixUtils.Web/Pages/Rooms/StateEditor.razor (renamed from MatrixRoomUtils.Web/Pages/Rooms/StateEditor.razor)4
-rw-r--r--MatrixUtils.Web/Pages/Rooms/StateViewer.razor (renamed from MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor)4
-rw-r--r--MatrixUtils.Web/Pages/Rooms/Timeline.razor (renamed from MatrixRoomUtils.Web/Pages/Rooms/Timeline.razor)4
-rw-r--r--MatrixUtils.Web/Pages/ServerInfo.razor (renamed from MatrixRoomUtils.Web/Pages/ServerInfo.razor)0
-rw-r--r--MatrixUtils.Web/Pages/Tools/CopyPowerlevel.razor (renamed from MatrixRoomUtils.Web/Pages/Tools/CopyPowerlevel.razor)8
-rw-r--r--MatrixUtils.Web/Pages/Tools/KnownHomeserverList.razor (renamed from MatrixRoomUtils.Web/Pages/Tools/KnownHomeserverList.razor)4
-rw-r--r--MatrixUtils.Web/Pages/Tools/MassJoinRoom.razor (renamed from MatrixRoomUtils.Web/Pages/Tools/MassJoinRoom.razor)8
-rw-r--r--MatrixUtils.Web/Pages/Tools/MediaLocator.razor (renamed from MatrixRoomUtils.Web/Pages/Tools/MediaLocator.razor)2
-rw-r--r--MatrixUtils.Web/Pages/Tools/SpaceDebug.razor (renamed from MatrixRoomUtils.Web/Pages/Tools/SpaceDebug.razor)4
-rw-r--r--MatrixUtils.Web/Pages/Tools/ToolsIndex.razor8
-rw-r--r--MatrixUtils.Web/Pages/User/DMManager.razor (renamed from MatrixRoomUtils.Web/Pages/User/DMManager.razor)4
-rw-r--r--MatrixUtils.Web/Pages/User/DMSpace.razor (renamed from MatrixRoomUtils.Web/Pages/User/DMSpace.razor)8
-rw-r--r--MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage0.razor (renamed from MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage0.razor)0
-rw-r--r--MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage1.razor (renamed from MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage1.razor)4
-rw-r--r--MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage2.razor (renamed from MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage2.razor)6
-rw-r--r--MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage3.razor (renamed from MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage3.razor)6
-rw-r--r--MatrixUtils.Web/Pages/User/Profile.razor (renamed from MatrixRoomUtils.Web/Pages/User/Profile.razor)2
-rw-r--r--MatrixUtils.Web/Program.cs (renamed from MatrixRoomUtils.Web/Program.cs)6
-rw-r--r--MatrixUtils.Web/Properties/launchSettings.json (renamed from MatrixRoomUtils.Web/Properties/launchSettings.json)0
-rw-r--r--MatrixUtils.Web/Shared/EditablePre.razor (renamed from MatrixRoomUtils.Web/Shared/EditablePre.razor)0
-rw-r--r--MatrixUtils.Web/Shared/InlineUserItem.razor (renamed from MatrixRoomUtils.Web/Shared/InlineUserItem.razor)2
-rw-r--r--MatrixUtils.Web/Shared/LogView.razor (renamed from MatrixRoomUtils.Web/Shared/LogView.razor)0
-rw-r--r--MatrixUtils.Web/Shared/MainLayout.razor (renamed from MatrixRoomUtils.Web/Shared/MainLayout.razor)3
-rw-r--r--MatrixUtils.Web/Shared/MainLayout.razor.css (renamed from MatrixRoomUtils.Web/Shared/MainLayout.razor.css)0
-rw-r--r--MatrixUtils.Web/Shared/MxcImage.razor (renamed from MatrixRoomUtils.Web/Shared/MxcImage.razor)0
-rw-r--r--MatrixUtils.Web/Shared/NavMenu.razor (renamed from MatrixRoomUtils.Web/Shared/NavMenu.razor)17
-rw-r--r--MatrixUtils.Web/Shared/NavMenu.razor.css (renamed from MatrixRoomUtils.Web/Shared/NavMenu.razor.css)0
-rw-r--r--MatrixUtils.Web/Shared/PolicyEditorComponents/PolicyEditorModal.razor (renamed from MatrixRoomUtils.Web/Shared/PolicyEditorComponents/PolicyEditorModal.razor)0
-rw-r--r--MatrixUtils.Web/Shared/RoomList.razor (renamed from MatrixRoomUtils.Web/Shared/RoomList.razor)8
-rw-r--r--MatrixUtils.Web/Shared/RoomList.razor.css (renamed from MatrixRoomUtils.Web/Shared/RoomList.razor.css)0
-rw-r--r--MatrixUtils.Web/Shared/RoomListComponents/RoomListCategory.razor (renamed from MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListCategory.razor)6
-rw-r--r--MatrixUtils.Web/Shared/RoomListComponents/RoomListPolicyRoom.razor (renamed from MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListPolicyRoom.razor)0
-rw-r--r--MatrixUtils.Web/Shared/RoomListComponents/RoomListSpace.razor (renamed from MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListSpace.razor)4
-rw-r--r--MatrixUtils.Web/Shared/RoomListItem.razor (renamed from MatrixRoomUtils.Web/Shared/RoomListItem.razor)6
-rw-r--r--MatrixUtils.Web/Shared/RoomListItem.razor.css (renamed from MatrixRoomUtils.Web/Shared/RoomListItem.razor.css)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineCanonicalAliasItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineCanonicalAliasItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineHistoryVisibilityItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineHistoryVisibilityItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomNameItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomNameItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor (renamed from MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor)0
-rw-r--r--MatrixUtils.Web/Shared/UserListItem.razor (renamed from MatrixRoomUtils.Web/Shared/UserListItem.razor)2
-rw-r--r--MatrixUtils.Web/_Imports.razor (renamed from MatrixRoomUtils.Web/_Imports.razor)8
-rw-r--r--MatrixUtils.Web/appsettings.Development.json (renamed from MatrixRoomUtils.Web/appsettings.Development.json)0
-rw-r--r--MatrixUtils.Web/appsettings.json (renamed from MatrixRoomUtils.Web/appsettings.json)0
-rw-r--r--MatrixUtils.Web/deps.nix (renamed from MatrixRoomUtils.Web/deps.nix)0
-rw-r--r--MatrixUtils.Web/wwwroot/blobfox_outage.gif (renamed from MatrixRoomUtils.Web/wwwroot/blobfox_outage.gif)bin3574 -> 3574 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/app.css (renamed from MatrixRoomUtils.Web/wwwroot/css/app.css)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css (renamed from MatrixRoomUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css.map (renamed from MatrixRoomUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css.map)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/jetbrains-mono.css (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/jetbrains-mono.css)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Bold.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Bold.woff2)bin94588 -> 94588 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-BoldItalic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-BoldItalic.woff2)bin98152 -> 98152 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBold.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBold.woff2)bin93692 -> 93692 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBoldItalic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBoldItalic.woff2)bin96864 -> 96864 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLight.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLight.woff2)bin92712 -> 92712 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLightItalic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLightItalic.woff2)bin95816 -> 95816 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Italic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Italic.woff2)bin95864 -> 95864 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Light.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Light.woff2)bin93856 -> 93856 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-LightItalic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-LightItalic.woff2)bin97280 -> 97280 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Medium.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Medium.woff2)bin93824 -> 93824 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-MediumItalic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-MediumItalic.woff2)bin97808 -> 97808 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Regular.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Regular.woff2)bin92164 -> 92164 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBold.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBold.woff2)bin94472 -> 94472 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBoldItalic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBoldItalic.woff2)bin98124 -> 98124 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Thin.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Thin.woff2)bin90612 -> 90612 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ThinItalic.woff2 (renamed from MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ThinItalic.woff2)bin94316 -> 94316 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/FONT-LICENSE (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/FONT-LICENSE)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/ICON-LICENSE (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/ICON-LICENSE)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/README.md (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/README.md)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.eot)bin28196 -> 28196 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.otf)bin20996 -> 20996 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.svg)0
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf)bin28028 -> 28028 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (renamed from MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.woff)bin14984 -> 14984 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/favicon.png (renamed from MatrixRoomUtils.Web/wwwroot/favicon.png)bin1148 -> 1148 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/icon-192.png (renamed from MatrixRoomUtils.Web/wwwroot/icon-192.png)bin2626 -> 2626 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/icon-512.pngbin0 -> 6311 bytes
-rw-r--r--MatrixUtils.Web/wwwroot/index.html (renamed from MatrixRoomUtils.Web/wwwroot/index.html)0
-rw-r--r--MatrixUtils.Web/wwwroot/rmu.webmanifest (renamed from MatrixRoomUtils.Web/wwwroot/rmu.webmanifest)0
-rw-r--r--MatrixUtils.Web/wwwroot/service-worker.js (renamed from MatrixRoomUtils.Web/wwwroot/service-worker.js)0
-rw-r--r--MatrixUtils.Web/wwwroot/service-worker.published.js (renamed from MatrixRoomUtils.Web/wwwroot/service-worker.published.js)0
148 files changed, 212 insertions, 208 deletions
diff --git a/MatrixRoomUtils.sln b/MatrixRoomUtils.sln
index b68bdf9..f530533 100644
--- a/MatrixRoomUtils.sln
+++ b/MatrixRoomUtils.sln
@@ -1,10 +1,10 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.Web", "MatrixRoomUtils.Web\MatrixRoomUtils.Web.csproj", "{D38DA95D-DD83-4340-96A4-6F59FC6AE3D9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixUtils.Web", "MatrixUtils.Web\MatrixUtils.Web.csproj", "{D38DA95D-DD83-4340-96A4-6F59FC6AE3D9}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.Web.Server", "MatrixRoomUtils.Web.Server\MatrixRoomUtils.Web.Server.csproj", "{F997F26F-2EC1-4D18-B3DD-C46FB2AD65C0}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixUtils.Web.Server", "MatrixUtils.Web.Server\MatrixUtils.Web.Server.csproj", "{F997F26F-2EC1-4D18-B3DD-C46FB2AD65C0}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.Desktop", "MatrixRoomUtils.Desktop\MatrixRoomUtils.Desktop.csproj", "{27C08A4F-5AF0-4C2C-AFCB-050E3388C116}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixUtils.Desktop", "MatrixUtils.Desktop\MatrixUtils.Desktop.csproj", "{27C08A4F-5AF0-4C2C-AFCB-050E3388C116}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LibMatrix", "LibMatrix", "{8F4F6BEC-0C66-486B-A21A-1C35B2EDAD33}"
 EndProject
@@ -44,11 +44,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.Tests", "LibMatri
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestDataGenerator", "LibMatrix\Tests\TestDataGenerator\TestDataGenerator.csproj", "{F3312DE9-4335-4E85-A4CF-2616427A651E}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.LibDMSpace", "MatrixRoomUtils.LibDMSpace\MatrixRoomUtils.LibDMSpace.csproj", "{EDD2FBAB-2DEC-4527-AE9C-20E21D0D6B14}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixUtils.LibDMSpace", "MatrixUtils.LibDMSpace\MatrixUtils.LibDMSpace.csproj", "{EDD2FBAB-2DEC-4527-AE9C-20E21D0D6B14}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.EventTypes", "LibMatrix\LibMatrix.EventTypes\LibMatrix.EventTypes.csproj", "{1CAA2B6D-0365-4C8B-96EE-26026514FEE2}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.Abstractions", "MatrixRoomUtils.Abstractions\MatrixRoomUtils.Abstractions.csproj", "{FE20ED20-0D55-4D74-822B-E2AC7A54C487}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixUtils.Abstractions", "MatrixUtils.Abstractions\MatrixUtils.Abstractions.csproj", "{FE20ED20-0D55-4D74-822B-E2AC7A54C487}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.JsonSerializerContextGenerator", "LibMatrix\Utilities\LibMatrix.JsonSerializerContextGenerator\LibMatrix.JsonSerializerContextGenerator.csproj", "{CC836863-0EE8-44BD-BF39-45076F57C416}"
 EndProject
diff --git a/MatrixRoomUtils.Abstractions/FileStorageProvider.cs b/MatrixUtils.Abstractions/FileStorageProvider.cs
index 73d5604..fbe068d 100644
--- a/MatrixRoomUtils.Abstractions/FileStorageProvider.cs
+++ b/MatrixUtils.Abstractions/FileStorageProvider.cs
@@ -5,7 +5,7 @@ using LibMatrix.Extensions;
 using LibMatrix.Interfaces.Services;
 using Microsoft.Extensions.Logging;
 
-namespace MatrixRoomUtils.Abstractions;
+namespace MatrixUtils.Abstractions;
 
 public class FileStorageProvider : IStorageProvider {
     private readonly ILogger<FileStorageProvider> _logger;
diff --git a/MatrixRoomUtils.Abstractions/MatrixRoomUtils.Abstractions.csproj b/MatrixUtils.Abstractions/MatrixUtils.Abstractions.csproj
index 1665ff0..1665ff0 100644
--- a/MatrixRoomUtils.Abstractions/MatrixRoomUtils.Abstractions.csproj
+++ b/MatrixUtils.Abstractions/MatrixUtils.Abstractions.csproj
diff --git a/MatrixRoomUtils.Abstractions/RoomInfo.cs b/MatrixUtils.Abstractions/RoomInfo.cs
index 6db3447..84a5940 100644
--- a/MatrixRoomUtils.Abstractions/RoomInfo.cs
+++ b/MatrixUtils.Abstractions/RoomInfo.cs
@@ -6,7 +6,7 @@ using LibMatrix.EventTypes.Spec.State;
 using LibMatrix.EventTypes.Spec.State.RoomInfo;
 using LibMatrix.RoomTypes;
 
-namespace MatrixRoomUtils.Abstractions;
+namespace MatrixUtils.Abstractions;
 
 public class RoomInfo : NotifyPropertyChanged {
     public required GenericRoom Room { get; set; }
diff --git a/MatrixRoomUtils.Desktop/App.axaml b/MatrixUtils.Desktop/App.axaml
index 9c99838..bc69400 100644
--- a/MatrixRoomUtils.Desktop/App.axaml
+++ b/MatrixUtils.Desktop/App.axaml
@@ -1,6 +1,6 @@
 <Application xmlns="https://github.com/avaloniaui"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             x:Class="MatrixRoomUtils.Desktop.App"
+             x:Class="MatrixUtils.Desktop.App"
              RequestedThemeVariant="Default">
              <!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
 
diff --git a/MatrixRoomUtils.Desktop/App.axaml.cs b/MatrixUtils.Desktop/App.axaml.cs
index aeb154c..3a106ab 100644
--- a/MatrixRoomUtils.Desktop/App.axaml.cs
+++ b/MatrixUtils.Desktop/App.axaml.cs
@@ -3,34 +3,34 @@ using Avalonia.Controls.ApplicationLifetimes;
 using Avalonia.Markup.Xaml;
 using Avalonia.Styling;
 using LibMatrix.Services;
-using MatrixRoomUtils.Abstractions;
+using MatrixUtils.Abstractions;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Hosting;
 
-namespace MatrixRoomUtils.Desktop;
+namespace MatrixUtils.Desktop;
 
 public partial class App : Application {
     public IHost host { get; set; }
 
     public override void OnFrameworkInitializationCompleted() {
         host = Host.CreateDefaultBuilder().ConfigureServices((ctx, services) => {
-            services.AddSingleton<MRUDesktopConfiguration>();
+            services.AddSingleton<RMUDesktopConfiguration>();
             services.AddSingleton<SentryService>();
             services.AddSingleton<TieredStorageService>(x =>
                 new TieredStorageService(
-                    cacheStorageProvider: new FileStorageProvider(x.GetService<MRUDesktopConfiguration>()!.CacheStoragePath),
-                    dataStorageProvider: new FileStorageProvider(x.GetService<MRUDesktopConfiguration>()!.DataStoragePath)
+                    cacheStorageProvider: new FileStorageProvider(x.GetService<RMUDesktopConfiguration>()!.CacheStoragePath),
+                    dataStorageProvider: new FileStorageProvider(x.GetService<RMUDesktopConfiguration>()!.DataStoragePath)
                 )
             );
             services.AddSingleton(new RoryLibMatrixConfiguration {
-                AppName = "MatrixRoomUtils.Desktop"
+                AppName = "MatrixUtils.Desktop"
             });
             services.AddRoryLibMatrixServices();
             // foreach (var commandClass in new ClassCollector<ICommand>().ResolveFromAllAccessibleAssemblies()) {
             // Console.WriteLine($"Adding command {commandClass.Name}");
             // services.AddScoped(typeof(ICommand), commandClass);
             // }
-            services.AddSingleton<MRUStorageWrapper>();
+            services.AddSingleton<RMUStorageWrapper>();
             services.AddSingleton<MainWindow>();
             services.AddSingleton(this);
         }).UseConsoleLifetime().Build();
diff --git a/MatrixRoomUtils.Desktop/Components/NavigationStack.axaml b/MatrixUtils.Desktop/Components/NavigationStack.axaml
index bc6b75d..b24895d 100644
--- a/MatrixRoomUtils.Desktop/Components/NavigationStack.axaml
+++ b/MatrixUtils.Desktop/Components/NavigationStack.axaml
@@ -3,7 +3,7 @@
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
              mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
-             x:Class="MatrixRoomUtils.Desktop.Components.NavigationStack">
+             x:Class="MatrixUtils.Desktop.Components.NavigationStack">
     <StackPanel x:Name="dock">
         <Label>NagivationStack</Label>
         <StackPanel x:Name="navPanel" Orientation="Horizontal"></StackPanel>
diff --git a/MatrixRoomUtils.Desktop/Components/NavigationStack.axaml.cs b/MatrixUtils.Desktop/Components/NavigationStack.axaml.cs
index 92c617b..632ae3c 100644
--- a/MatrixRoomUtils.Desktop/Components/NavigationStack.axaml.cs
+++ b/MatrixUtils.Desktop/Components/NavigationStack.axaml.cs
@@ -2,7 +2,7 @@ using Avalonia.Controls;
 using Avalonia.Interactivity;
 using Avalonia.Markup.Xaml;
 
-namespace MatrixRoomUtils.Desktop.Components;
+namespace MatrixUtils.Desktop.Components;
 
 public partial class NavigationStack : UserControl {
     public NavigationStack() {
diff --git a/MatrixRoomUtils.Desktop/Components/Pages/RoomList.axaml b/MatrixUtils.Desktop/Components/Pages/RoomList.axaml
index 0e43d99..45778f3 100644
--- a/MatrixRoomUtils.Desktop/Components/Pages/RoomList.axaml
+++ b/MatrixUtils.Desktop/Components/Pages/RoomList.axaml
@@ -2,12 +2,12 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:components="clr-namespace:MatrixRoomUtils.Desktop.Components.Pages"
-             xmlns:components1="clr-namespace:MatrixRoomUtils.Desktop.Components"
-             xmlns:abstractions="clr-namespace:MatrixRoomUtils.Abstractions;assembly=MatrixRoomUtils.Abstractions"
+             xmlns:components="clr-namespace:MatrixUtils.Desktop.Components.Pages"
+             xmlns:components1="clr-namespace:MatrixUtils.Desktop.Components"
+             xmlns:abstractions="clr-namespace:MatrixUtils.Abstractions;assembly=MatrixUtils.Abstractions"
 
              mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
-             x:Class="MatrixRoomUtils.Desktop.Components.Pages.RoomList"
+             x:Class="MatrixUtils.Desktop.Components.Pages.RoomList"
              x:DataType="components:RoomList"
              DataContext="{Binding $self}"
              >
diff --git a/MatrixRoomUtils.Desktop/Components/Pages/RoomList.axaml.cs b/MatrixUtils.Desktop/Components/Pages/RoomList.axaml.cs
index 53c3063..a0c9fcc 100644
--- a/MatrixRoomUtils.Desktop/Components/Pages/RoomList.axaml.cs
+++ b/MatrixUtils.Desktop/Components/Pages/RoomList.axaml.cs
@@ -2,9 +2,9 @@ using System.Collections.ObjectModel;
 using Avalonia;
 using Avalonia.Controls;
 using Avalonia.Markup.Xaml;
-using MatrixRoomUtils.Abstractions;
+using MatrixUtils.Abstractions;
 
-namespace MatrixRoomUtils.Desktop.Components.Pages;
+namespace MatrixUtils.Desktop.Components.Pages;
 
 public partial class RoomList : UserControl {
     private ObservableCollection<RoomInfo> Rooms { get; set; } = new();
diff --git a/MatrixRoomUtils.Desktop/Components/RoomListEntry.axaml b/MatrixUtils.Desktop/Components/RoomListEntry.axaml
index db22ccc..97e6fdc 100644
--- a/MatrixRoomUtils.Desktop/Components/RoomListEntry.axaml
+++ b/MatrixUtils.Desktop/Components/RoomListEntry.axaml
@@ -2,9 +2,9 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-             xmlns:components="clr-namespace:MatrixRoomUtils.Desktop.Components"
+             xmlns:components="clr-namespace:MatrixUtils.Desktop.Components"
              mc:Ignorable="d" d:DesignWidth="250" d:DesignHeight="32"
-             x:Class="MatrixRoomUtils.Desktop.Components.RoomListEntry"
+             x:Class="MatrixUtils.Desktop.Components.RoomListEntry"
              
              x:DataType="components:RoomListEntry"
              DataContext="{Binding $self}"
diff --git a/MatrixRoomUtils.Desktop/Components/RoomListEntry.axaml.cs b/MatrixUtils.Desktop/Components/RoomListEntry.axaml.cs
index 73115a2..1e4a127 100644
--- a/MatrixRoomUtils.Desktop/Components/RoomListEntry.axaml.cs
+++ b/MatrixUtils.Desktop/Components/RoomListEntry.axaml.cs
@@ -7,11 +7,11 @@ using LibMatrix.EventTypes.Spec.State.RoomInfo;
 using LibMatrix.Helpers;
 using LibMatrix.Interfaces.Services;
 using LibMatrix.Services;
-using MatrixRoomUtils.Abstractions;
+using MatrixUtils.Abstractions;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 
-namespace MatrixRoomUtils.Desktop.Components;
+namespace MatrixUtils.Desktop.Components;
 
 public partial class RoomListEntry : UserControl {
     public RoomInfo Room { get; set; }
@@ -47,7 +47,7 @@ public partial class RoomListEntry : UserControl {
                 var resolvedUrl = await Room.Room.GetResolvedRoomAvatarUrlAsync();
                 
                 // await using var svc = _serviceScopeFactory.CreateAsyncScope();
-                // var hs = await svc.ServiceProvider.GetService<MRUStorageWrapper>()?.GetCurrentSessionOrPrompt()!;
+                // var hs = await svc.ServiceProvider.GetService<RMUStorageWrapper>()?.GetCurrentSessionOrPrompt()!;
                 // var hsResolver = svc.ServiceProvider.GetService<HomeserverResolverService>();
                 // var storage = svc.ServiceProvider.GetService<TieredStorageService>()?.CacheStorageProvider;
                 // var resolvedUrl = await hsResolver.ResolveMediaUri(hs.ServerName, mxcUrl);
diff --git a/MatrixRoomUtils.Desktop/LoginWindow.axaml b/MatrixUtils.Desktop/LoginWindow.axaml
index fc0ee6f..ecfa3f5 100644
--- a/MatrixRoomUtils.Desktop/LoginWindow.axaml
+++ b/MatrixUtils.Desktop/LoginWindow.axaml
@@ -2,10 +2,10 @@
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-        xmlns:desktop="clr-namespace:MatrixRoomUtils.Desktop"
+        xmlns:desktop="clr-namespace:MatrixUtils.Desktop"
         mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
         Title="LoginWindow"
-        x:Class="MatrixRoomUtils.Desktop.LoginWindow"
+        x:Class="MatrixUtils.Desktop.LoginWindow"
         x:DataType="desktop:LoginWindow"
         DataContext="{Binding $self}"
         SizeToContent="WidthAndHeight" CanResize="False"
diff --git a/MatrixRoomUtils.Desktop/LoginWindow.axaml.cs b/MatrixUtils.Desktop/LoginWindow.axaml.cs
index 183c46b..ac59317 100644
--- a/MatrixRoomUtils.Desktop/LoginWindow.axaml.cs
+++ b/MatrixUtils.Desktop/LoginWindow.axaml.cs
@@ -4,12 +4,12 @@ using Avalonia.Interactivity;
 using Avalonia.Markup.Xaml;
 using Avalonia.VisualTree;
 
-namespace MatrixRoomUtils.Desktop;
+namespace MatrixUtils.Desktop;
 
 public partial class LoginWindow : Window {
-    private readonly MRUStorageWrapper _storage;
+    private readonly RMUStorageWrapper _storage;
 
-    public LoginWindow(MRUStorageWrapper storage) {
+    public LoginWindow(RMUStorageWrapper storage) {
         _storage = storage;
         InitializeComponent();
 #if DEBUG
diff --git a/MatrixRoomUtils.Desktop/MainWindow.axaml b/MatrixUtils.Desktop/MainWindow.axaml
index dd807b5..6457678 100644
--- a/MatrixRoomUtils.Desktop/MainWindow.axaml
+++ b/MatrixUtils.Desktop/MainWindow.axaml
@@ -2,11 +2,11 @@
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-        xmlns:desktop="clr-namespace:MatrixRoomUtils.Desktop"
-        xmlns:components="clr-namespace:MatrixRoomUtils.Desktop.Components"
+        xmlns:desktop="clr-namespace:MatrixUtils.Desktop"
+        xmlns:components="clr-namespace:MatrixUtils.Desktop.Components"
         mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
-        x:Class="MatrixRoomUtils.Desktop.MainWindow"
-        Title="Rory&amp;::MatrixRoomUtils">
+        x:Class="MatrixUtils.Desktop.MainWindow"
+        Title="Rory&amp;::MatrixUtils">
     <!-- <Interaction.Behaviors> -->
         <!-- <EventTriggerBehavior EventName="Loaded"> -->
             <!-- <InvokeCommandAction Command="{Binding LoadedCommand}"></InvokeCommandAction> -->
diff --git a/MatrixRoomUtils.Desktop/MainWindow.axaml.cs b/MatrixUtils.Desktop/MainWindow.axaml.cs
index 6ef573e..562ab1a 100644
--- a/MatrixRoomUtils.Desktop/MainWindow.axaml.cs
+++ b/MatrixUtils.Desktop/MainWindow.axaml.cs
@@ -1,25 +1,25 @@
 using Avalonia.Controls;
 using Avalonia.Interactivity;
-using MatrixRoomUtils.Abstractions;
-using MatrixRoomUtils.Desktop.Components;
+using MatrixUtils.Abstractions;
+using MatrixUtils.Desktop.Components;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 
-namespace MatrixRoomUtils.Desktop;
+namespace MatrixUtils.Desktop;
 
 public partial class MainWindow : Window {
     private readonly ILogger<MainWindow> _logger;
     private readonly IServiceScopeFactory _scopeFactory;
-    private readonly MRUStorageWrapper _storageWrapper;
-    private readonly MRUDesktopConfiguration _configuration;
+    private readonly RMUStorageWrapper _storageWrapper;
+    private readonly RMUDesktopConfiguration _configuration;
     public static MainWindow Instance { get; private set; } = null!;
 
     public MainWindow(ILogger<MainWindow> logger, IServiceScopeFactory scopeFactory, SentryService _) {
         Instance = this;
         _logger = logger;
         _scopeFactory = scopeFactory;
-        _configuration = scopeFactory.CreateScope().ServiceProvider.GetRequiredService<MRUDesktopConfiguration>();
-        _storageWrapper = scopeFactory.CreateScope().ServiceProvider.GetRequiredService<MRUStorageWrapper>();
+        _configuration = scopeFactory.CreateScope().ServiceProvider.GetRequiredService<RMUDesktopConfiguration>();
+        _storageWrapper = scopeFactory.CreateScope().ServiceProvider.GetRequiredService<RMUStorageWrapper>();
 
         _logger.LogInformation("Initialising MainWindow");
 
diff --git a/MatrixRoomUtils.Desktop/MatrixRoomUtils.Desktop.csproj b/MatrixUtils.Desktop/MatrixUtils.Desktop.csproj
index 94bf245..f1bd2b6 100644
--- a/MatrixRoomUtils.Desktop/MatrixRoomUtils.Desktop.csproj
+++ b/MatrixUtils.Desktop/MatrixUtils.Desktop.csproj
@@ -45,6 +45,6 @@
         </Content>
     </ItemGroup>
     <ItemGroup>
-      <ProjectReference Include="..\MatrixRoomUtils.Abstractions\MatrixRoomUtils.Abstractions.csproj" />
+      <ProjectReference Include="..\MatrixUtils.Abstractions\MatrixUtils.Abstractions.csproj" />
     </ItemGroup>
 </Project>
diff --git a/MatrixRoomUtils.Desktop/Program.cs b/MatrixUtils.Desktop/Program.cs
index aa1d9d3..0f4c09c 100644
--- a/MatrixRoomUtils.Desktop/Program.cs
+++ b/MatrixUtils.Desktop/Program.cs
@@ -2,7 +2,7 @@ using Avalonia;
 using Microsoft.Extensions.Hosting;
 using Tmds.DBus.Protocol;
 
-namespace MatrixRoomUtils.Desktop;
+namespace MatrixUtils.Desktop;
 
 internal class Program {
     private static IHost appHost;
diff --git a/MatrixRoomUtils.Desktop/Properties/launchSettings.json b/MatrixUtils.Desktop/Properties/launchSettings.json
index 36405e8..36405e8 100644
--- a/MatrixRoomUtils.Desktop/Properties/launchSettings.json
+++ b/MatrixUtils.Desktop/Properties/launchSettings.json
diff --git a/MatrixRoomUtils.Desktop/MRUDesktopConfiguration.cs b/MatrixUtils.Desktop/RMUDesktopConfiguration.cs
index c7a311d..62646ca 100644
--- a/MatrixRoomUtils.Desktop/MRUDesktopConfiguration.cs
+++ b/MatrixUtils.Desktop/RMUDesktopConfiguration.cs
@@ -5,16 +5,16 @@ using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.Hosting;
 using Microsoft.Extensions.Logging;
 
-namespace MatrixRoomUtils.Desktop;
+namespace MatrixUtils.Desktop;
 
-public class MRUDesktopConfiguration {
-    private static ILogger<MRUDesktopConfiguration> _logger;
+public class RMUDesktopConfiguration {
+    private static ILogger<RMUDesktopConfiguration> _logger;
 
     [RequiresUnreferencedCode("Uses reflection binding")]
-    public MRUDesktopConfiguration(ILogger<MRUDesktopConfiguration> logger, IConfiguration config, HostBuilderContext host) {
+    public RMUDesktopConfiguration(ILogger<RMUDesktopConfiguration> logger, IConfiguration config, HostBuilderContext host) {
         _logger = logger;
         logger.LogInformation("Loading configuration for environment: {}...", host.HostingEnvironment.EnvironmentName);
-        config.GetSection("MRUDesktop").Bind(this);
+        config.GetSection("RMUDesktop").Bind(this);
         DataStoragePath = ExpandPath(DataStoragePath);
         CacheStoragePath = ExpandPath(CacheStoragePath);
     }
diff --git a/MatrixRoomUtils.Desktop/MRUStorageWrapper.cs b/MatrixUtils.Desktop/RMUStorageWrapper.cs
index b69c50d..c8172d0 100644
--- a/MatrixRoomUtils.Desktop/MRUStorageWrapper.cs
+++ b/MatrixUtils.Desktop/RMUStorageWrapper.cs
@@ -4,14 +4,14 @@ using LibMatrix.Homeservers;
 using LibMatrix.Responses;
 using LibMatrix.Services;
 
-namespace MatrixRoomUtils.Desktop;
+namespace MatrixUtils.Desktop;
 
-public class MRUStorageWrapper(TieredStorageService storageService, HomeserverProviderService homeserverProviderService) {
+public class RMUStorageWrapper(TieredStorageService storageService, HomeserverProviderService homeserverProviderService) {
     public async Task<List<LoginResponse>?> GetAllTokens() {
-        if (!await storageService.DataStorageProvider.ObjectExistsAsync("mru.tokens")) {
+        if (!await storageService.DataStorageProvider.ObjectExistsAsync("rmu.tokens")) {
             return null;
         }
-        return await storageService.DataStorageProvider.LoadObjectAsync<List<LoginResponse>>("mru.tokens") ??
+        return await storageService.DataStorageProvider.LoadObjectAsync<List<LoginResponse>>("rmu.tokens") ??
                new List<LoginResponse>();
     }
 
@@ -41,7 +41,7 @@ public class MRUStorageWrapper(TieredStorageService storageService, HomeserverPr
         var tokens = await GetAllTokens() ?? new List<LoginResponse>();
 
         tokens.Add(loginResponse);
-        await storageService.DataStorageProvider.SaveObjectAsync("mru.tokens", tokens);
+        await storageService.DataStorageProvider.SaveObjectAsync("rmu.tokens", tokens);
         if (await GetCurrentToken() is null)
             await SetCurrentToken(loginResponse);
     }
@@ -103,7 +103,7 @@ public class MRUStorageWrapper(TieredStorageService storageService, HomeserverPr
         }
 
         tokens.RemoveAll(x => x.AccessToken == auth.AccessToken);
-        await storageService.DataStorageProvider.SaveObjectAsync("mru.tokens", tokens);
+        await storageService.DataStorageProvider.SaveObjectAsync("rmu.tokens", tokens);
     }
 
     public async Task SetCurrentToken(LoginResponse? auth) => await storageService.DataStorageProvider.SaveObjectAsync("token", auth);
diff --git a/MatrixRoomUtils.Desktop/SentryService.cs b/MatrixUtils.Desktop/SentryService.cs
index 26212fa..c965632 100644
--- a/MatrixRoomUtils.Desktop/SentryService.cs
+++ b/MatrixUtils.Desktop/SentryService.cs
@@ -2,12 +2,12 @@ using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using Sentry;
 
-namespace MatrixRoomUtils.Desktop;
+namespace MatrixUtils.Desktop;
 
 public class SentryService : IDisposable {
     private IDisposable? _sentrySdkDisposable;
     public SentryService(IServiceScopeFactory scopeFactory, ILogger<SentryService> logger) {
-        var config = scopeFactory.CreateScope().ServiceProvider.GetRequiredService<MRUDesktopConfiguration>();
+        var config = scopeFactory.CreateScope().ServiceProvider.GetRequiredService<RMUDesktopConfiguration>();
         if (config.SentryDsn is null) {
             logger.LogWarning("Sentry DSN is not set, skipping Sentry initialisation");
             return;
diff --git a/MatrixRoomUtils.Desktop/app.manifest b/MatrixUtils.Desktop/app.manifest
index 35ffb0d..1c4a2e1 100644
--- a/MatrixRoomUtils.Desktop/app.manifest
+++ b/MatrixUtils.Desktop/app.manifest
@@ -3,7 +3,7 @@
   <!-- This manifest is used on Windows only.
        Don't remove it as it might cause problems with window transparency and embeded controls.
        For more details visit https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests -->
-  <assemblyIdentity version="1.0.0.0" name="MatrixRoomUtils.Desktop.Desktop"/>
+  <assemblyIdentity version="1.0.0.0" name="MatrixUtils.Desktop.Desktop"/>
 
   <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
     <application>
diff --git a/MatrixRoomUtils.Desktop/appsettings.Development.json b/MatrixUtils.Desktop/appsettings.Development.json
index a00f349..a1add03 100644
--- a/MatrixRoomUtils.Desktop/appsettings.Development.json
+++ b/MatrixUtils.Desktop/appsettings.Development.json
@@ -6,9 +6,9 @@
             "Microsoft": "Information"
         }
     },
-    "MRUDesktop": {
-        "DataStoragePath": "mru-desktop/data",
-        "CacheStoragePath": "mru-desktop/cache",
+    "RMUDesktop": {
+        "DataStoragePath": "rmu-desktop/data",
+        "CacheStoragePath": "rmu-desktop/cache",
         "SentryDsn": "https://a41e99dd2fdd45f699c432b21ebce632@sentry.thearcanebrony.net/15"
     }
 }
diff --git a/MatrixRoomUtils.Desktop/appsettings.json b/MatrixUtils.Desktop/appsettings.json
index 4164e87..058723c 100644
--- a/MatrixRoomUtils.Desktop/appsettings.json
+++ b/MatrixUtils.Desktop/appsettings.json
@@ -6,8 +6,8 @@
             "Microsoft": "Information"
         }
     },
-    "MRUDesktop": {
-        "DataStoragePath": "~/.local/share/mru-desktop",
-        "CacheStoragePath": "~/.cache/mru-desktop"
+    "RMUDesktop": {
+        "DataStoragePath": "~/.local/share/rmu-desktop",
+        "CacheStoragePath": "~/.cache/rmu-desktop"
     }
 }
diff --git a/MatrixRoomUtils.LibDMSpace/DMSpaceConfiguration.cs b/MatrixUtils.LibDMSpace/DMSpaceConfiguration.cs
index dcb7098..571d09d 100644
--- a/MatrixRoomUtils.LibDMSpace/DMSpaceConfiguration.cs
+++ b/MatrixUtils.LibDMSpace/DMSpaceConfiguration.cs
@@ -1,6 +1,6 @@
 using System.Text.Json.Serialization;
 
-namespace MatrixRoomUtils.LibDMSpace;
+namespace MatrixUtils.LibDMSpace;
 
 //gay.rory.dm_space
 public class DMSpaceConfiguration {
diff --git a/MatrixRoomUtils.LibDMSpace/DMSpaceRoom.cs b/MatrixUtils.LibDMSpace/DMSpaceRoom.cs
index 1cf7064..3fb0ab6 100644
--- a/MatrixRoomUtils.LibDMSpace/DMSpaceRoom.cs
+++ b/MatrixUtils.LibDMSpace/DMSpaceRoom.cs
@@ -2,9 +2,9 @@ using ArcaneLibs.Extensions;
 using LibMatrix;
 using LibMatrix.Homeservers;
 using LibMatrix.RoomTypes;
-using MatrixRoomUtils.LibDMSpace.StateEvents;
+using MatrixUtils.LibDMSpace.StateEvents;
 
-namespace MatrixRoomUtils.LibDMSpace;
+namespace MatrixUtils.LibDMSpace;
 
 public class DMSpaceRoom(AuthenticatedHomeserverGeneric homeserver, string roomId) : SpaceRoom(homeserver, roomId) {
     private readonly GenericRoom _room;
diff --git a/MatrixRoomUtils.LibDMSpace/MatrixRoomUtils.LibDMSpace.csproj b/MatrixUtils.LibDMSpace/MatrixUtils.LibDMSpace.csproj
index 72c1666..72c1666 100644
--- a/MatrixRoomUtils.LibDMSpace/MatrixRoomUtils.LibDMSpace.csproj
+++ b/MatrixUtils.LibDMSpace/MatrixUtils.LibDMSpace.csproj
diff --git a/MatrixRoomUtils.LibDMSpace/StateEvents/DMRoomInfo.cs b/MatrixUtils.LibDMSpace/StateEvents/DMRoomInfo.cs
index 716a3ac..5aa62d7 100644
--- a/MatrixRoomUtils.LibDMSpace/StateEvents/DMRoomInfo.cs
+++ b/MatrixUtils.LibDMSpace/StateEvents/DMRoomInfo.cs
@@ -2,7 +2,7 @@ using System.Text.Json.Serialization;
 using LibMatrix.EventTypes;
 using LibMatrix.Interfaces;
 
-namespace MatrixRoomUtils.LibDMSpace.StateEvents;
+namespace MatrixUtils.LibDMSpace.StateEvents;
 
 [MatrixEvent(EventName = EventId)]
 public class DMRoomInfo : TimelineEventContent {
diff --git a/MatrixRoomUtils.LibDMSpace/StateEvents/DMSpaceInfo.cs b/MatrixUtils.LibDMSpace/StateEvents/DMSpaceInfo.cs
index 26e2b90..0df1913 100644
--- a/MatrixRoomUtils.LibDMSpace/StateEvents/DMSpaceInfo.cs
+++ b/MatrixUtils.LibDMSpace/StateEvents/DMSpaceInfo.cs
@@ -2,7 +2,7 @@ using System.Text.Json.Serialization;
 using LibMatrix.EventTypes;
 using LibMatrix.Interfaces;
 
-namespace MatrixRoomUtils.LibDMSpace.StateEvents;
+namespace MatrixUtils.LibDMSpace.StateEvents;
 
 [MatrixEvent(EventName = EventId)]
 public class DMSpaceInfo : TimelineEventContent {
diff --git a/MatrixRoomUtils.Web.Server/MatrixRoomUtils.Web.Server.csproj b/MatrixUtils.Web.Server/MatrixUtils.Web.Server.csproj
index 6e11bbe..c4318d0 100644
--- a/MatrixRoomUtils.Web.Server/MatrixRoomUtils.Web.Server.csproj
+++ b/MatrixUtils.Web.Server/MatrixUtils.Web.Server.csproj
@@ -12,7 +12,7 @@
     </ItemGroup>
 
     <ItemGroup>
-        <ProjectReference Include="..\MatrixRoomUtils.Web\MatrixRoomUtils.Web.csproj" />
+        <ProjectReference Include="..\MatrixUtils.Web\MatrixUtils.Web.csproj" />
     </ItemGroup>
 
     <ItemGroup>
diff --git a/MatrixRoomUtils.Web.Server/Pages/Error.cshtml b/MatrixUtils.Web.Server/Pages/Error.cshtml
index 04b2c2a..a29e836 100644
--- a/MatrixRoomUtils.Web.Server/Pages/Error.cshtml
+++ b/MatrixUtils.Web.Server/Pages/Error.cshtml
@@ -1,5 +1,5 @@
 @page
-@model MatrixRoomUtils.Web.Server.Pages.ErrorModel
+@model MatrixUtils.Web.Server.Pages.ErrorModel
 
 <!DOCTYPE html>
 <html lang="en">
diff --git a/MatrixRoomUtils.Web.Server/Pages/Error.cshtml.cs b/MatrixUtils.Web.Server/Pages/Error.cshtml.cs
index 65d5751..3afc061 100644
--- a/MatrixRoomUtils.Web.Server/Pages/Error.cshtml.cs
+++ b/MatrixUtils.Web.Server/Pages/Error.cshtml.cs
@@ -2,7 +2,7 @@ using System.Diagnostics;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc.RazorPages;
 
-namespace MatrixRoomUtils.Web.Server.Pages;
+namespace MatrixUtils.Web.Server.Pages;
 
 [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
 [IgnoreAntiforgeryToken]
diff --git a/MatrixRoomUtils.Web.Server/Program.cs b/MatrixUtils.Web.Server/Program.cs
index cad3878..cad3878 100644
--- a/MatrixRoomUtils.Web.Server/Program.cs
+++ b/MatrixUtils.Web.Server/Program.cs
diff --git a/MatrixRoomUtils.Web.Server/Properties/launchSettings.json b/MatrixUtils.Web.Server/Properties/launchSettings.json
index ad7ef88..ad7ef88 100644
--- a/MatrixRoomUtils.Web.Server/Properties/launchSettings.json
+++ b/MatrixUtils.Web.Server/Properties/launchSettings.json
diff --git a/MatrixRoomUtils.Web.Server/appsettings.Development.json b/MatrixUtils.Web.Server/appsettings.Development.json
index 0c208ae..0c208ae 100644
--- a/MatrixRoomUtils.Web.Server/appsettings.Development.json
+++ b/MatrixUtils.Web.Server/appsettings.Development.json
diff --git a/MatrixRoomUtils.Web.Server/appsettings.json b/MatrixUtils.Web.Server/appsettings.json
index 10f68b8..10f68b8 100644
--- a/MatrixRoomUtils.Web.Server/appsettings.json
+++ b/MatrixUtils.Web.Server/appsettings.json
diff --git a/MatrixRoomUtils.Web/App.razor b/MatrixUtils.Web/App.razor
index a8cf817..a8cf817 100644
--- a/MatrixRoomUtils.Web/App.razor
+++ b/MatrixUtils.Web/App.razor
diff --git a/MatrixRoomUtils.Web/Classes/Constants/RoomConstants.cs b/MatrixUtils.Web/Classes/Constants/RoomConstants.cs
index b145cd0..5df0d01 100644
--- a/MatrixRoomUtils.Web/Classes/Constants/RoomConstants.cs
+++ b/MatrixUtils.Web/Classes/Constants/RoomConstants.cs
@@ -1,4 +1,4 @@
-namespace MatrixRoomUtils.Web.Classes.Constants;
+namespace MatrixUtils.Web.Classes.Constants;
 
 public class RoomConstants {
     public static readonly string[] DangerousRoomVersions = { "1", "8" };
diff --git a/MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs b/MatrixUtils.Web/Classes/LocalStorageProviderService.cs
index 51aee12..3803a17 100644
--- a/MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs
+++ b/MatrixUtils.Web/Classes/LocalStorageProviderService.cs
@@ -1,7 +1,7 @@
 using Blazored.LocalStorage;
 using LibMatrix.Interfaces.Services;
 
-namespace MatrixRoomUtils.Web.Classes;
+namespace MatrixUtils.Web.Classes;
 
 public class LocalStorageProviderService : IStorageProvider {
     private readonly ILocalStorageService _localStorageService;
diff --git a/MatrixRoomUtils.Web/Classes/MRUStorageWrapper.cs b/MatrixUtils.Web/Classes/RMUStorageWrapper.cs
index fb3b041..31e7734 100644
--- a/MatrixRoomUtils.Web/Classes/MRUStorageWrapper.cs
+++ b/MatrixUtils.Web/Classes/RMUStorageWrapper.cs
@@ -3,11 +3,11 @@ using LibMatrix.Homeservers;
 using LibMatrix.Services;
 using Microsoft.AspNetCore.Components;
 
-namespace MatrixRoomUtils.Web.Classes;
+namespace MatrixUtils.Web.Classes;
 
-public class MRUStorageWrapper(TieredStorageService storageService, HomeserverProviderService homeserverProviderService, NavigationManager navigationManager) {
+public class RMUStorageWrapper(TieredStorageService storageService, HomeserverProviderService homeserverProviderService, NavigationManager navigationManager) {
     public async Task<List<UserAuth>?> GetAllTokens() {
-        return await storageService.DataStorageProvider.LoadObjectAsync<List<UserAuth>>("mru.tokens") ??
+        return await storageService.DataStorageProvider.LoadObjectAsync<List<UserAuth>>("rmu.tokens") ??
                new List<UserAuth>();
     }
 
@@ -34,7 +34,7 @@ public class MRUStorageWrapper(TieredStorageService storageService, HomeserverPr
         var tokens = await GetAllTokens() ?? new List<UserAuth>();
 
         tokens.Add(UserAuth);
-        await storageService.DataStorageProvider.SaveObjectAsync("mru.tokens", tokens);
+        await storageService.DataStorageProvider.SaveObjectAsync("rmu.tokens", tokens);
     }
 
     private async Task<AuthenticatedHomeserverGeneric?> GetCurrentSession() {
@@ -91,7 +91,7 @@ public class MRUStorageWrapper(TieredStorageService storageService, HomeserverPr
         }
 
         tokens.RemoveAll(x => x.AccessToken == auth.AccessToken);
-        await storageService.DataStorageProvider.SaveObjectAsync("mru.tokens", tokens);
+        await storageService.DataStorageProvider.SaveObjectAsync("rmu.tokens", tokens);
     }
 
     public async Task SetCurrentToken(UserAuth? auth) => await storageService.DataStorageProvider.SaveObjectAsync("token", auth);
diff --git a/MatrixRoomUtils.Web/Classes/RoomCreationTemplates/DefaultRoomCreationTemplate.cs b/MatrixUtils.Web/Classes/RoomCreationTemplates/DefaultRoomCreationTemplate.cs
index a6831d4..a627a9c 100644
--- a/MatrixRoomUtils.Web/Classes/RoomCreationTemplates/DefaultRoomCreationTemplate.cs
+++ b/MatrixUtils.Web/Classes/RoomCreationTemplates/DefaultRoomCreationTemplate.cs
@@ -4,7 +4,7 @@ using LibMatrix.EventTypes.Spec.State;
 using LibMatrix.EventTypes.Spec.State.RoomInfo;
 using LibMatrix.Responses;
 
-namespace MatrixRoomUtils.Web.Classes.RoomCreationTemplates;
+namespace MatrixUtils.Web.Classes.RoomCreationTemplates;
 
 public class DefaultRoomCreationTemplate : IRoomCreationTemplate {
     public string Name => "Default";
diff --git a/MatrixRoomUtils.Web/Classes/RoomCreationTemplates/IRoomCreationTemplate.cs b/MatrixUtils.Web/Classes/RoomCreationTemplates/IRoomCreationTemplate.cs
index 42503f7..49aee73 100644
--- a/MatrixRoomUtils.Web/Classes/RoomCreationTemplates/IRoomCreationTemplate.cs
+++ b/MatrixUtils.Web/Classes/RoomCreationTemplates/IRoomCreationTemplate.cs
@@ -1,6 +1,6 @@
 using LibMatrix.Responses;
 
-namespace MatrixRoomUtils.Web.Classes.RoomCreationTemplates;
+namespace MatrixUtils.Web.Classes.RoomCreationTemplates;
 
 public interface IRoomCreationTemplate {
     public CreateRoomRequest CreateRoomRequest { get; }
diff --git a/MatrixRoomUtils.Web/Classes/SessionStorageProviderService.cs b/MatrixUtils.Web/Classes/SessionStorageProviderService.cs
index a923015..ae0bb79 100644
--- a/MatrixRoomUtils.Web/Classes/SessionStorageProviderService.cs
+++ b/MatrixUtils.Web/Classes/SessionStorageProviderService.cs
@@ -1,7 +1,7 @@
 using Blazored.SessionStorage;
 using LibMatrix.Interfaces.Services;
 
-namespace MatrixRoomUtils.Web.Classes;
+namespace MatrixUtils.Web.Classes;
 
 public class SessionStorageProviderService : IStorageProvider {
     private readonly ISessionStorageService _sessionStorageService;
diff --git a/MatrixRoomUtils.Web/Classes/UserAuth.cs b/MatrixUtils.Web/Classes/UserAuth.cs
index e6f0954..66476ae 100644
--- a/MatrixRoomUtils.Web/Classes/UserAuth.cs
+++ b/MatrixUtils.Web/Classes/UserAuth.cs
@@ -1,6 +1,6 @@
 using LibMatrix.Responses;
 
-namespace MatrixRoomUtils.Web.Classes;
+namespace MatrixUtils.Web.Classes;
 
 public class UserAuth : LoginResponse {
     public UserAuth() { }
diff --git a/MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj b/MatrixUtils.Web/MatrixUtils.Web.csproj
index ed62751..d5977a0 100644
--- a/MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj
+++ b/MatrixUtils.Web/MatrixUtils.Web.csproj
@@ -9,6 +9,7 @@
         <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
 
         <UseBlazorWebAssembly>true</UseBlazorWebAssembly>
+        <ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
 <!--        <RunAOTCompilation>true</RunAOTCompilation>-->
     </PropertyGroup>
 
@@ -23,8 +24,8 @@
         <ProjectReference Condition="Exists('..\LibMatrix\ArcaneLibs\ArcaneLibs.Blazor.Components\ArcaneLibs.Blazor.Components.csproj')" Include="..\LibMatrix\ArcaneLibs\ArcaneLibs.Blazor.Components\ArcaneLibs.Blazor.Components.csproj" />
         <PackageReference Condition="!Exists('..\LibMatrix\ArcaneLibs\ArcaneLibs.Blazor.Components\ArcaneLibs.Blazor.Components.csproj')" Include="ArcaneLibs.Blazor.Components" Version="*-preview*" />
         <ProjectReference Include="..\LibMatrix\LibMatrix\LibMatrix.csproj" />
-        <ProjectReference Include="..\MatrixRoomUtils.Abstractions\MatrixRoomUtils.Abstractions.csproj" />
-        <ProjectReference Include="..\MatrixRoomUtils.LibDMSpace\MatrixRoomUtils.LibDMSpace.csproj" />
+        <ProjectReference Include="..\MatrixUtils.Abstractions\MatrixUtils.Abstractions.csproj" />
+        <ProjectReference Include="..\MatrixUtils.LibDMSpace\MatrixUtils.LibDMSpace.csproj" />
     </ItemGroup>
 
     <ItemGroup>
@@ -36,4 +37,8 @@
       </Content>
     </ItemGroup>
 
+    <ItemGroup>
+        <ServiceWorker Include="wwwroot\service-worker.js" PublishedContent="wwwroot\service-worker.published.js" />
+    </ItemGroup>
+
 </Project>
diff --git a/MatrixRoomUtils.Web/Pages/About.razor b/MatrixUtils.Web/Pages/About.razor
index 18d7c3f..18d7c3f 100644
--- a/MatrixRoomUtils.Web/Pages/About.razor
+++ b/MatrixUtils.Web/Pages/About.razor
diff --git a/MatrixRoomUtils.Web/Pages/Dev/DevOptions.razor b/MatrixUtils.Web/Pages/Dev/DevOptions.razor
index a1e928f..6ca0b53 100644
--- a/MatrixRoomUtils.Web/Pages/Dev/DevOptions.razor
+++ b/MatrixUtils.Web/Pages/Dev/DevOptions.razor
@@ -35,9 +35,9 @@
 
 @code {
 
-    private MRUStorageWrapper.Settings? userSettings { get; set; }
+    private RMUStorageWrapper.Settings? userSettings { get; set; }
     protected override async Task OnInitializedAsync() {
-        // userSettings = await TieredStorage.DataStorageProvider.LoadObjectAsync<MRUStorageWrapper.Settings>("mru.settings");
+        // userSettings = await TieredStorage.DataStorageProvider.LoadObjectAsync<RMUStorageWrapper.Settings>("rmu.settings");
         
         await base.OnInitializedAsync();
     }
@@ -45,7 +45,7 @@
     private async Task LogStuff() {
         await Task.Delay(100);
         Console.WriteLine($"Settings: {userSettings.ToJson()}");
-        await TieredStorage.DataStorageProvider.SaveObjectAsync("mru.settings", userSettings);
+        await TieredStorage.DataStorageProvider.SaveObjectAsync("rmu.settings", userSettings);
     }
 
     private async Task ExportLocalStorage() {
diff --git a/MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor b/MatrixUtils.Web/Pages/Dev/DevUtilities.razor
index 27fe35e..a6a4a82 100644
--- a/MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor
+++ b/MatrixUtils.Web/Pages/Dev/DevUtilities.razor
@@ -3,7 +3,7 @@
 @using ArcaneLibs.Extensions
 @using LibMatrix.Extensions
 @using LibMatrix.Homeservers
-@using MatrixRoomUtils.Abstractions
+@using MatrixUtils.Abstractions
 @inject ILocalStorageService LocalStorage
 @inject NavigationManager NavigationManager
 <h3>Debug Tools</h3>
@@ -26,11 +26,11 @@ else {
 <details open>
     <summary>Send GET request to URL</summary>
     <div class="input-group">
-        <input type="text" class="form-control" @bind-value="get_request_url" placeholder="URL">
+        <input type="text" class="form-control" @bind-value="GetRequestUrl" placeholder="URL">
         <button class="btn btn-outline-secondary" type="button" @onclick="SendGetRequest">Send</button>
     </div>
     <br/>
-    <pre>@get_request_result</pre>
+    <pre>@GetRequestResult</pre>
 </details>
 
 <div style="margin-bottom: 4em;"></div>
@@ -42,38 +42,35 @@ else {
 
     protected override async Task OnInitializedAsync() {
         await base.OnInitializedAsync();
-        hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs == null) return;
         Rooms = (await hs.GetJoinedRooms()).Select(x => x.RoomId).ToList();
         Console.WriteLine("Fetched joined rooms!");
     }
 
     //send req
-    string get_request_url { get; set; } = "";
-    string get_request_result { get; set; } = "";
+    string GetRequestUrl { get; set; } = "";
+    string GetRequestResult { get; set; } = "";
 
     private async Task SendGetRequest() {
-        var field = typeof(RemoteHomeserver).GetRuntimeFields().First(x => x.ToString().Contains("<_httpClient>k__BackingField"));
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
-        if (hs == null) return;
-        var httpClient = field.GetValue(hs) as MatrixHttpClient;
+        var httpClient = hs?.ClientHttpClient;
         try {
-            var res = await httpClient.GetAsync(get_request_url);
+            var res = await httpClient.GetAsync(GetRequestUrl);
             if (res.IsSuccessStatusCode) {
                 if (res.Content.Headers.ContentType.MediaType == "application/json")
-                    get_request_result = (await res.Content.ReadFromJsonAsync<object>()).ToJson();
+                    GetRequestResult = (await res.Content.ReadFromJsonAsync<object>()).ToJson();
                 else
-                    get_request_result = await res.Content.ReadAsStringAsync();
+                    GetRequestResult = await res.Content.ReadAsStringAsync();
                 StateHasChanged();
                 return;
             }
             if (res.Content.Headers.ContentType.MediaType == "application/json")
-                get_request_result = $"Error: {res.StatusCode}\n" + (await res.Content.ReadFromJsonAsync<object>()).ToJson();
+                GetRequestResult = $"Error: {res.StatusCode}\n" + (await res.Content.ReadFromJsonAsync<object>()).ToJson();
             else
-                get_request_result = $"Error: {res.StatusCode}\n" + await res.Content.ReadAsStringAsync();
+                GetRequestResult = $"Error: {res.StatusCode}\n" + await res.Content.ReadAsStringAsync();
         }
         catch (Exception e) {
-            get_request_result = $"Error: {e}";
+            GetRequestResult = $"Error: {e}";
         }
         StateHasChanged();
     }
diff --git a/MatrixRoomUtils.Web/Pages/Dev/ModalTest.razor b/MatrixUtils.Web/Pages/Dev/ModalTest.razor
index 4a0487f..4a0487f 100644
--- a/MatrixRoomUtils.Web/Pages/Dev/ModalTest.razor
+++ b/MatrixUtils.Web/Pages/Dev/ModalTest.razor
diff --git a/MatrixRoomUtils.Web/Pages/HSAdmin/HSAdmin.razor b/MatrixUtils.Web/Pages/HSAdmin/HSAdmin.razor
index d1a2df5..6499f57 100644
--- a/MatrixRoomUtils.Web/Pages/HSAdmin/HSAdmin.razor
+++ b/MatrixUtils.Web/Pages/HSAdmin/HSAdmin.razor
@@ -14,7 +14,7 @@ else {
         <a href="/HSAdmin/RoomQuery">Query rooms</a>
     }
     else {
-        <p>Homeserver type @Homeserver.GetType().Name does not have any administration tools in MRU.</p>
+        <p>Homeserver type @Homeserver.GetType().Name does not have any administration tools in RMU.</p>
         <p>Server info:</p>
         <pre>@ServerVersionResponse?.ToJson(ignoreNull: true)</pre>
     }
@@ -25,7 +25,7 @@ else {
     public ServerVersionResponse? ServerVersionResponse { get; set; }
 
     protected override async Task OnInitializedAsync() {
-        Homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver = await RMUStorage.GetCurrentSessionOrNavigate();
         if (Homeserver is null) return;
         ServerVersionResponse = await (Homeserver.FederationClient?.GetServerVersionAsync() ?? Task.FromResult<ServerVersionResponse?>(null));
         await base.OnInitializedAsync();
diff --git a/MatrixRoomUtils.Web/Pages/HSAdmin/RoomQuery.razor b/MatrixUtils.Web/Pages/HSAdmin/RoomQuery.razor
index 7e4058b..10628ad 100644
--- a/MatrixRoomUtils.Web/Pages/HSAdmin/RoomQuery.razor
+++ b/MatrixUtils.Web/Pages/HSAdmin/RoomQuery.razor
@@ -167,7 +167,7 @@
 
     private async Task Search() {
         Results.Clear();
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is AuthenticatedHomeserverSynapse synapse) {
             var searchRooms = synapse.Admin.SearchRoomsAsync(orderBy: OrderBy!, dir: Ascending ? "f" : "b", searchTerm: SearchTerm, localFilter: Filter).GetAsyncEnumerator();
             while (await searchRooms.MoveNextAsync()) {
diff --git a/MatrixRoomUtils.Web/Pages/HSAdmin/RoomQuery.razor.css b/MatrixUtils.Web/Pages/HSAdmin/RoomQuery.razor.css
index e69de29..e69de29 100644
--- a/MatrixRoomUtils.Web/Pages/HSAdmin/RoomQuery.razor.css
+++ b/MatrixUtils.Web/Pages/HSAdmin/RoomQuery.razor.css
diff --git a/MatrixRoomUtils.Web/Pages/Index.razor b/MatrixUtils.Web/Pages/Index.razor
index 250dc2d..9c1bab6 100644
--- a/MatrixRoomUtils.Web/Pages/Index.razor
+++ b/MatrixUtils.Web/Pages/Index.razor
@@ -4,7 +4,7 @@
 @using LibMatrix
 @using LibMatrix.Homeservers
 @using ArcaneLibs.Extensions
-@using MatrixRoomUtils.Web.Pages.Dev
+@using MatrixUtils.Web.Pages.Dev
 
 <PageTitle>Index</PageTitle>
 
@@ -104,10 +104,10 @@ Small collection of tools to do not-so-everyday things.
 
     protected override async Task OnInitializedAsync() {
         Console.WriteLine("Index.OnInitializedAsync");
-        _currentSession = await MRUStorage.GetCurrentToken();
+        _currentSession = await RMUStorage.GetCurrentToken();
         _sessions.Clear();
         _offlineSessions.Clear();
-        var tokens = await MRUStorage.GetAllTokens();
+        var tokens = await RMUStorage.GetAllTokens();
         var profileTasks = tokens.Select(async token => {
             UserInfo userInfo = new();
             AuthenticatedHomeserverGeneric hs;
@@ -171,16 +171,16 @@ Small collection of tools to do not-so-everyday things.
             Console.WriteLine(e);
         }
 
-        await MRUStorage.RemoveToken(auth);
-        if ((await MRUStorage.GetCurrentToken())?.AccessToken == auth.AccessToken)
-            await MRUStorage.SetCurrentToken((await MRUStorage.GetAllTokens() ?? throw new InvalidOperationException()).FirstOrDefault());
+        await RMUStorage.RemoveToken(auth);
+        if ((await RMUStorage.GetCurrentToken())?.AccessToken == auth.AccessToken)
+            await RMUStorage.SetCurrentToken((await RMUStorage.GetAllTokens() ?? throw new InvalidOperationException()).FirstOrDefault());
         await OnInitializedAsync();
     }
 
 
     private async Task SwitchSession(UserAuth auth) {
         Console.WriteLine($"Switching to {auth.Homeserver} {auth.UserId} via {auth.Proxy}");
-        await MRUStorage.SetCurrentToken(auth);
+        await RMUStorage.SetCurrentToken(auth);
         await OnInitializedAsync();
     }
 
diff --git a/MatrixRoomUtils.Web/Pages/Index.razor.css b/MatrixUtils.Web/Pages/Index.razor.css
index c6b7bd7..c6b7bd7 100644
--- a/MatrixRoomUtils.Web/Pages/Index.razor.css
+++ b/MatrixUtils.Web/Pages/Index.razor.css
diff --git a/MatrixRoomUtils.Web/Pages/InvalidSession.razor b/MatrixUtils.Web/Pages/InvalidSession.razor
index 7d4769c..e1a72ea 100644
--- a/MatrixRoomUtils.Web/Pages/InvalidSession.razor
+++ b/MatrixUtils.Web/Pages/InvalidSession.razor
@@ -40,7 +40,7 @@ else {
     private MatrixException? _loginException { get; set; }
 
     protected override async Task OnInitializedAsync() {
-        var tokens = await MRUStorage.GetAllTokens();
+        var tokens = await RMUStorage.GetAllTokens();
         if (tokens is null || tokens.Count == 0) {
             NavigationManager.NavigateTo("/Login");
             return;
@@ -56,9 +56,9 @@ else {
     }
 
     private async Task RemoveUser() {
-        await MRUStorage.RemoveToken(_login!);
-        if ((await MRUStorage.GetCurrentToken())!.AccessToken == _login!.AccessToken)
-            await MRUStorage.SetCurrentToken((await MRUStorage.GetAllTokens())?.FirstOrDefault());
+        await RMUStorage.RemoveToken(_login!);
+        if ((await RMUStorage.GetCurrentToken())!.AccessToken == _login!.AccessToken)
+            await RMUStorage.SetCurrentToken((await RMUStorage.GetAllTokens())?.FirstOrDefault());
         await OnInitializedAsync();
     }
 
@@ -70,7 +70,7 @@ else {
 
     private async Task SwitchSession(UserAuth auth) {
         Console.WriteLine($"Switching to {auth.Homeserver} {auth.AccessToken} {auth.UserId}");
-        await MRUStorage.SetCurrentToken(auth);
+        await RMUStorage.SetCurrentToken(auth);
         await OnInitializedAsync();
     }
 
@@ -85,9 +85,9 @@ else {
             Console.WriteLine($"Obtained access token for {result.UserId}!");
 
             await RemoveUser();
-            await MRUStorage.AddToken(result);
-            if (result.UserId == (await MRUStorage.GetCurrentToken())?.UserId)
-                await MRUStorage.SetCurrentToken(result);
+            await RMUStorage.AddToken(result);
+            if (result.UserId == (await RMUStorage.GetCurrentToken())?.UserId)
+                await RMUStorage.SetCurrentToken(result);
             NavigationManager.NavigateTo("/");
         }
         catch (MatrixException e) {
diff --git a/MatrixRoomUtils.Web/Pages/LoginPage.razor b/MatrixUtils.Web/Pages/LoginPage.razor
index b6f244d..ec4f57d 100644
--- a/MatrixRoomUtils.Web/Pages/LoginPage.razor
+++ b/MatrixUtils.Web/Pages/LoginPage.razor
@@ -111,8 +111,8 @@
 
             Console.WriteLine($"Obtained access token for {result.UserId}!");
 
-            await MRUStorage.AddToken(result);
-            LoggedInSessions = await MRUStorage.GetAllTokens();
+            await RMUStorage.AddToken(result);
+            LoggedInSessions = await RMUStorage.GetAllTokens();
         }
         catch (Exception e) {
             Console.WriteLine($"Failed to login to {record.Homeserver} as {record.Username}!");
@@ -124,7 +124,7 @@
     }
 
     private async Task FileChanged(InputFileChangeEventArgs obj) {
-        LoggedInSessions = await MRUStorage.GetAllTokens();
+        LoggedInSessions = await RMUStorage.GetAllTokens();
         Console.WriteLine(JsonSerializer.Serialize(obj, new JsonSerializerOptions {
             WriteIndented = true
         }));
@@ -142,7 +142,7 @@
     }
 
     private async Task AddRecord() {
-        LoggedInSessions = await MRUStorage.GetAllTokens();
+        LoggedInSessions = await RMUStorage.GetAllTokens();
         records.Add(newRecordInput);
         newRecordInput = new();
     }
diff --git a/MatrixRoomUtils.Web/Pages/ModerationUtilities/UserRoomHistory.razor b/MatrixUtils.Web/Pages/ModerationUtilities/UserRoomHistory.razor
index 506a8a1..5ba83e4 100644
--- a/MatrixRoomUtils.Web/Pages/ModerationUtilities/UserRoomHistory.razor
+++ b/MatrixUtils.Web/Pages/ModerationUtilities/UserRoomHistory.razor
@@ -4,7 +4,7 @@
 @using LibMatrix.EventTypes.Spec.State
 @using LibMatrix.RoomTypes
 @using ArcaneLibs.Extensions
-@using MatrixRoomUtils.Abstractions
+@using MatrixUtils.Abstractions
 <h3>UserRoomHistory</h3>
 
 <span>Enter mxid: </span>
@@ -46,11 +46,11 @@ else {
     private AuthenticatedHomeserverGeneric? currentHs { get; set; }
 
     protected override async Task OnInitializedAsync() {
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
-        var sessions = await MRUStorage.GetAllTokens();
+        var sessions = await RMUStorage.GetAllTokens();
         foreach (var userAuth in sessions) {
-            var session = await MRUStorage.GetSession(userAuth);
+            var session = await RMUStorage.GetSession(userAuth);
             if (session is not null) {
                 hss.Add(session);
                 StateHasChanged();
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/Create.razor b/MatrixUtils.Web/Pages/Rooms/Create.razor
index e477f4c..35b2ffb 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/Create.razor
+++ b/MatrixUtils.Web/Pages/Rooms/Create.razor
@@ -7,7 +7,7 @@
 @using LibMatrix.EventTypes.Spec.State.RoomInfo
 @using LibMatrix.Homeservers
 @using LibMatrix.Responses
-@using MatrixRoomUtils.Web.Classes.RoomCreationTemplates
+@using MatrixUtils.Web.Classes.RoomCreationTemplates
 @* @* ReSharper disable once RedundantUsingDirective - Must not remove this, Rider marks this as "unused" when it's not */ *@
 
 <h3>Room Manager - Create Room</h3>
@@ -260,7 +260,7 @@
     private RoomAvatarEventContent? roomAvatarEvent => creationEvent?["m.room.avatar"].TypedContent as RoomAvatarEventContent;
 
     protected override async Task OnInitializedAsync() {
-        Homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver = await RMUStorage.GetCurrentSessionOrNavigate();
         if (Homeserver is null) return;
 
         foreach (var x in Assembly.GetExecutingAssembly().GetTypes().Where(x => x.IsClass && !x.IsAbstract && x.GetInterfaces().Contains(typeof(IRoomCreationTemplate))).ToList()) {
@@ -290,7 +290,7 @@
     private async Task CreateRoom() {
         Console.WriteLine("Create room");
         Console.WriteLine(creationEvent.ToJson());
-        creationEvent.CreationContent.Add("rory.gay.created_using", "Rory&::MatrixRoomUtils (https://mru.rory.gay)");
+        creationEvent.CreationContent.Add("rory.gay.created_using", "Rory&::MatrixUtils (https://rmu.rory.gay)");
         try {
             var id = await Homeserver.CreateRoom(creationEvent);
         }
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/Index.razor b/MatrixUtils.Web/Pages/Rooms/Index.razor
index 6cabe82..0ec9487 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/Index.razor
+++ b/MatrixUtils.Web/Pages/Rooms/Index.razor
@@ -6,7 +6,7 @@
 @using System.Collections.ObjectModel
 @using System.Diagnostics
 @using ArcaneLibs.Extensions
-@using MatrixRoomUtils.Abstractions
+@using MatrixUtils.Abstractions
 @inject ILogger<Index> logger
 <h3>Room list</h3>
 
@@ -93,7 +93,7 @@
     // SyncHelper profileSyncHelper;
 
     protected override async Task OnInitializedAsync() {
-        Homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver = await RMUStorage.GetCurrentSessionOrNavigate();
         if (Homeserver is null) return;
         var rooms = await Homeserver.GetJoinedRooms();
         // SemaphoreSlim _semaphore = new(160, 160);
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/PolicyList.razor b/MatrixUtils.Web/Pages/Rooms/PolicyList.razor
index b89d59c..bfc0375 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/PolicyList.razor
+++ b/MatrixUtils.Web/Pages/Rooms/PolicyList.razor
@@ -10,7 +10,7 @@
 @using ArcaneLibs.Attributes
 @using LibMatrix.EventTypes
 
-@using MatrixRoomUtils.Web.Shared.PolicyEditorComponents
+@using MatrixUtils.Web.Shared.PolicyEditorComponents
 
 <h3>Policy list editor - Editing @RoomId</h3>
 <hr/>
@@ -170,7 +170,7 @@ else {
     protected override async Task OnInitializedAsync() {
         var sw = Stopwatch.StartNew();
         await base.OnInitializedAsync();
-        Homeserver = (await MRUStorage.GetCurrentSessionOrNavigate())!;
+        Homeserver = (await RMUStorage.GetCurrentSessionOrNavigate())!;
         if (Homeserver is null) return;
         Room = Homeserver.GetRoom(RoomId!);
         PowerLevels = (await Room.GetPowerLevelsAsync())!;
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/Space.razor b/MatrixUtils.Web/Pages/Rooms/Space.razor
index ce94d01..2dd84a1 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/Space.razor
+++ b/MatrixUtils.Web/Pages/Rooms/Space.razor
@@ -31,7 +31,7 @@
     private List<string> ServersInSpace { get; } = new();
 
     protected override async Task OnInitializedAsync() {
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
 
         Room = hs.GetRoom(RoomId.Replace('~', '.'));
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/StateEditor.razor b/MatrixUtils.Web/Pages/Rooms/StateEditor.razor
index 0e9d4f6..fc3a310 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/StateEditor.razor
+++ b/MatrixUtils.Web/Pages/Rooms/StateEditor.razor
@@ -45,7 +45,7 @@
 
     protected override async Task OnInitializedAsync() {
         await base.OnInitializedAsync();
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
         RoomId = RoomId.Replace('~', '.');
         await LoadStatesAsync();
@@ -55,7 +55,7 @@
     private DateTime _lastUpdate = DateTime.Now;
 
     private async Task LoadStatesAsync() {
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
 
         var StateLoaded = 0;
         var response = (hs.GetRoom(RoomId)).GetFullStateAsync();
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor b/MatrixUtils.Web/Pages/Rooms/StateViewer.razor
index 2d0e0b0..fabc33c 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/StateViewer.razor
+++ b/MatrixUtils.Web/Pages/Rooms/StateViewer.razor
@@ -70,7 +70,7 @@
 
     protected override async Task OnInitializedAsync() {
         await base.OnInitializedAsync();
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
         await LoadStatesAsync();
         Console.WriteLine("Policy list editor initialized!");
@@ -80,7 +80,7 @@
 
     private async Task LoadStatesAsync() {
         var StateLoaded = 0;
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
         var response = (hs.GetRoom(RoomId)).GetFullStateAsync();
         await foreach (var _ev in response) {
diff --git a/MatrixRoomUtils.Web/Pages/Rooms/Timeline.razor b/MatrixUtils.Web/Pages/Rooms/Timeline.razor
index 01bf555..8d0f731 100644
--- a/MatrixRoomUtils.Web/Pages/Rooms/Timeline.razor
+++ b/MatrixUtils.Web/Pages/Rooms/Timeline.razor
@@ -1,5 +1,5 @@
 @page "/Rooms/{RoomId}/Timeline"
-@using MatrixRoomUtils.Web.Shared.TimelineComponents
+@using MatrixUtils.Web.Shared.TimelineComponents
 @using LibMatrix
 @using LibMatrix.EventTypes.Spec
 @using LibMatrix.EventTypes.Spec.State
@@ -28,7 +28,7 @@
 
     protected override async Task OnInitializedAsync() {
         Console.WriteLine("RoomId: " + RoomId);
-        Homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver = await RMUStorage.GetCurrentSessionOrNavigate();
         if (Homeserver is null) return;
         var room = Homeserver.GetRoom(RoomId);
         MessagesResponse? msgs = null;
diff --git a/MatrixRoomUtils.Web/Pages/ServerInfo.razor b/MatrixUtils.Web/Pages/ServerInfo.razor
index 71a1980..71a1980 100644
--- a/MatrixRoomUtils.Web/Pages/ServerInfo.razor
+++ b/MatrixUtils.Web/Pages/ServerInfo.razor
diff --git a/MatrixRoomUtils.Web/Pages/Tools/CopyPowerlevel.razor b/MatrixUtils.Web/Pages/Tools/CopyPowerlevel.razor
index bcbc974..31f3f23 100644
--- a/MatrixRoomUtils.Web/Pages/Tools/CopyPowerlevel.razor
+++ b/MatrixUtils.Web/Pages/Tools/CopyPowerlevel.razor
@@ -1,4 +1,4 @@
-@page "/CopyPowerlevel"
+@page "/Tools/CopyPowerlevel"
 @using System.Diagnostics
 @using ArcaneLibs.Extensions
 @using LibMatrix
@@ -25,11 +25,11 @@
     List<AuthenticatedHomeserverGeneric> hss { get; set; } = new();
 
     protected override async Task OnInitializedAsync() {
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
-        var sessions = await MRUStorage.GetAllTokens();
+        var sessions = await RMUStorage.GetAllTokens();
         foreach (var userAuth in sessions) {
-            var session = await MRUStorage.GetSession(userAuth);
+            var session = await RMUStorage.GetSession(userAuth);
             if (session is not null) {
                 hss.Add(session);
                 StateHasChanged();
diff --git a/MatrixRoomUtils.Web/Pages/Tools/KnownHomeserverList.razor b/MatrixUtils.Web/Pages/Tools/KnownHomeserverList.razor
index dbf2f5f..f73215d 100644
--- a/MatrixRoomUtils.Web/Pages/Tools/KnownHomeserverList.razor
+++ b/MatrixUtils.Web/Pages/Tools/KnownHomeserverList.razor
@@ -1,4 +1,4 @@
-@page "/KnownHomeserverList"
+@page "/Tools/KnownHomeserverList"
 @using System.Diagnostics
 @using ArcaneLibs.Extensions
 @using LibMatrix.Homeservers
@@ -26,7 +26,7 @@
     AuthenticatedHomeserverGeneric? hs { get; set; }
 
     protected override async Task OnInitializedAsync() {
-        hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
         var fetchTasks = (await hs.GetJoinedRooms()).Select(x=>x.GetMembersByHomeserverAsync()).ToAsyncEnumerable();
         await foreach (var result in fetchTasks) {
diff --git a/MatrixRoomUtils.Web/Pages/Tools/MassJoinRoom.razor b/MatrixUtils.Web/Pages/Tools/MassJoinRoom.razor
index 816b7db..6efb0ae 100644
--- a/MatrixRoomUtils.Web/Pages/Tools/MassJoinRoom.razor
+++ b/MatrixUtils.Web/Pages/Tools/MassJoinRoom.razor
@@ -1,4 +1,4 @@
-@page "/MassRoomJoin"
+@page "/Tools/MassRoomJoin"
 @using System.Diagnostics
 @using ArcaneLibs.Extensions
 @using LibMatrix
@@ -28,11 +28,11 @@
     string roomId { get; set; }
 
     protected override async Task OnInitializedAsync() {
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
-        var sessions = await MRUStorage.GetAllTokens();
+        var sessions = await RMUStorage.GetAllTokens();
         foreach (var userAuth in sessions) {
-            var session = await MRUStorage.GetSession(userAuth);
+            var session = await RMUStorage.GetSession(userAuth);
             if (session is not null) {
                 hss.Add(session);
                 StateHasChanged();
diff --git a/MatrixRoomUtils.Web/Pages/Tools/MediaLocator.razor b/MatrixUtils.Web/Pages/Tools/MediaLocator.razor
index 20aa639..38c9b71 100644
--- a/MatrixRoomUtils.Web/Pages/Tools/MediaLocator.razor
+++ b/MatrixUtils.Web/Pages/Tools/MediaLocator.razor
@@ -1,4 +1,4 @@
-@page "/MediaLocator"
+@page "/Tools/MediaLocator"
 @using LibMatrix.Homeservers
 @inject HttpClient Http
 <h3>Media locator</h3>
diff --git a/MatrixRoomUtils.Web/Pages/Tools/SpaceDebug.razor b/MatrixUtils.Web/Pages/Tools/SpaceDebug.razor
index 5b4815d..5d9b8eb 100644
--- a/MatrixRoomUtils.Web/Pages/Tools/SpaceDebug.razor
+++ b/MatrixUtils.Web/Pages/Tools/SpaceDebug.razor
@@ -1,4 +1,4 @@
-@page "/SpaceDebug"
+@page "/Tools/SpaceDebug"
 @using LibMatrix.Filters
 @using LibMatrix.Helpers
 <h3>SpaceDebug</h3>
@@ -45,7 +45,7 @@
 
     protected override async Task OnInitializedAsync() {
         Status = "Getting homeserver...";
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
 
         var syncHelper = new SyncHelper(hs) {
diff --git a/MatrixUtils.Web/Pages/Tools/ToolsIndex.razor b/MatrixUtils.Web/Pages/Tools/ToolsIndex.razor
new file mode 100644
index 0000000..f4092d7
--- /dev/null
+++ b/MatrixUtils.Web/Pages/Tools/ToolsIndex.razor
@@ -0,0 +1,8 @@
+@page "/Tools"
+<h3>Other tools</h3>
+
+<a href="/Tools/CopyPowerlevel">Copy highest powerlevel across all session</a><br/>
+<a href="/Tools/KnownHomeserverList">Find all homeservers you share a room with</a><br/>
+<a href="/Tools/MassRoomJoin">Join room across all session</a><br/>
+<a href="/Tools/MediaLocator">Locate lost media</a><br/>
+<a href="/Tools/SpaceDebug">Debug space relationships</a><br/>
diff --git a/MatrixRoomUtils.Web/Pages/User/DMManager.razor b/MatrixUtils.Web/Pages/User/DMManager.razor
index a327793..df5cd6b 100644
--- a/MatrixRoomUtils.Web/Pages/User/DMManager.razor
+++ b/MatrixUtils.Web/Pages/User/DMManager.razor
@@ -1,7 +1,7 @@
 @page "/User/DirectMessages"
 @using LibMatrix.EventTypes.Spec.State
 @using LibMatrix.Responses
-@using MatrixRoomUtils.Abstractions
+@using MatrixUtils.Abstractions
 <h3>Direct Messages</h3>
 <hr/>
 
@@ -28,7 +28,7 @@
     }
 
     protected override async Task OnInitializedAsync() {
-        Homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver = await RMUStorage.GetCurrentSessionOrNavigate();
         if (Homeserver is null) return;
         Status = "Loading global profile...";
         if (Homeserver.WhoAmI?.UserId is null) return;
diff --git a/MatrixRoomUtils.Web/Pages/User/DMSpace.razor b/MatrixUtils.Web/Pages/User/DMSpace.razor
index 21cc264..3751629 100644
--- a/MatrixRoomUtils.Web/Pages/User/DMSpace.razor
+++ b/MatrixUtils.Web/Pages/User/DMSpace.razor
@@ -1,9 +1,9 @@
 @page "/User/DMSpace/Setup"
 @using LibMatrix.Homeservers
 @using LibMatrix
-@using MatrixRoomUtils.LibDMSpace
-@using MatrixRoomUtils.LibDMSpace.StateEvents
-@using MatrixRoomUtils.Web.Pages.User.DMSpaceStages
+@using MatrixUtils.LibDMSpace
+@using MatrixUtils.LibDMSpace.StateEvents
+@using MatrixUtils.Web.Pages.User.DMSpaceStages
 <h3>DM Space Management</h3>
 <hr/>
 <CascadingValue Value="@DmSpace">
@@ -54,7 +54,7 @@
             NavigationManager.NavigateTo("/User/DMSpace", true);
         }
         DmSpace = this;
-        Homeserver ??= await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver ??= await RMUStorage.GetCurrentSessionOrNavigate();
         if (Homeserver is null) return;
         try {
             DmSpaceConfiguration = await Homeserver.GetAccountDataAsync<DMSpaceConfiguration>("gay.rory.dm_space");
diff --git a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage0.razor b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage0.razor
index 49fd5b4..49fd5b4 100644
--- a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage0.razor
+++ b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage0.razor
diff --git a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage1.razor b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage1.razor
index 5958fc5..6131617 100644
--- a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage1.razor
+++ b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage1.razor
@@ -2,8 +2,8 @@
 @using LibMatrix.RoomTypes
 @using LibMatrix
 @using LibMatrix.Responses
-@using MatrixRoomUtils.LibDMSpace
-@using MatrixRoomUtils.LibDMSpace.StateEvents
+@using MatrixUtils.LibDMSpace
+@using MatrixUtils.LibDMSpace.StateEvents
 @using Microsoft.Extensions.Primitives
 @using ArcaneLibs.Extensions
 <b>
diff --git a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage2.razor b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage2.razor
index 60c68ac..5a53347 100644
--- a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage2.razor
+++ b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage2.razor
@@ -3,11 +3,11 @@
 @using LibMatrix
 @using LibMatrix.EventTypes.Spec.State
 @using LibMatrix.Responses
-@using MatrixRoomUtils.LibDMSpace
-@using MatrixRoomUtils.LibDMSpace.StateEvents
+@using MatrixUtils.LibDMSpace
+@using MatrixUtils.LibDMSpace.StateEvents
 @using ArcaneLibs.Extensions
 @using System.Text.Json.Serialization
-@using MatrixRoomUtils.Abstractions
+@using MatrixUtils.Abstractions
 <b>
     <u>DM Space setup tool - stage 2: Fix DM room attribution</u>
 </b>
diff --git a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage3.razor b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage3.razor
index 42573e6..9307f6a 100644
--- a/MatrixRoomUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage3.razor
+++ b/MatrixUtils.Web/Pages/User/DMSpaceStages/DMSpaceStage3.razor
@@ -3,11 +3,11 @@
 @using LibMatrix
 @using LibMatrix.EventTypes.Spec.State
 @using LibMatrix.Responses
-@using MatrixRoomUtils.LibDMSpace
-@using MatrixRoomUtils.LibDMSpace.StateEvents
+@using MatrixUtils.LibDMSpace
+@using MatrixUtils.LibDMSpace.StateEvents
 @using ArcaneLibs.Extensions
 @using System.Text.Json.Serialization
-@using MatrixRoomUtils.Abstractions
+@using MatrixUtils.Abstractions
 
 <b>
     <u>DM Space setup tool - stage 3: Preview space layout</u>
diff --git a/MatrixRoomUtils.Web/Pages/User/Profile.razor b/MatrixUtils.Web/Pages/User/Profile.razor
index 73d7c6e..8cffaab 100644
--- a/MatrixRoomUtils.Web/Pages/User/Profile.razor
+++ b/MatrixUtils.Web/Pages/User/Profile.razor
@@ -67,7 +67,7 @@
     private Dictionary<string, string> RoomNames { get; set; } = new();
 
     protected override async Task OnInitializedAsync() {
-        Homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver = await RMUStorage.GetCurrentSessionOrNavigate();
         if (Homeserver is null) return;
         Status = "Loading global profile...";
         if (Homeserver.WhoAmI?.UserId is null) return;
diff --git a/MatrixRoomUtils.Web/Program.cs b/MatrixUtils.Web/Program.cs
index 277e4d1..e63d191 100644
--- a/MatrixRoomUtils.Web/Program.cs
+++ b/MatrixUtils.Web/Program.cs
@@ -3,8 +3,8 @@ using System.Text.Json.Serialization;
 using Blazored.LocalStorage;
 using Blazored.SessionStorage;
 using LibMatrix.Services;
-using MatrixRoomUtils.Web;
-using MatrixRoomUtils.Web.Classes;
+using MatrixUtils.Web;
+using MatrixUtils.Web.Classes;
 using Microsoft.AspNetCore.Components.Web;
 using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
 
@@ -53,5 +53,5 @@ builder.Services.AddScoped<TieredStorageService>(x =>
 );
 
 builder.Services.AddRoryLibMatrixServices();
-builder.Services.AddScoped<MRUStorageWrapper>();
+builder.Services.AddScoped<RMUStorageWrapper>();
 await builder.Build().RunAsync();
diff --git a/MatrixRoomUtils.Web/Properties/launchSettings.json b/MatrixUtils.Web/Properties/launchSettings.json
index aa41dc8..aa41dc8 100644
--- a/MatrixRoomUtils.Web/Properties/launchSettings.json
+++ b/MatrixUtils.Web/Properties/launchSettings.json
diff --git a/MatrixRoomUtils.Web/Shared/EditablePre.razor b/MatrixUtils.Web/Shared/EditablePre.razor
index acb477c..acb477c 100644
--- a/MatrixRoomUtils.Web/Shared/EditablePre.razor
+++ b/MatrixUtils.Web/Shared/EditablePre.razor
diff --git a/MatrixRoomUtils.Web/Shared/InlineUserItem.razor b/MatrixUtils.Web/Shared/InlineUserItem.razor
index dc58210..6df2307 100644
--- a/MatrixRoomUtils.Web/Shared/InlineUserItem.razor
+++ b/MatrixUtils.Web/Shared/InlineUserItem.razor
@@ -42,7 +42,7 @@
 
     protected override async Task OnInitializedAsync() {
         await base.OnInitializedAsync();
-        Homeserver ??= await MRUStorage.GetCurrentSessionOrNavigate();
+        Homeserver ??= await RMUStorage.GetCurrentSessionOrNavigate();
         if(Homeserver is null) return;
 
         await _semaphoreSlim.WaitAsync();
diff --git a/MatrixRoomUtils.Web/Shared/LogView.razor b/MatrixUtils.Web/Shared/LogView.razor
index d541b82..d541b82 100644
--- a/MatrixRoomUtils.Web/Shared/LogView.razor
+++ b/MatrixUtils.Web/Shared/LogView.razor
diff --git a/MatrixRoomUtils.Web/Shared/MainLayout.razor b/MatrixUtils.Web/Shared/MainLayout.razor
index 2322af1..92194b2 100644
--- a/MatrixRoomUtils.Web/Shared/MainLayout.razor
+++ b/MatrixUtils.Web/Shared/MainLayout.razor
@@ -1,5 +1,4 @@
-@using System.Net
-@inherits LayoutComponentBase
+@inherits LayoutComponentBase
 
 <div class="page">
     <div class="sidebar">
diff --git a/MatrixRoomUtils.Web/Shared/MainLayout.razor.css b/MatrixUtils.Web/Shared/MainLayout.razor.css
index 01a5066..01a5066 100644
--- a/MatrixRoomUtils.Web/Shared/MainLayout.razor.css
+++ b/MatrixUtils.Web/Shared/MainLayout.razor.css
diff --git a/MatrixRoomUtils.Web/Shared/MxcImage.razor b/MatrixUtils.Web/Shared/MxcImage.razor
index fb8c248..fb8c248 100644
--- a/MatrixRoomUtils.Web/Shared/MxcImage.razor
+++ b/MatrixUtils.Web/Shared/MxcImage.razor
diff --git a/MatrixRoomUtils.Web/Shared/NavMenu.razor b/MatrixUtils.Web/Shared/NavMenu.razor
index f232940..43e2237 100644
--- a/MatrixRoomUtils.Web/Shared/NavMenu.razor
+++ b/MatrixUtils.Web/Shared/NavMenu.razor
@@ -1,6 +1,6 @@
 <div class="top-row ps-3 navbar navbar-dark">
     <div class="container-fluid">
-        <a class="navbar-brand" href="">Rory&::MatrixRoomUtils</a>
+        <a class="navbar-brand" href="">Rory&::MatrixUtils</a>
         <button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
             <span class="navbar-toggler-icon"></span>
         </button>
@@ -17,7 +17,7 @@
         
         <div class="nav-item px-3">
             <NavLink class="nav-link" href="About">
-                <span class="oi oi-info" aria-hidden="true"></span> About MRU
+                <span class="oi oi-info" aria-hidden="true"></span> About RMU
             </NavLink>
         </div>
 
@@ -60,20 +60,15 @@
         </div>
 
         <div class="nav-item px-3">
-            <NavLink class="nav-link" href="SpaceDebug">
-                <span class="oi oi-plus" aria-hidden="true"></span> Space relationships
-            </NavLink>
-        </div>
-        <div class="nav-item px-3">
-            <NavLink class="nav-link" href="KnownHomeservers">
-                <span class="oi oi-plus" aria-hidden="true"></span> Known homeservers
+            <NavLink class="nav-link" href="Tools">
+                <span class="oi oi-plus" aria-hidden="true"></span> Other tools
             </NavLink>
         </div>
 
-        <!-- MRU -->
+        <!-- RMU -->
         
         <div class="nav-item px-3">
-            <h5 style="margin-left: 1em;">MRU</h5>
+            <h5 style="margin-left: 1em;">RMU</h5>
             <hr style="margin-bottom: 0em;"/>
         </div>
         
diff --git a/MatrixRoomUtils.Web/Shared/NavMenu.razor.css b/MatrixUtils.Web/Shared/NavMenu.razor.css
index 447f2df..447f2df 100644
--- a/MatrixRoomUtils.Web/Shared/NavMenu.razor.css
+++ b/MatrixUtils.Web/Shared/NavMenu.razor.css
diff --git a/MatrixRoomUtils.Web/Shared/PolicyEditorComponents/PolicyEditorModal.razor b/MatrixUtils.Web/Shared/PolicyEditorComponents/PolicyEditorModal.razor
index 4fd151d..4fd151d 100644
--- a/MatrixRoomUtils.Web/Shared/PolicyEditorComponents/PolicyEditorModal.razor
+++ b/MatrixUtils.Web/Shared/PolicyEditorComponents/PolicyEditorModal.razor
diff --git a/MatrixRoomUtils.Web/Shared/RoomList.razor b/MatrixUtils.Web/Shared/RoomList.razor
index 31f0430..ed443dd 100644
--- a/MatrixRoomUtils.Web/Shared/RoomList.razor
+++ b/MatrixUtils.Web/Shared/RoomList.razor
@@ -1,12 +1,12 @@
-@using MatrixRoomUtils.Web.Shared.RoomListComponents;
+@using MatrixUtils.Web.Shared.RoomListComponents;
 @using LibMatrix
 @using LibMatrix.Extensions
 @using ArcaneLibs.Extensions
 @using LibMatrix.EventTypes.Spec.State
 @using System.Collections.ObjectModel
 @using LibMatrix.Responses
-@using MatrixRoomUtils.Abstractions
-@using _Imports = MatrixRoomUtils.Web._Imports
+@using MatrixUtils.Abstractions
+@using _Imports = MatrixUtils.Web._Imports
 @if (!StillFetching) {
     <p>Fetching room details... @RoomsWithTypes.Sum(x => x.Value.Count) out of @Rooms.Count done!</p>
     @foreach (var category in RoomsWithTypes.OrderBy(x => x.Value.Count)) {
@@ -37,7 +37,7 @@ else {
 
     private bool hooked;
     protected override async Task OnParametersSetAsync() {
-        var hs = await MRUStorage.GetCurrentSessionOrNavigate();
+        var hs = await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
         if (!hooked) {
             Rooms.CollectionChanged += (_, args) => {
diff --git a/MatrixRoomUtils.Web/Shared/RoomList.razor.css b/MatrixUtils.Web/Shared/RoomList.razor.css
index a159305..a159305 100644
--- a/MatrixRoomUtils.Web/Shared/RoomList.razor.css
+++ b/MatrixUtils.Web/Shared/RoomList.razor.css
diff --git a/MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListCategory.razor b/MatrixUtils.Web/Shared/RoomListComponents/RoomListCategory.razor
index 4db25e1..3d0070f 100644
--- a/MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListCategory.razor
+++ b/MatrixUtils.Web/Shared/RoomListComponents/RoomListCategory.razor
@@ -1,9 +1,9 @@
-@using MatrixRoomUtils.Web.Classes.Constants
+@using MatrixUtils.Web.Classes.Constants
 @using LibMatrix
 @using LibMatrix.EventTypes.Spec.State
 @using LibMatrix.Homeservers
 @using LibMatrix.Responses
-@using MatrixRoomUtils.Abstractions
+@using MatrixUtils.Abstractions
 <details>
     <summary>@RoomType (@Rooms.Count)</summary>
     @foreach (var room in Rooms) {
@@ -11,7 +11,7 @@
             <RoomListItem RoomInfo="@room" ShowOwnProfile="@(RoomType == "Room")"></RoomListItem>
             @* @if (RoomVersionDangerLevel(room) != 0 && *@
             @*      (room.StateEvents.FirstOrDefault(x=>x.Type == "m.room.power_levels")?.TypedContent is RoomPowerLevelEventContent powerLevels && powerLevels.UserHasPermission(Homeserver.UserId, "m.room.tombstone"))) { *@
-            @*     <MatrixRoomUtils.Web.Shared.SimpleComponents.LinkButton Color="@(RoomVersionDangerLevel(room) == 2 ? "#ff0000" : "#ff8800")" href="@($"/Rooms/Create?Import={room.Room.RoomId}")">Upgrade room</MatrixRoomUtils.Web.Shared.SimpleComponents.LinkButton> *@
+            @*     <MatrixUtils.Web.Shared.SimpleComponents.LinkButton Color="@(RoomVersionDangerLevel(room) == 2 ? "#ff0000" : "#ff8800")" href="@($"/Rooms/Create?Import={room.Room.RoomId}")">Upgrade room</MatrixUtils.Web.Shared.SimpleComponents.LinkButton> *@
             @* } *@
             <LinkButton href="@($"/Rooms/{room.Room.RoomId}/Timeline")">View timeline</LinkButton>
             <LinkButton href="@($"/Rooms/{room.Room.RoomId}/State/View")">View state</LinkButton>
diff --git a/MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListPolicyRoom.razor b/MatrixUtils.Web/Shared/RoomListComponents/RoomListPolicyRoom.razor
index 7afdc8c..7afdc8c 100644
--- a/MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListPolicyRoom.razor
+++ b/MatrixUtils.Web/Shared/RoomListComponents/RoomListPolicyRoom.razor
diff --git a/MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListSpace.razor b/MatrixUtils.Web/Shared/RoomListComponents/RoomListSpace.razor
index a6c006b..895d642 100644
--- a/MatrixRoomUtils.Web/Shared/RoomListComponents/RoomListSpace.razor
+++ b/MatrixUtils.Web/Shared/RoomListComponents/RoomListSpace.razor
@@ -1,6 +1,6 @@
 @using System.Collections.ObjectModel
-@using MatrixRoomUtils.Abstractions
-<MatrixRoomUtils.Web.Shared.SimpleComponents.LinkButton href="@($"/Rooms/{Space.Room.RoomId}/Space")">Manage space</MatrixRoomUtils.Web.Shared.SimpleComponents.LinkButton>
+@using MatrixUtils.Abstractions
+<MatrixUtils.Web.Shared.SimpleComponents.LinkButton href="@($"/Rooms/{Space.Room.RoomId}/Space")">Manage space</MatrixUtils.Web.Shared.SimpleComponents.LinkButton>
 
 <br/>
 <details @ontoggle="SpaceChildrenOpened">
diff --git a/MatrixRoomUtils.Web/Shared/RoomListItem.razor b/MatrixUtils.Web/Shared/RoomListItem.razor
index 07f0756..1046dd1 100644
--- a/MatrixRoomUtils.Web/Shared/RoomListItem.razor
+++ b/MatrixUtils.Web/Shared/RoomListItem.razor
@@ -5,8 +5,8 @@
 @using LibMatrix.Homeservers
 @using LibMatrix.Responses
 @using LibMatrix.RoomTypes
-@using MatrixRoomUtils.Abstractions
-@using MatrixRoomUtils.Web.Classes.Constants
+@using MatrixUtils.Abstractions
+@using MatrixUtils.Web.Classes.Constants
 @if (RoomInfo is not null) {
     <div class="roomListItem @(HasDangerousRoomVersion ? "dangerousRoomVersion" : HasOldRoomVersion ? "oldRoomVersion" : "")" id="@RoomInfo.Room.RoomId">
         @if (OwnMemberState != null) {
@@ -119,7 +119,7 @@ else {
 
         await _semaphoreSlim.WaitAsync();
 
-        hs ??= await MRUStorage.GetCurrentSessionOrNavigate();
+        hs ??= await RMUStorage.GetCurrentSessionOrNavigate();
         if (hs is null) return;
 
         try {
diff --git a/MatrixRoomUtils.Web/Shared/RoomListItem.razor.css b/MatrixUtils.Web/Shared/RoomListItem.razor.css
index 13de656..13de656 100644
--- a/MatrixRoomUtils.Web/Shared/RoomListItem.razor.css
+++ b/MatrixUtils.Web/Shared/RoomListItem.razor.css
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor
index 8d608e3..8d608e3 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/BaseTimelineItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineCanonicalAliasItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineCanonicalAliasItem.razor
index 1213432..1213432 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineCanonicalAliasItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineCanonicalAliasItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineHistoryVisibilityItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineHistoryVisibilityItem.razor
index 172a38c..172a38c 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineHistoryVisibilityItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineHistoryVisibilityItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor
index 3b18b95..3b18b95 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineMemberItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor
index 81956b0..81956b0 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor
index f3e6c7e..f3e6c7e 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomCreateItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomNameItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomNameItem.razor
index eeec3de..eeec3de 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomNameItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomNameItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor
index 7ef17a8..7ef17a8 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineRoomTopicItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor b/MatrixUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor
index 4f05b30..4f05b30 100644
--- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor
+++ b/MatrixUtils.Web/Shared/TimelineComponents/TimelineUnknownItem.razor
diff --git a/MatrixRoomUtils.Web/Shared/UserListItem.razor b/MatrixUtils.Web/Shared/UserListItem.razor
index 167809e..525296e 100644
--- a/MatrixRoomUtils.Web/Shared/UserListItem.razor
+++ b/MatrixUtils.Web/Shared/UserListItem.razor
@@ -28,7 +28,7 @@
     private AuthenticatedHomeserverGeneric _homeserver = null!;
 
     protected override async Task OnInitializedAsync() {
-        _homeserver = await MRUStorage.GetCurrentSessionOrNavigate();
+        _homeserver = await RMUStorage.GetCurrentSessionOrNavigate();
         if (_homeserver is null) return;
 
         if (User == null) {
diff --git a/MatrixRoomUtils.Web/_Imports.razor b/MatrixUtils.Web/_Imports.razor
index 0d07b3a..87d7cb2 100644
--- a/MatrixRoomUtils.Web/_Imports.razor
+++ b/MatrixUtils.Web/_Imports.razor
@@ -8,14 +8,14 @@
 @using Microsoft.AspNetCore.Components.Web.Virtualization
 @using Microsoft.AspNetCore.Components.WebAssembly.Http
 @using Microsoft.JSInterop
-@using MatrixRoomUtils.Web
-@using MatrixRoomUtils.Web.Classes
-@using MatrixRoomUtils.Web.Shared
+@using MatrixUtils.Web
+@using MatrixUtils.Web.Classes
+@using MatrixUtils.Web.Shared
 @using ArcaneLibs.Blazor.Components
 @using LibMatrix.Homeservers
 
 @inject NavigationManager NavigationManager
-@inject MRUStorageWrapper MRUStorage
+@inject RMUStorageWrapper RMUStorage
 @inject HomeserverProviderService hsProvider
 @inject TieredStorageService TieredStorage
 @inject HomeserverResolverService hsResolver
diff --git a/MatrixRoomUtils.Web/appsettings.Development.json b/MatrixUtils.Web/appsettings.Development.json
index e203e94..e203e94 100644
--- a/MatrixRoomUtils.Web/appsettings.Development.json
+++ b/MatrixUtils.Web/appsettings.Development.json
diff --git a/MatrixRoomUtils.Web/appsettings.json b/MatrixUtils.Web/appsettings.json
index e203e94..e203e94 100644
--- a/MatrixRoomUtils.Web/appsettings.json
+++ b/MatrixUtils.Web/appsettings.json
diff --git a/MatrixRoomUtils.Web/deps.nix b/MatrixUtils.Web/deps.nix
index 284a9e6..284a9e6 100644
--- a/MatrixRoomUtils.Web/deps.nix
+++ b/MatrixUtils.Web/deps.nix
diff --git a/MatrixRoomUtils.Web/wwwroot/blobfox_outage.gif b/MatrixUtils.Web/wwwroot/blobfox_outage.gif
index 6f1e2ae..6f1e2ae 100644
--- a/MatrixRoomUtils.Web/wwwroot/blobfox_outage.gif
+++ b/MatrixUtils.Web/wwwroot/blobfox_outage.gif
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/app.css b/MatrixUtils.Web/wwwroot/css/app.css
index 3fac9ca..3fac9ca 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/app.css
+++ b/MatrixUtils.Web/wwwroot/css/app.css
diff --git a/MatrixRoomUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css b/MatrixUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css
index 02ae65b..02ae65b 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css
+++ b/MatrixUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css
diff --git a/MatrixRoomUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css.map b/MatrixUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css.map
index 3587e13..3587e13 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css.map
+++ b/MatrixUtils.Web/wwwroot/css/bootstrap/bootstrap.min.css.map
diff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/jetbrains-mono.css b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/jetbrains-mono.css
index 78aedd2..78aedd2 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/jetbrains-mono.css
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/jetbrains-mono.css
diff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Bold.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Bold.woff2
index 4917f43..4917f43 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Bold.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Bold.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-BoldItalic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-BoldItalic.woff2
index 536d3f7..536d3f7 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-BoldItalic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-BoldItalic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBold.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBold.woff2
index 8f88c54..8f88c54 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBold.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBold.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBoldItalic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBoldItalic.woff2
index d1478ba..d1478ba 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBoldItalic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraBoldItalic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLight.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLight.woff2
index b97239f..b97239f 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLight.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLight.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLightItalic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLightItalic.woff2
index be01aac..be01aac 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLightItalic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ExtraLightItalic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Italic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Italic.woff2
index d60c270..d60c270 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Italic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Italic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Light.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Light.woff2
index 6538498..6538498 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Light.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Light.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-LightItalic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-LightItalic.woff2
index 66ca3d2..66ca3d2 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-LightItalic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-LightItalic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Medium.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Medium.woff2
index 669d04c..669d04c 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Medium.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Medium.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-MediumItalic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-MediumItalic.woff2
index 80cfd15..80cfd15 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-MediumItalic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-MediumItalic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Regular.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Regular.woff2
index 40da427..40da427 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Regular.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Regular.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBold.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBold.woff2
index 5ead7b0..5ead7b0 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBold.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBold.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBoldItalic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBoldItalic.woff2
index c5dd294..c5dd294 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBoldItalic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-SemiBoldItalic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Thin.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Thin.woff2
index 17270e4..17270e4 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Thin.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-Thin.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ThinItalic.woff2 b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ThinItalic.woff2
index a643215..a643215 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ThinItalic.woff2
+++ b/MatrixUtils.Web/wwwroot/css/jetbrains-mono/webfonts/JetBrainsMono-ThinItalic.woff2
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/FONT-LICENSE b/MatrixUtils.Web/wwwroot/css/open-iconic/FONT-LICENSE
index a1dc03f..a1dc03f 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/FONT-LICENSE
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/FONT-LICENSE
diff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/ICON-LICENSE b/MatrixUtils.Web/wwwroot/css/open-iconic/ICON-LICENSE
index 2199f4a..2199f4a 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/ICON-LICENSE
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/ICON-LICENSE
diff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/README.md b/MatrixUtils.Web/wwwroot/css/open-iconic/README.md
index 3ee3279..3ee3279 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/README.md
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/README.md
diff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/MatrixUtils.Web/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
index 24fae0c..24fae0c 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
diff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
index f98177d..f98177d 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
index f6bd684..f6bd684 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
index 9d1833e..9d1833e 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
diff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
index fab6048..fab6048 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
index f930998..f930998 100644
--- a/MatrixRoomUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
+++ b/MatrixUtils.Web/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/favicon.png b/MatrixUtils.Web/wwwroot/favicon.png
index 8422b59..8422b59 100644
--- a/MatrixRoomUtils.Web/wwwroot/favicon.png
+++ b/MatrixUtils.Web/wwwroot/favicon.png
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/icon-192.png b/MatrixUtils.Web/wwwroot/icon-192.png
index 166f56d..166f56d 100644
--- a/MatrixRoomUtils.Web/wwwroot/icon-192.png
+++ b/MatrixUtils.Web/wwwroot/icon-192.png
Binary files differdiff --git a/MatrixUtils.Web/wwwroot/icon-512.png b/MatrixUtils.Web/wwwroot/icon-512.png
new file mode 100644
index 0000000..c2dd484
--- /dev/null
+++ b/MatrixUtils.Web/wwwroot/icon-512.png
Binary files differdiff --git a/MatrixRoomUtils.Web/wwwroot/index.html b/MatrixUtils.Web/wwwroot/index.html
index a40f38c..a40f38c 100644
--- a/MatrixRoomUtils.Web/wwwroot/index.html
+++ b/MatrixUtils.Web/wwwroot/index.html
diff --git a/MatrixRoomUtils.Web/wwwroot/rmu.webmanifest b/MatrixUtils.Web/wwwroot/rmu.webmanifest
index 27088c0..27088c0 100644
--- a/MatrixRoomUtils.Web/wwwroot/rmu.webmanifest
+++ b/MatrixUtils.Web/wwwroot/rmu.webmanifest
diff --git a/MatrixRoomUtils.Web/wwwroot/service-worker.js b/MatrixUtils.Web/wwwroot/service-worker.js
index c6d0085..c6d0085 100644
--- a/MatrixRoomUtils.Web/wwwroot/service-worker.js
+++ b/MatrixUtils.Web/wwwroot/service-worker.js
diff --git a/MatrixRoomUtils.Web/wwwroot/service-worker.published.js b/MatrixUtils.Web/wwwroot/service-worker.published.js
index 003e3e7..003e3e7 100644
--- a/MatrixRoomUtils.Web/wwwroot/service-worker.published.js
+++ b/MatrixUtils.Web/wwwroot/service-worker.published.js