feat: implement end-to-end encryption for room keys with secure storage and migration support

This commit is contained in:
HueByte
2026-07-16 18:47:28 +02:00
parent b6c01dab15
commit e439c8ae72
13 changed files with 531 additions and 26 deletions
@@ -9,6 +9,9 @@ public static class ConfigManager
private static readonly string ConfigPath = Path.Combine(ConfigDir, "config.json");
/// <summary>Directory holding the client config and local key material.</summary>
public static string ConfigDirectory => ConfigDir;
// Load-mutate-save cycles run from both the UI thread and background tasks
// (token refresh, room keys, last-read checkpoints) — serialize file access.
private static readonly Lock FileLock = new();