Added a settings field storing user values before configuration plugins take them over

This commit is contained in:
Thorsten Sommer 2026-08-09 20:23:26 +02:00
parent e18557b7fa
commit db970ce780
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -68,6 +68,18 @@ public sealed class Data
/// </summary>
public Dictionary<string, Guid> ManagedLockedConfigurations { get; set; } = [];
/// <summary>
/// The value each managed setting had before a configuration plugin took it over, as JSON.
/// </summary>
/// <remarks>
/// A configuration plugin might be removed later, e.g. when a test configuration ends or when an
/// organization withdraws its configuration. The value the user had chosen before belongs to the
/// user, so we keep it here and restore it instead of falling back to the app's default value.
/// The snapshot is taken once, when a setting becomes managed, and is consumed when no
/// configuration plugin manages that setting anymore.
/// </remarks>
public Dictionary<string, string> ManagedUserValueSnapshots { get; set; } = [];
/// <summary>
/// Cached audit results for assistant plugins.
/// </summary>