@page "/Dev/Options"
@using ArcaneLibs.Extensions
@using System.Text
@using System.Text.Json
@inject NavigationManager NavigationManager
@inject IJSRuntime JSRuntime
@inject TieredStorageService TieredStorage
Developer options
Rory&::MatrixUtils - Developer options
Import local storage:
Export local storage:
Manage local sessions
@if (userSettings is not null) {
}
@code {
private RmuSessionStore.Settings? userSettings { get; set; }
protected override async Task OnInitializedAsync() {
await (Task)typeof(RmuSessionStore).GetMethod("LoadStorage", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)
?.Invoke(sessionStore, [true])!;
await foreach (var _ in sessionStore.TryGetAllHomeservers()) { }
await (Task)typeof(RmuSessionStore).GetMethod("SaveStorage", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)
?.Invoke(sessionStore, [true])!;
}
private async Task LogStuff() {
await Task.Delay(100);
Console.WriteLine($"Settings: {userSettings.ToJson()}");
await TieredStorage.DataStorageProvider.SaveObjectAsync("rmu.settings", userSettings);
}
private async Task ExportLocalStorage() {
var keys = await TieredStorage.DataStorageProvider.GetAllKeysAsync();
var data = new Dictionary();
foreach (var key in keys) {
data.Add(key, await TieredStorage.DataStorageProvider.LoadObjectAsync