Add first-run wizard with three privacy profiles
Fresh installs now open a setup window on first plugin load that asks the user to pick one of three starting profiles. Existing ChatTwo users keep skipping the wizard because the v6→v7 migration sets Configuration.FirstRunCompleted = true on the same pass that seeds the Privacy-First defaults — they already saw the migration notification and can reopen the wizard from the Privacy tab if they want to choose differently. The three profiles map to concrete configuration sets: Privacy-First (recommended): own-conversation whitelist (30 channels), retention enabled with the spec defaults (Tells 365 days, own-conversation channels 90, fallback 30). Casual: Privacy-First plus public chat (Say/Shout/Yell, both emote types, Novice Network) with a 1-day retention window so RP players can scroll back the last scene without keeping third-party speech forever. Full History: filter off, retention off, GDPR warning shown inline. Behaves like upstream Chat 2. The wizard window is non-modal but covers a wide layout (three side-by-side cards) and closing it without picking anything is treated as accepting whatever defaults are already in place. The Privacy tab gains a "show wizard again" button at the top so the choice is reversible.
This commit is contained in:
@@ -52,6 +52,7 @@ public sealed class Plugin : IDalamudPlugin
|
||||
public InputPreview InputPreview { get; }
|
||||
public CommandHelpWindow CommandHelpWindow { get; }
|
||||
public SeStringDebugger SeStringDebugger { get; }
|
||||
public FirstRunWizard FirstRunWizard { get; }
|
||||
public DebuggerWindow DebuggerWindow { get; }
|
||||
|
||||
internal Commands Commands { get; }
|
||||
@@ -124,6 +125,11 @@ public sealed class Plugin : IDalamudPlugin
|
||||
Config.PrivacyFilterEnabled = true;
|
||||
Config.PrivacyPersistChannels = [..Privacy.PrivacyDefaults.PrivacyFirstWhitelist];
|
||||
Config.PrivacyPersistUnknownChannels = false;
|
||||
// Existing ChatTwo users skip the first-run wizard — the
|
||||
// migration toast already explains what changed and they
|
||||
// can reopen the wizard from Settings → Privacy if they
|
||||
// want to pick a different profile.
|
||||
Config.FirstRunCompleted = true;
|
||||
Config.Version = 7;
|
||||
SaveConfig();
|
||||
|
||||
@@ -168,6 +174,7 @@ public sealed class Plugin : IDalamudPlugin
|
||||
CommandHelpWindow = new CommandHelpWindow(ChatLogWindow);
|
||||
SeStringDebugger = new SeStringDebugger(this);
|
||||
DebuggerWindow = new DebuggerWindow(this);
|
||||
FirstRunWizard = new FirstRunWizard(this);
|
||||
|
||||
WindowSystem.AddWindow(ChatLogWindow);
|
||||
WindowSystem.AddWindow(SettingsWindow);
|
||||
@@ -176,6 +183,12 @@ public sealed class Plugin : IDalamudPlugin
|
||||
WindowSystem.AddWindow(CommandHelpWindow);
|
||||
WindowSystem.AddWindow(SeStringDebugger);
|
||||
WindowSystem.AddWindow(DebuggerWindow);
|
||||
WindowSystem.AddWindow(FirstRunWizard);
|
||||
|
||||
// Open the wizard on a fresh install. Existing ChatTwo users have
|
||||
// FirstRunCompleted set to true by the v6→v7 migration above.
|
||||
if (!Config.FirstRunCompleted)
|
||||
FirstRunWizard.IsOpen = true;
|
||||
|
||||
FontManager.BuildFonts();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user