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.
This commit is contained in:
@@ -1,34 +1,91 @@
|
||||
# Chat 2
|
||||
#### Electric Boogaloo - ♪ A whole new chat, a new fantastic chat window ♪
|
||||
# Hellion Chat
|
||||
|
||||
Chat 2 is a complete rewrite of the in-game chat window as a plugin.
|
||||
It supports:
|
||||
A GDPR-compliant, Linux-aware fork of [Chat 2](https://github.com/Infiziert90/ChatTwo)
|
||||
for FINAL FANTASY XIV / Dalamud.
|
||||
|
||||
- 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)
|
||||
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`.
|
||||
|
||||
### Chat Window
|
||||

|
||||
## Status
|
||||
|
||||
### With SimpleTweaks "Chat Name Colors"
|
||||

|
||||
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
|
||||
|
||||
### IPC Integration
|
||||
Other plugins can easily integrate their functionality into the context menu of chat2
|
||||
For more infos read [IPC Guide](ipc.md)
|
||||
The upstream maintainer has left filtering-related issues open since 2024
|
||||
([#84](https://github.com/Infiziert90/ChatTwo/issues/84),
|
||||
[#173](https://github.com/Infiziert90/ChatTwo/issues/173),
|
||||
[#174](https://github.com/Infiziert90/ChatTwo/issues/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.
|
||||
|
||||
### Thanks to
|
||||
The original dev Anna~
|
||||
## Build
|
||||
|
||||
```bash
|
||||
# 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`.
|
||||
|
||||
Reference in New Issue
Block a user