diff --git a/HellionChat/Privacy/PrivacyDefaults.cs b/HellionChat/Privacy/PrivacyDefaults.cs index ae5f569..22f5c17 100644 --- a/HellionChat/Privacy/PrivacyDefaults.cs +++ b/HellionChat/Privacy/PrivacyDefaults.cs @@ -114,4 +114,29 @@ internal static class PrivacyDefaults [ChatType.StandardEmote] = 1, [ChatType.NoviceNetwork] = 1, }; + + // Roleplay: Privacy-First + Say + both emote types. Public-distance + // channels (Shout, Yell) stay out — they are public-noise from + // strangers, not story content. Novice Network also stays out; + // it is not RP-adjacent and would dilute the profile's intent. + internal static readonly IReadOnlySet RoleplayWhitelist = new HashSet( + PrivacyFirstWhitelist + ) + { + ChatType.Say, + ChatType.CustomEmote, + ChatType.StandardEmote, + }; + + // RP sessions function as story logs: Say + emotes need a longer + // window than Casual's 1-day public-chat window. 30 days for Say + // keeps in-character dialogue scrollable across multiple sessions, + // 90 days for emotes mirrors the Privacy-First conversation default. + internal static readonly IReadOnlyDictionary RoleplayRetentionOverrides = + new Dictionary + { + [ChatType.Say] = 30, + [ChatType.CustomEmote] = 90, + [ChatType.StandardEmote] = 90, + }; }