Files
HellionChat/README.md
T
JonKazama-Hellion c285dcb0a0 Polish: README, AI disclosure, scoped Hellion ImGui style
Replace the inherited upstream README with a Hellion-specific one
that lists the privacy/retention/cleanup/export features, links to
upstream and the relevant unanswered filtering issues, documents
the EUPL-1.2 license relationship, and acknowledges Infi & Anna for
the Chat 2 engine that everything builds on.

Add AI_DISCLOSURE.md with the goatcorp Pair classification, an
explicit list of what AI is and is not used for in this fork
(translations, visual assets and license-sensitive boundaries are
handled by the maintainer), and the tooling list. Drops in before
v0.1 so it's already in place when the repo goes public.

HellionStyle.Push() returns a disposable bundle of ImGui color
pushes (cyan-teal accents on a deep-slate frame with steel
borders) and pops them in reverse on Dispose. Privacy tab and the
first-run wizard wrap their Draw with `using var _style =
HellionStyle.Push()` so only Hellion-owned surfaces get the
HUD-flavored palette while upstream Chat 2 tabs render in their
original style — important so cherry-picks from upstream don't
fight with our color overrides.
2026-05-01 21:00:07 +02:00

3.8 KiB

Hellion Chat

A GDPR-compliant, Linux-aware fork of Chat 2 for FINAL FANTASY XIV / Dalamud.

Same chat replacement you know from upstream, with extra controls for what actually gets stored:

  • Channel whitelist for database persistence (GDPR Art. 25 — privacy by default). Out-of-the-box only your own conversations are kept: Tells, Party, Free Company, Linkshells, Cross-World Linkshells, Alliance, ExtraChat. Public chat from strangers (Say/Shout/Yell), Novice Network, NPC dialogue, system spam and battle messages stay outside the database unless you opt them in.
  • Per-channel retention with a 24-hour idempotent background sweep. Tells default to 365 days, own-conversation channels to 90, the global default to 30. Off until you switch it on — the plugin never deletes history without your explicit consent.
  • Retroactive cleanup with a Ctrl+Shift confirm. Apply the current whitelist to an existing 800-MB+ database, watch it shrink to MBs, all on a background thread.
  • Export to Markdown, JSON or CSV (GDPR Art. 15 right of access). Filter by channel, date range or sender substring; written via Dalamud's file dialog without blocking the UI.
  • First-run wizard with three profiles (Privacy-First / Casual / Full History) that maps to concrete configuration sets. Reopenable from the Privacy tab any time.
  • Independent plugin state. Config and database live under pluginConfigs/HellionChat/, completely separate from upstream Chat 2 — you can run both side by side, or migrate from Chat 2 once and keep going.
  • Migration recovery. Heals databases left in a half-applied Migrate3 state (columns added, user_version never bumped) without needing the backup file upstream creates.
  • Localized UI (EN + DE). All Hellion-specific surfaces follow Dalamud's language override and switch live. Translations live in Resources/HellionStrings.<lang>.resx.

Status

Bootstrap (v0.1.x). Used in production on a single user's setup. Not (yet) submitted to the official Dalamud plugin repository — distributed as a custom-repo / dev-plugin while the architecture stabilises.

Why a fork

The upstream maintainer has left filtering-related issues open since 2024 (#84, #173, #174). The original design treats the database as an unlimited searchable archive of everything the chat window sees, which is fine in the US-/JP-shaped privacy mindset but hard to reconcile with EU GDPR data minimization rules when the archive contains messages from third parties.

Forking under EUPL-1.2 is explicitly permitted, the upstream stays authoritative for the chat-replacement engine, and we cherry-pick relevant upstream bugfixes from Infiziert90/ChatTwo periodically.

Build

# Linux with XIVLauncher Core
cp .env.example .env
# adjust DALAMUD_HOME if your hooks live somewhere else
set -a; source .env; set +a
dotnet build ChatTwo/ChatTwo.csproj

The output assembly is ChatTwo/bin/Debug/HellionChat.dll. Add the parent directory as a Dev Plugin Location in Dalamud's experimental settings.

Branding assets

ChatTwo/images/icon.png is the upstream Chat 2 icon and stays in place until a hand-drawn Hellion logo replaces it. No AI-generated artwork — ever.

License

EUPL-1.2 (same as upstream Chat 2). See LICENCE.

Acknowledgments

  • Infi & Anna (ascclemens) — original Chat 2 engine, filtering, IPC, all the heavy lifting before this fork existed.
  • Dalamud team — the plugin framework underneath everything.
  • JonKazama-Hellion — fork maintenance, privacy/retention/export features, German localization.

AI assistance disclosure

See AI_DISCLOSURE.md.