68c7185ceae8808d44027e083fb7a8c9c7230674
Privacy filter trimmed history "by what" — this adds the time axis. Each ChatType gets its own retention window in days; channels without an explicit override fall back to a configurable global default. The master switch defaults to OFF: the plugin never deletes history without explicit user consent. MessageStore.DeleteByRetentionPolicy builds an OR'd WHERE clause over (ChatType = X AND Date < cutoff_X) plus a NOT IN catch-all for the global default, hard-deletes matches, and only runs VACUUM when something was actually removed. Plugin.RunRetentionSweepIfDue runs at most once per 24 hours on a background thread (off the load path) and persists the timestamp so subsequent restarts skip the sweep until enough time has passed. The Privacy tab gains a retention section with the master switch, default-days input, per-channel override tree, reset buttons, and a Ctrl+Shift "apply now" action that mirrors the auto-sweep but on demand. Spec defaults: Tells 365 days, own-conversation channels (Party, Cross-Party, Alliance, PvP Team, FC, Linkshells 1-8, Cross-World Linkshells 1-8, ExtraChat 1-8) 90 days, fallback 30 days.
Chat 2
Electric Boogaloo - ♪ A whole new chat, a new fantastic chat window ♪
Chat 2 is a complete rewrite of the in-game chat window as a plugin. It supports:
- Unlimited tabs
- Tabs that always send to a certain channel
- More flexible filtering
- RGB channel colouring
- Completely variable font size
- Sidebar tabs
- Unread counts
- Emotes
- Screenshot mode (obfuscate names)
Chat Window
With SimpleTweaks "Chat Name Colors"
IPC Integration
Other plugins can easily integrate their functionality into the context menu of chat2 For more infos read IPC Guide
Thanks to
The original dev Anna~

