Introduce an opt-out channel whitelist so the database only persists
messages from channels the user explicitly wants to keep. Default
profile follows GDPR data minimization: own conversations only
(Tells, Party, FC, Linkshells, Cross-World Linkshells, Alliance,
ExtraChat). Public chat (Say/Shout/Yell), Novice Network, NPC
dialogue and system logs are dropped by default.
The filter sits inside MessageStore.UpsertMessage so any current or
future write path is covered uniformly. Configuration provides an
IsAllowedForStorage(ChatType) helper plus a "persist unknown
channels" failsafe (default off) for ChatTypes added by future
patches.
A new Privacy settings tab exposes the whitelist as grouped
checkboxes with three preset buttons (Privacy-First, Clear all,
Select all). Configuration version bumps from 6 to 7; existing
users are migrated to the Privacy-First defaults on first load
and notified once via the Dalamud notification manager.
Also includes a small .env.example and gitignore hygiene for local
development setup.
- Plugin commands trigger the command helper window now
- Fix auto translation with empty text appearing
- Switch up all dalamud payload usage to ROSS if possible
- Prepare 7.5 changes
- Cleanup
The Race, Tribe and BuddyAction sheets were skipped as the default
behavior was to include rows from `0..^0` if no range was specified in
the Completion sheet. That range would usually include everything, but
since the ranges were iterated over as integers there is no "last" index
so `^0` equals zero.
Also preloads the AutoTranslate cache on plugin load in a new thread to
avoid a hitch when sending the first message. This behavior is disabled
in DEBUG builds to make profiling easier.
- Replace LiteDB database engine with Sqlite
Note: old databases will not be deleted
- Message duplication detection improvements
- Tolerate parse errors in release builds, log them