Closes the remaining gaps in GitHub's community-standards check, adds explicit privacy and dependency documentation matching the plugin's "DSGVO-by-design" claim, and removes the stale upstream Crowdin artefact so the repo no longer suggests it ships its own translation pipeline. New community-health files: - CODE_OF_CONDUCT.md: project-specific, short and direct, single reporting path to kontakt@hellion-media.de - CONTRIBUTING.md: scope, accepted vs declined contributions, build and test instructions, EUPL-1.2 contribution terms, translation policy split between Hellion-specific (here) and upstream strings (Chat 2 repo) - SUPPORT.md: routing for bugs, security, privacy and casual feedback - .github/PULL_REQUEST_TEMPLATE.md: summary, change-type checklist, testing notes, compatibility notes for migrations and manifest fields, contribution checklist - .github/FUNDING.yml: comments-only file, no platforms enabled, points donors at the upstream Chat 2 maintainers' Ko-fi pages New privacy and compliance documentation: - PRIVACY.md: what the plugin stores locally (config, SQLite, EmoteCacheV1), retention defaults, the two outbound network calls (BetterTTV API+CDN with ShowEmotes opt-out, Square Enix Lodestone font once-off), explicit no-telemetry statement, GDPR Art. 15/17/18/20/21 rights mapped to plugin features, third-party privacy-policy links - THIRD_PARTY_NOTICES.md: direct NuGet dependencies with versions pinned to v0.5.4 (MessagePack, Microsoft.Data.Sqlite, morelinq, Pidgin, SixLabors.ImageSharp under Six Labors Split License 1.0), Dalamud SDK and .NET tooling, bundled Exo 2 font (OFL-1.1) and plugin icon, network-touch status per component, re-audit commands Crowdin cleanup: - crowdin.yml deleted (was upstream Chat 2's project_id 663694, pointed at /ChatTwo/Resources/Language.resx, never wired to HellionChat strings) - README, CONTRIBUTING and CODE_OF_CONDUCT no longer suggest HellionChat operates a Crowdin project; remaining mentions are explicitly framed as upstream Chat 2's workflow Contact and version consistency: - Maintainer email switched from maintainer@hellion-media.de to kontakt@hellion-media.de in SECURITY.md and NOTICE.md - README version references updated to 0.5.4 (header, project status block) and the update-tag pattern generalised from v0.1.x to v0.X.Y - bug_report.yml version placeholder bumped to 0.5.4 - Project-documents table added to README footer linking all health and reference files in one place Release-body automation: - .github/workflows/release.yml now extracts the matching version block from ChatTwo/HellionChat.yaml's changelog and combines it with a static install / docs footer (custom-repo URL, project document links, licence) before passing the result to softprops/action-gh-release@v3 via body_path - Workflow fails fast if no changelog block exists for the tagged version, automating the existing "yaml + repo.json + release body kept in sync" rule - Tag value passed via env: TAG_NAME with strict ^v\d+\.\d+\.\d+$ validation before any string concatenation, so the tag input cannot break out into shell evaluation
4.2 KiB
Notice
Acknowledgements
HellionChat is a fork of Chat 2 by Infiziert90 (Infi) and Anna Clemens, both of whom kept that plugin running and maintained for years before I ever opened the source. Without their work this fork would not exist, full stop. I owe them the architecture, the message store, the channel filtering, the sidebar tab system, the hooks into FFXIV's chat, the localisation infrastructure, and countless small decisions that I only noticed because they had already been made correctly.
If you find HellionChat useful, please remember that the foundation came from Chat 2. The code Anna and Infi wrote is doing most of the heavy lifting in this fork too.
A direct word to Infi and Anna
Hi. I am Florian (Flo, also Jon Kazama in-game on Phoenix). I forked Chat 2 because I wanted a privacy-by-default version for my own use case and a small group of friends I play with, not because I thought I could do anything better than what you built. The opposite is true. ChatTwo's default of full history and cross-character logging is the right call for most users. I just have a different threat model and a different data-handling philosophy that fits a smaller, locally-stored, retention- limited approach.
What HellionChat adds is mostly Hellion-specific surface area: a privacy filter, per-channel retention windows, an export pipeline, an Auto-Tell- Tabs feature for FFXIV club greeters, the Hellion theme and font, German localisation, and a settings UX rebuild. None of it touches the bones of what you built. Where I had to modify your code I tried to keep the edits minimal, isolated to clearly-marked Hellion files, and reversible.
Concrete example: when API 15 hit, I cherry-picked your fix for the
BetterTTV emote regression with git cherry-pick -x so authorship and
co-author trail stay intact. That is the standard I want to keep using as
long as both projects are alive. You should never have to look at this
fork and wonder if I quietly ate your work.
If anything in this fork ever steps on something you would not be okay with, please reach out and I will fix it. Genuinely. The list of contacts is below.
Maintainer contact
If something in HellionChat causes problems, especially if it relates back to Chat 2 or to anything Infi or Anna would want flagged:
- GitHub Issues: JonKazama-Hellion/HellionChat/issues
- Discord:
@j.j_kazama - Email (business): kontakt@hellion-media.de
I respond on weekdays during European business hours. For anything urgent (security, attribution, takedown), email is the fastest path.
Why this fork is not upstreamed
The privacy-by-default position fits a small audience. ChatTwo's full-history-by-default position fits a much larger one, including the roleplaying community where chat archive is part of the play experience. Trying to upstream HellionChat's defaults would have meant arguing that Chat 2's defaults are wrong, and they are not. They are right for the user base ChatTwo serves. So I keep the fork separate, attribute clearly, and pull selected upstream patches when they apply.
Why HellionChat left the GitHub fork network
The Dalamud plugin ecosystem treats the GitHub-Fork relation as a signal that a fork is either a development branch or a dead mirror. HellionChat is neither. It is an independently-maintained EUPL-1.2 fork with its own release cadence, its own custom repo, its own user base. Detaching the fork-network relation just makes the situation honest. The git history, the cherry-pick trail, and the attribution stay exactly the same. The only thing that changes is the GitHub UI no longer says "forked from".
Trademarks and naming
"Chat 2" and "ChatTwo" are the names Infi and Anna chose for the upstream plugin. HellionChat does not use either of those names in user-facing copy except where required to describe origin (settings tab, manifest, this file, the README). The Hellion brand is mine.
Questions
This file is the canonical place for "is this attribution correct, is the maintainer reachable, is the relationship to Chat 2 documented". If anything in here is wrong, please open an issue or contact me directly.