From 59332ce9ea725fcdc2f6f6a7e63b7d323e708f26 Mon Sep 17 00:00:00 2001 From: JonKazama-Hellion Date: Sat, 2 May 2026 03:50:08 +0200 Subject: [PATCH] Move About-tab copy to HellionStrings and rephrase neutrally MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The About tab copy was hand-written in English directly in About.cs, which left the German users on the upstream Chat 2 wording for the Hellion-specific blocks. The copy itself also leaned on em-dashes mid-sentence and on a tone that could read as accusing Chat 2 of GDPR violations, which was never the intent. This commit moves the six About-tab sections (Maintainer, Why this fork exists, Built on Chat 2, License, FFXIV disclaimer, Localization) into HellionStrings and tightens the wording in both languages. Tone change is the substantive part. Chat 2's full-history default is now described as "the right one for most users" rather than a problem the fork is fixing, and the webinterface removal is framed as a focus mismatch — Chat 2's webinterface targets remote chat access from a second device, this fork targets a smaller default footprint, neither approach is wrong. The personal trigger for the fork (two million logged messages over two years, mostly /say and /yell from strangers) stays as it is honest context rather than criticism. The same neutralised wording is mirrored in three more places that described the webinterface removal: the README "Was gegenüber Chat 2 fehlt" block, the HellionChat.yaml description and changelog, and the matching repo.json fields. The 0.2.0 changelog no longer recites the upstream auth-flow internals; "different use case, substantial rebuild, removed" is enough for users. Em-dashes were also removed from two body strings that previously used them as comma replacements (Privacy filter storage-only help and the retention default description). Heading-level dashes ("Hellion Chat — Welcome", "Export (GDPR Art. 15 — right of access)") stay because dashes are appropriate as separators in titles. The Theme description was already inaccurate — it still talked about slate-violet tabs and amber highlights even though the brand sweep moved everything onto Arctic Cyan plus Ember Orange. Updated to describe the current palette honestly. --- ChatTwo/HellionChat.yaml | 27 +++---- ChatTwo/Resources/HellionStrings.Designer.cs | 23 ++++++ ChatTwo/Resources/HellionStrings.de.resx | 74 ++++++++++++++++++- ChatTwo/Resources/HellionStrings.resx | 78 +++++++++++++++++++- ChatTwo/Ui/SettingsTabs/About.cs | 55 +++++++------- README.md | 2 +- repo.json | 4 +- 7 files changed, 212 insertions(+), 51 deletions(-) diff --git a/ChatTwo/HellionChat.yaml b/ChatTwo/HellionChat.yaml index b6efb1e..40e6d4f 100755 --- a/ChatTwo/HellionChat.yaml +++ b/ChatTwo/HellionChat.yaml @@ -3,12 +3,12 @@ author: JonKazama-Hellion punchline: Chat 2 with privacy controls aligned to EU, US and JP rules description: |- Hellion Chat is built on top of Chat 2 with one removal and a stack - of privacy controls on top. The /chat2 command, tabs, channel - filters, RGB colours, emotes, screenshot mode, IPC integration and - the chat replacement window itself work the same. The optional - webinterface that Chat 2 ships is intentionally not part of this - fork because it could not be hardened to the privacy guarantees - Hellion Chat makes by default. + of privacy controls on top. Tabs, channel filters, RGB colours, + emotes, screenshot mode, IPC integration and the chat replacement + window itself work the same. The optional webinterface that Chat 2 + ships is intentionally not part of this fork because it serves a + different use case from the smaller default footprint Hellion Chat + is built around. On top of that, Hellion Chat adds privacy and data-handling controls designed to align with the modern data protection rules that apply @@ -42,15 +42,12 @@ tags: changelog: |- **Hellion Chat 0.2.0 — Webinterface removed** - Following an internal security and consistency audit the upstream - webinterface has been removed in its entirety. Hardening it to the - privacy guarantees Hellion Chat makes by default would have meant - rewriting the auth flow (the upstream code uses a five-digit - numeric code from System.Random), changing the default bind address - (currently every interface), reworking cookie handling and adding - the privacy filter to the live message stream that the webinterface - was broadcasting around it. The cumulative cost did not match the - niche use case for a fork that wants less network surface, not more. + The upstream webinterface has been removed in its entirety. It + serves a different use case from the smaller default footprint + this fork is built around, namely remote access to chat from a + second device. Aligning it with the data minimisation defaults + Hellion Chat ships with would have meant a substantial rebuild. + Removing it was the cleaner path for this particular fork. What changed in this release: diff --git a/ChatTwo/Resources/HellionStrings.Designer.cs b/ChatTwo/Resources/HellionStrings.Designer.cs index 548ce72..02e9289 100644 --- a/ChatTwo/Resources/HellionStrings.Designer.cs +++ b/ChatTwo/Resources/HellionStrings.Designer.cs @@ -141,4 +141,27 @@ internal class HellionStrings internal static string Theme_WindowOpacity_Help => Get(nameof(Theme_WindowOpacity_Help)); internal static string Theme_UseHellionFont_Name => Get(nameof(Theme_UseHellionFont_Name)); internal static string Theme_UseHellionFont_Description => Get(nameof(Theme_UseHellionFont_Description)); + + internal static string About_Maintainer_Heading => Get(nameof(About_Maintainer_Heading)); + internal static string About_Maintainer_Body => Get(nameof(About_Maintainer_Body)); + internal static string About_Maintainer_Website_Label => Get(nameof(About_Maintainer_Website_Label)); + internal static string About_Mission_Heading => Get(nameof(About_Mission_Heading)); + internal static string About_Mission_P1 => Get(nameof(About_Mission_P1)); + internal static string About_Mission_P2 => Get(nameof(About_Mission_P2)); + internal static string About_Mission_P3 => Get(nameof(About_Mission_P3)); + internal static string About_BuiltOn_Heading => Get(nameof(About_BuiltOn_Heading)); + internal static string About_BuiltOn_P1 => Get(nameof(About_BuiltOn_P1)); + internal static string About_BuiltOn_P2 => Get(nameof(About_BuiltOn_P2)); + internal static string About_BuiltOn_Upstream_Label => Get(nameof(About_BuiltOn_Upstream_Label)); + internal static string About_License_Heading => Get(nameof(About_License_Heading)); + internal static string About_License_P1 => Get(nameof(About_License_P1)); + internal static string About_License_P2 => Get(nameof(About_License_P2)); + internal static string About_License_P3 => Get(nameof(About_License_P3)); + internal static string About_SE_Heading => Get(nameof(About_SE_Heading)); + internal static string About_SE_P1 => Get(nameof(About_SE_P1)); + internal static string About_SE_P2 => Get(nameof(About_SE_P2)); + internal static string About_Localization_Heading => Get(nameof(About_Localization_Heading)); + internal static string About_Localization_P1 => Get(nameof(About_Localization_P1)); + internal static string About_Localization_P2 => Get(nameof(About_Localization_P2)); + internal static string About_Translators_TreeNode => Get(nameof(About_Translators_TreeNode)); } diff --git a/ChatTwo/Resources/HellionStrings.de.resx b/ChatTwo/Resources/HellionStrings.de.resx index f7253cc..d13339b 100644 --- a/ChatTwo/Resources/HellionStrings.de.resx +++ b/ChatTwo/Resources/HellionStrings.de.resx @@ -280,7 +280,7 @@ Hellion-Theme für alle Plugin-Fenster verwenden - Industrielle HUD-Palette mit cyan-blauen Aktionsfarben, schiefer-violetten Tabs und Bernstein-Akzenten für aktive Zustände, global angewendet auf Chat-Fenster, Einstellungen, Viewer und Wizard. Deaktivieren, um das Standard-Dalamud-Erscheinungsbild zu nutzen. + Hellion-Online-Media-Palette aus Arctic Cyan und Ember Orange, angewendet auf Chat-Fenster, Einstellungen, Viewer und Wizard. Deaktivieren, um das Standard-Dalamud-Erscheinungsbild zu nutzen. Fenster-Deckkraft @@ -294,4 +294,76 @@ Rendert Chat und UI in Exo 2 (SIL Open Font License 1.1), die mit dem Plugin ausgeliefert wird. Deaktivieren, um auf die unter Einstellungen → Schrift gewählte Schriftart zurückzufallen. + + + Maintainer + + + Ich pflege Hellion Chat über Hellion Online Media. Auf der Website findest du die Kontaktdaten für lizenzrechtliche, rechtliche oder geschäftliche Fragen. + + + Website: + + + + Warum es diesen Fork gibt + + + Hellion Chat soll Chat 2 nicht ersetzen. Chat 2 liefert ein vollständiges Chat-Erlebnis mit kompletter Historie, die für Filter, Suche und Replay zur Verfügung steht. Dieser Default ist für die meisten Nutzer der richtige. Dieser Fork wählt einen anderen Ansatz: einen kleineren Default-Footprint, mit zusätzlichen Stellschrauben für Nutzer, die weniger fremden Chat auf der Festplatte behalten möchten. + + + Der Wunsch nach diesem engeren Default war persönlich. Nach zwei Jahren mit Chat 2 lag meine Datenbank bei über zwei Millionen Nachrichten, der Großteil davon /say, /shout und /yell von Fremden in Limsa. Genau diese Daten machen Chat 2's Voll-Historie nützlich, und die meisten Nutzer behalten sie gerne. Mein eigener Geschmack wollte einen kleineren Default. Also habe ich diesen Fork gebaut. + + + Ich strebe keine große Zielgruppe an, und der Fork steht nicht in Konkurrenz zu Chat 2. Der Code liegt offen unter derselben EUPL-1.2-Lizenz wie das Original. Infi, Anna oder sonst jemand dürfen reinschauen, Ideen mitnehmen, Fragen stellen oder das Projekt einfach ignorieren. Alles drei ist für mich in Ordnung. + + + + Aufbauend auf Chat 2 + + + Hellion Chat ist ein Fork von Chat 2 von Infi und Anna (ascclemens). Das Chat-Replacement-Fenster, die IPC-Integration, die Render-Engine und der komplette Storage-Kern stammen aus dem Original. + + + Das Webinterface ist das einzige größere Teil, das ich entfernt habe. Es ist für den Remote-Zugriff auf den Chat von einem zweiten Gerät gebaut, also für einen anderen Fokus als der kleinere Default-Footprint, den dieser Fork verfolgt. Es an diese Defaults anzupassen hätte einen erheblichen Umbau bedeutet, also war die Entfernung der saubere Weg für genau diesen Fork. + + + Upstream-Repository: + + + + Lizenz + + + Hellion Chat und Chat 2 stehen beide unter der European Union Public Licence v1.2 (EUPL-1.2). + + + © 2023 bis 2026, die Chat-2-Autoren (Infi, Anna und die Upstream-Mitwirkenden). + + + © 2026 Hellion Online Media für die Erweiterungen in diesem Fork. + + + + FINAL FANTASY XIV-Hinweis + + + FINAL FANTASY XIV © SQUARE ENIX CO., LTD. Alle Rechte vorbehalten. + + + Hellion Chat ist ein inoffizielles Fan-Plugin. Es steht in keiner Verbindung zu Square Enix und wird von ihnen weder unterstützt, gesponsert noch genehmigt. + + + + Lokalisierung + + + Die deutschen Übersetzungen der Hellion-spezifischen Strings stammen von mir. Weitere Sprachen sind aktuell nicht verfügbar. + + + Die Übersetzerliste weiter unten gehört zu den Chat-2-Strings auf Crowdin. Diese Freiwilligen haben Chat 2 übersetzt, nicht die Hellion-Erweiterungen. + + + Chat-2-Community-Übersetzer (Upstream) + diff --git a/ChatTwo/Resources/HellionStrings.resx b/ChatTwo/Resources/HellionStrings.resx index 46f7722..52c1d43 100644 --- a/ChatTwo/Resources/HellionStrings.resx +++ b/ChatTwo/Resources/HellionStrings.resx @@ -22,7 +22,7 @@ When enabled, only messages from whitelisted channels are persisted to the database. Disabling restores upstream ChatTwo behavior (everything except battle messages is stored). - The filter only controls what is written to the local database. The chat log itself keeps showing every message live — disallowed channels just stop being saved. Use the channel hide options in your in-game chat tabs if you want to remove channels from the visible chat. + The filter only controls what is written to the local database. The chat log itself keeps showing every message live, disallowed channels just stop being saved. Use the channel hide options in your in-game chat tabs if you want to remove channels from the visible chat. Pick which channels are stored in the local database. Privacy-First default: only your own conversations. Use the buttons below to apply a preset. @@ -124,7 +124,7 @@ Auto-delete messages after a per-channel retention window - When enabled, messages older than the configured window are deleted on every plugin start (at most once per 24 hours). Off by default — the plugin never deletes history without your explicit consent. + When enabled, messages older than the configured window are deleted on every plugin start (at most once per 24 hours). Off by default. The plugin never deletes history without your explicit consent. Default retention (days, 0 = never) @@ -280,7 +280,7 @@ Use the Hellion theme across all plugin windows - Industrial HUD palette with cyan-teal action accents, slate-violet tabs and amber active highlights, applied globally to chat log, settings, viewers and the wizard. Disable to fall back to the default Dalamud look. + Hellion Online Media palette of Arctic Cyan plus Ember Orange, applied across the chat log, settings, viewers and the wizard. Disable to fall back to the default Dalamud look. Window opacity @@ -294,4 +294,76 @@ Renders chat and UI in Exo 2 (SIL Open Font License 1.1) which ships with the plugin. Disable to fall back to whatever font you picked under Settings → Fonts. + + + Maintainer + + + I maintain Hellion Chat through Hellion Online Media. The website has the contact details for licensing, legal or business questions. + + + Website: + + + + Why this fork exists + + + Hellion Chat is not trying to replace Chat 2. Chat 2 ships a complete chat experience with full history available for filtering, search and replay. That default is the right one for most users. This fork takes a different stance: a smaller default footprint, with extra knobs for users who want to keep less third-party chat on disk. + + + The reason I wanted that narrower default was personal. After two years on Chat 2 my database had grown past two million messages, most of them /say, /shout and /yell from strangers in Limsa. That data is exactly what makes Chat 2's full-history view powerful and most users are happy to keep it. For my own taste I wanted a smaller default. So I built this fork. + + + I am not chasing a big audience and the fork is not in competition with Chat 2. The code is open under the same EUPL-1.2 licence as the upstream plugin. Infi, Anna or anyone else are welcome to read it, borrow ideas, ask questions, or ignore the project. All three are fine by me. + + + + Built on Chat 2 + + + Hellion Chat is a fork of Chat 2 by Infi and Anna (ascclemens). The chat replacement window, the IPC integration, the rendering engine and the entire storage core come from upstream Chat 2. + + + The webinterface is the only major piece I removed. It is built for remote access to chat from a second device, which is a different focus than the smaller default footprint this fork is built around. Aligning it with these defaults would have meant a substantial rebuild, so removing it was the cleaner path for this particular fork. + + + Upstream repository: + + + + License + + + Hellion Chat and Chat 2 both ship under the European Union Public Licence v1.2 (EUPL-1.2). + + + © 2023 to 2026, the Chat 2 authors (Infi, Anna and the upstream contributors). + + + © 2026 Hellion Online Media for the additions made in this fork. + + + + FINAL FANTASY XIV disclaimer + + + FINAL FANTASY XIV © SQUARE ENIX CO., LTD. All rights reserved. + + + Hellion Chat is an unofficial, fan-made plugin. It has no affiliation with Square Enix and is not endorsed, sponsored or approved by them. + + + + Localization + + + The German translations of the Hellion-specific strings come from me. Other languages are not provided yet. + + + The translator list below covers the upstream Chat 2 strings on Crowdin. Those volunteers translated Chat 2, not the Hellion additions. + + + Chat 2 community translators (upstream) + diff --git a/ChatTwo/Ui/SettingsTabs/About.cs b/ChatTwo/Ui/SettingsTabs/About.cs index 0b44421..43043db 100755 --- a/ChatTwo/Ui/SettingsTabs/About.cs +++ b/ChatTwo/Ui/SettingsTabs/About.cs @@ -60,55 +60,52 @@ internal sealed class About : ISettingsTab ImGuiHelpers.ScaledDummy(10.0f); - // Hellion-specific maintainer / attribution / license / SE- - // disclaimer block. Hand-rolled in English here rather than via - // HellionStrings — the legal-ish copy stays close to the EUPL-1.2 - // wording and the SE disclaimer is the same in every locale. - ImGui.TextColored(ImGuiColors.ParsedGold, "Maintainer"); - ImGui.TextUnformatted("Hellion Chat is maintained by Hellion Online Media (Florian Wathling)."); - ImGui.TextUnformatted("Website:"); + ImGui.TextColored(ImGuiColors.ParsedGold, HellionStrings.About_Maintainer_Heading); + ImGui.TextUnformatted(HellionStrings.About_Maintainer_Body); + ImGui.TextUnformatted(HellionStrings.About_Maintainer_Website_Label); ImGui.SameLine(); if (ImGuiUtil.IconButton(FontAwesomeIcon.ExternalLinkAlt, "hellionMedia")) Dalamud.Utility.Util.OpenLink("https://hellion-media.de"); - ImGui.TextUnformatted("For licensing, legal or contact inquiries please reach out via the website above."); ImGuiHelpers.ScaledDummy(10.0f); - ImGui.TextColored(ImGuiColors.ParsedGold, "Why this fork exists"); - ImGui.TextUnformatted("Hellion Chat is not meant to replace Chat 2 — it is a niche alternative for users who want a privacy-by-default chat persistence layer aligned with EU, US and JP data protection rules."); - ImGui.TextUnformatted("The trigger was a personal one: a two-year Chat 2 database with over two million logged messages, the bulk of them /say, /shout and /yell from strangers in cities. Most plugin users do not mind that data sitting on their disk. I do, so this fork exists."); - ImGui.TextUnformatted("No big audience expected, no competition with the upstream plugin intended. The source is open under the same EUPL-1.2 licence as Chat 2 — Infi, Anna and anyone else are welcome to look at how this fork solves things, take ideas, ask questions or ignore it entirely. All three responses are fine."); + ImGui.TextColored(ImGuiColors.ParsedGold, HellionStrings.About_Mission_Heading); + ImGui.TextUnformatted(HellionStrings.About_Mission_P1); + ImGui.Spacing(); + ImGui.TextUnformatted(HellionStrings.About_Mission_P2); + ImGui.Spacing(); + ImGui.TextUnformatted(HellionStrings.About_Mission_P3); ImGuiHelpers.ScaledDummy(10.0f); - ImGui.TextColored(ImGuiColors.ParsedGold, "Built on Chat 2"); - ImGui.TextUnformatted("Hellion Chat is a fork of Chat 2 by Infi and Anna (ascclemens)."); - ImGui.TextUnformatted("Every chat replacement feature, the IPC integration, the rendering engine and the storage core come from upstream Chat 2."); - ImGui.TextUnformatted("The upstream webinterface is intentionally not part of Hellion Chat — it could not be hardened to the privacy guarantees this fork makes by default."); - ImGui.TextUnformatted("Upstream repository:"); + ImGui.TextColored(ImGuiColors.ParsedGold, HellionStrings.About_BuiltOn_Heading); + ImGui.TextUnformatted(HellionStrings.About_BuiltOn_P1); + ImGui.Spacing(); + ImGui.TextUnformatted(HellionStrings.About_BuiltOn_P2); + ImGui.Spacing(); + ImGui.TextUnformatted(HellionStrings.About_BuiltOn_Upstream_Label); ImGui.SameLine(); if (ImGuiUtil.IconButton(FontAwesomeIcon.ExternalLinkAlt, "chatTwoUpstream")) Dalamud.Utility.Util.OpenLink("https://github.com/Infiziert90/ChatTwo"); ImGuiHelpers.ScaledDummy(10.0f); - ImGui.TextColored(ImGuiColors.ParsedGold, "License"); - ImGui.TextUnformatted("Hellion Chat and Chat 2 are licensed under the European Union Public License v1.2 (EUPL-1.2)."); - ImGui.TextUnformatted("© 2023–2026 the Chat 2 authors (Infi, Anna and the upstream contributors)."); - ImGui.TextUnformatted("© 2026 Hellion Online Media — for the Hellion Chat additions."); + ImGui.TextColored(ImGuiColors.ParsedGold, HellionStrings.About_License_Heading); + ImGui.TextUnformatted(HellionStrings.About_License_P1); + ImGui.TextUnformatted(HellionStrings.About_License_P2); + ImGui.TextUnformatted(HellionStrings.About_License_P3); ImGuiHelpers.ScaledDummy(10.0f); - ImGui.TextColored(ImGuiColors.DalamudOrange, "FINAL FANTASY XIV disclaimer"); - ImGui.TextUnformatted("FINAL FANTASY XIV © SQUARE ENIX CO., LTD. All rights reserved."); - ImGui.TextUnformatted("Hellion Chat is an unofficial, fan-made plugin and is not affiliated with, endorsed, sponsored or approved by Square Enix."); + ImGui.TextColored(ImGuiColors.DalamudOrange, HellionStrings.About_SE_Heading); + ImGui.TextUnformatted(HellionStrings.About_SE_P1); + ImGui.TextUnformatted(HellionStrings.About_SE_P2); ImGui.Spacing(); - ImGui.TextColored(ImGuiColors.ParsedGold, "Localization"); - ImGui.TextUnformatted("German translations of Hellion-specific UI strings (HellionStrings.de.resx) are written by the Hellion Online Media maintainer."); - ImGui.TextUnformatted("All other locales for Hellion-specific strings are not currently provided."); - ImGui.TextUnformatted("The translator list below covers the upstream Chat 2 community translators on Crowdin — their work covers the inherited Chat 2 strings, not the Hellion additions."); + ImGui.TextColored(ImGuiColors.ParsedGold, HellionStrings.About_Localization_Heading); + ImGui.TextUnformatted(HellionStrings.About_Localization_P1); + ImGui.TextUnformatted(HellionStrings.About_Localization_P2); ImGui.Spacing(); @@ -117,7 +114,7 @@ internal sealed class About : ISettingsTab { if (aboutChild) { - using var treeNode = ImRaii.TreeNode("Chat 2 community translators (upstream)"); + using var treeNode = ImRaii.TreeNode(HellionStrings.About_Translators_TreeNode); if (treeNode) { using var translatorChild = ImRaii.Child("translators"); diff --git a/README.md b/README.md index 57fd286..1da86c4 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ Privates Repository, EUPL-1.2-lizenziert. Distribution über Custom-Repo währen ### Was gegenüber Chat 2 fehlt -- **Webinterface** wurde in Hellion Chat 0.2.0 entfernt. Der eingebaute HTTP-Server hat unter dem Privacy-Versprechen nicht abgesichert werden können (5-stelliger numerischer Auth-Code aus `System.Random`, Bind auf alle Interfaces per Default, Cookies ohne Security-Flags und ein Server-Sent-Events-Stream der den Privacy-Filter umgangen hat). Wer den Funktionsumfang von Chat 2 vollständig braucht, sollte beim Upstream-Plugin bleiben; Hellion Chat fokussiert auf DSGVO-konforme Persistenz und verzichtet bewusst auf Remote-Zugriffs-Features. +- **Webinterface** wurde in Hellion Chat 0.2.0 entfernt. Es bedient einen anderen Anwendungsfall als der Fokus dieses Forks, nämlich Remote-Zugriff auf den Chat von einem zweiten Gerät. An die kleineren Defaults dieses Forks anzupassen hätte einen erheblichen Umbau bedeutet, also ist es ersatzlos entfernt worden. Wer den vollen Funktionsumfang von Chat 2 möchte, ist mit dem Upstream-Plugin besser bedient. Hellion Chat fokussiert sich auf einen schmaleren Datenbestand und verzichtet bewusst auf Remote-Zugriffs-Features. --- diff --git a/repo.json b/repo.json index d0a53af..8147520 100644 --- a/repo.json +++ b/repo.json @@ -4,7 +4,7 @@ "Name": "Hellion Chat", "InternalName": "HellionChat", "AssemblyVersion": "0.2.0.0", - "Description": "Hellion Chat is built on top of Chat 2 with one removal and a stack\nof privacy controls on top. The /chat2 command, tabs, channel\nfilters, RGB colours, emotes, screenshot mode, IPC integration and\nthe chat replacement window itself work the same. The optional\nwebinterface that Chat 2 ships is intentionally not part of this\nfork because it could not be hardened to the privacy guarantees\nHellion Chat makes by default.\n\nOn top of that, Hellion Chat adds privacy and data-handling controls\ndesigned to align with the modern data protection rules that apply\nacross the EU, the United States and Japan. By default only your own\nconversations are stored; messages from strangers, NPCs and system\nspam stay out of the database. Retention windows are configurable per\nchannel, history can be wiped retroactively, and stored data can be\nexported on demand.\n\nKey additions on top of Chat 2:\n\n- Channel whitelist with a Privacy-First default\n- Per-channel retention with a daily background sweep\n- Retroactive cleanup with a Ctrl+Shift confirm\n- Export to Markdown, JSON or CSV\n- First-run wizard with three preset profiles (Privacy-First, Casual,\n Full History)\n- Bilingual UI (English and German) with live language switching\n- Independent plugin state — own config file and database directory,\n so Hellion Chat does not share state with the upstream plugin\n\nBased on Chat 2 by Infi and Anna, licensed under EUPL-1.2.", + "Description": "Hellion Chat is built on top of Chat 2 with one removal and a stack\nof privacy controls on top. Tabs, channel filters, RGB colours,\nemotes, screenshot mode, IPC integration and the chat replacement\nwindow itself work the same. The optional webinterface that Chat 2\nships is intentionally not part of this fork because it serves a\ndifferent use case from the smaller default footprint Hellion Chat\nis built around.\n\nOn top of that, Hellion Chat adds privacy and data-handling controls\ndesigned to align with the modern data protection rules that apply\nacross the EU, the United States and Japan. By default only your own\nconversations are stored; messages from strangers, NPCs and system\nspam stay out of the database. Retention windows are configurable per\nchannel, history can be wiped retroactively, and stored data can be\nexported on demand.\n\nKey additions on top of Chat 2:\n\n- Channel whitelist with a Privacy-First default\n- Per-channel retention with a daily background sweep\n- Retroactive cleanup with a Ctrl+Shift confirm\n- Export to Markdown, JSON or CSV\n- First-run wizard with three preset profiles (Privacy-First, Casual,\n Full History)\n- Bilingual UI (English and German) with live language switching\n- Independent plugin state — own config file and database directory,\n so Hellion Chat does not share state with the upstream plugin\n\nBased on Chat 2 by Infi and Anna, licensed under EUPL-1.2.", "ApplicableVersion": "any", "RepoUrl": "https://github.com/JonKazama-Hellion/HellionChat", "Tags": [ @@ -20,7 +20,7 @@ "CanUnloadAsync": false, "LoadPriority": 0, "Punchline": "Chat 2 with privacy controls aligned to EU, US and JP rules", - "Changelog": "**Hellion Chat 0.2.0 — Webinterface removed**\n\nFollowing an internal security and consistency audit the upstream\nwebinterface has been removed in its entirety. Hardening it to the\nprivacy guarantees Hellion Chat makes by default would have meant\nrewriting the auth flow (the upstream code uses a five-digit\nnumeric code from System.Random), changing the default bind address\n(currently every interface), reworking cookie handling and adding\nthe privacy filter to the live message stream that the webinterface\nwas broadcasting around it. The cumulative cost did not match the\nniche use case for a fork that wants less network surface, not more.\n\nWhat changed in this release:\n\n- Settings tab \"Webinterface\" is gone, the corresponding\n Configuration fields (WebinterfaceEnabled / AutoStart / Password /\n Port / AuthStore / MaxLinesToSend) are dropped and stale entries\n fall out of the JSON on the next save automatically\n- The whole ChatTwo/Http tree, the bundled Svelte frontend in\n websiteBuild.zip and the WebinterfaceUtil helper are deleted\n- Watson.Lite (the HTTP server) and Newtonsoft.Json (only used by\n the webinterface JSON wire format) are removed from the\n package references\n- DbViewer's \"Chat2 JSON Export\" button is dropped because it\n serialised the database into the webinterface message protocol;\n the Privacy tab's MessageExporter (Markdown, JSON, CSV with\n channel and date filters) covers the same ground without the\n proprietary shape\n- About tab notes the absence so users coming from Chat 2 do not\n look for it\n- Configuration version bumps from 7 to 8 with a one-shot\n notification (EN + DE)\n\nNo changes to the privacy filter, retention sweep, first-run wizard\nor export pipeline. Existing chat history is preserved.\n\nBased on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).\n\n**Hellion Chat 0.1.2 — About tab rebrand, DBViewer polish**\n\n- About tab now shows Hellion-specific maintainer, license, EU/US/JP\n disclaimer and SQUARE ENIX disclaimer instead of the inherited\n Chat 2 contact info; original ChatTwo translator credits stay\n visible under a clearly labelled upstream tree node\n- Localization clarified: Hellion-specific German strings are\n maintained by the fork maintainer, the Crowdin contributor list\n only covers the inherited upstream strings\n- Cherry-picked DBViewer UI improvements from upstream Chat 2\n (auto-scroll-reset on page change, tooltips on date reset,\n folder export, page arrows, localized export-running messages)\n- README rewritten in the Hellion project style with a tech-stack\n table, architecture tree, database column list, install guide,\n upstream-sync workflow notes and project-status checklist\n\n**Hellion Chat 0.1.1 — Packaging and migration fixes**\n\n- Plugin icon now ships inside the bundle, so the Hellion logo\n renders locally in the Dalamud plugin list once installed (the\n previous release relied only on the remote IconUrl)\n- Plugin icon downsampled from 1024×1024 to 256×256 to match the\n rendered size; loads faster and caches better\n- Migration from upstream Chat 2 is more robust: each file move is\n wrapped individually, a locked SQLite database no longer aborts\n the rest of the migration, and a warning notification fires when\n any file is held open (with a hint to disable Chat 2 and restart\n the game)\n- README ships a step-by-step migration guide (fresh install versus\n coming from Chat 2) and a troubleshooting section with manual\n recovery commands for Linux and Windows\n\n**Hellion Chat 0.1.0 — Initial fork release**\n\nPrivacy\n- Channel whitelist filter in MessageStore.UpsertMessage with a\n Privacy-First default (own conversations only)\n- Per-channel retention with a 24-hour idempotent background sweep\n- Retroactive cleanup with a Ctrl+Shift confirm and VACUUM\n- Export to Markdown / JSON / CSV via Dalamud's file dialog\n\nOnboarding\n- First-run wizard with three profiles: Privacy-First / Casual /\n Full History\n- Configuration migration that seeds defaults on update\n- One-shot migration from upstream Chat 2's pluginConfigs layout\n- Migrate3 idempotency recovery for half-migrated databases\n\nLook & feel\n- Localized UI (English and German) with live language switching\n- Industrial HUD theme with cyan-teal action accents, slate-violet\n tabs, amber active highlights and a window-opacity slider\n\nBased on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).", + "Changelog": "**Hellion Chat 0.2.0 — Webinterface removed**\n\nThe upstream webinterface has been removed in its entirety. It\nserves a different use case from the smaller default footprint\nthis fork is built around, namely remote access to chat from a\nsecond device. Aligning it with the data minimisation defaults\nHellion Chat ships with would have meant a substantial rebuild.\nRemoving it was the cleaner path for this particular fork.\n\nWhat changed in this release:\n\n- Settings tab \"Webinterface\" is gone, the corresponding\n Configuration fields (WebinterfaceEnabled / AutoStart / Password /\n Port / AuthStore / MaxLinesToSend) are dropped and stale entries\n fall out of the JSON on the next save automatically\n- The whole ChatTwo/Http tree, the bundled Svelte frontend in\n websiteBuild.zip and the WebinterfaceUtil helper are deleted\n- Watson.Lite (the HTTP server) and Newtonsoft.Json (only used by\n the webinterface JSON wire format) are removed from the\n package references\n- DbViewer's \"Chat2 JSON Export\" button is dropped because it\n serialised the database into the webinterface message protocol;\n the Privacy tab's MessageExporter (Markdown, JSON, CSV with\n channel and date filters) covers the same ground without the\n proprietary shape\n- About tab notes the absence so users coming from Chat 2 do not\n look for it\n- Configuration version bumps from 7 to 8 with a one-shot\n notification (EN + DE)\n\nNo changes to the privacy filter, retention sweep, first-run wizard\nor export pipeline. Existing chat history is preserved.\n\nBased on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).\n\n**Hellion Chat 0.1.2 — About tab rebrand, DBViewer polish**\n\n- About tab now shows Hellion-specific maintainer, license, EU/US/JP\n disclaimer and SQUARE ENIX disclaimer instead of the inherited\n Chat 2 contact info; original ChatTwo translator credits stay\n visible under a clearly labelled upstream tree node\n- Localization clarified: Hellion-specific German strings are\n maintained by the fork maintainer, the Crowdin contributor list\n only covers the inherited upstream strings\n- Cherry-picked DBViewer UI improvements from upstream Chat 2\n (auto-scroll-reset on page change, tooltips on date reset,\n folder export, page arrows, localized export-running messages)\n- README rewritten in the Hellion project style with a tech-stack\n table, architecture tree, database column list, install guide,\n upstream-sync workflow notes and project-status checklist\n\n**Hellion Chat 0.1.1 — Packaging and migration fixes**\n\n- Plugin icon now ships inside the bundle, so the Hellion logo\n renders locally in the Dalamud plugin list once installed (the\n previous release relied only on the remote IconUrl)\n- Plugin icon downsampled from 1024×1024 to 256×256 to match the\n rendered size; loads faster and caches better\n- Migration from upstream Chat 2 is more robust: each file move is\n wrapped individually, a locked SQLite database no longer aborts\n the rest of the migration, and a warning notification fires when\n any file is held open (with a hint to disable Chat 2 and restart\n the game)\n- README ships a step-by-step migration guide (fresh install versus\n coming from Chat 2) and a troubleshooting section with manual\n recovery commands for Linux and Windows\n\n**Hellion Chat 0.1.0 — Initial fork release**\n\nPrivacy\n- Channel whitelist filter in MessageStore.UpsertMessage with a\n Privacy-First default (own conversations only)\n- Per-channel retention with a 24-hour idempotent background sweep\n- Retroactive cleanup with a Ctrl+Shift confirm and VACUUM\n- Export to Markdown / JSON / CSV via Dalamud's file dialog\n\nOnboarding\n- First-run wizard with three profiles: Privacy-First / Casual /\n Full History\n- Configuration migration that seeds defaults on update\n- One-shot migration from upstream Chat 2's pluginConfigs layout\n- Migrate3 idempotency recovery for half-migrated databases\n\nLook & feel\n- Localized UI (English and German) with live language switching\n- Industrial HUD theme with cyan-teal action accents, slate-violet\n tabs, amber active highlights and a window-opacity slider\n\nBased on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).", "AcceptsFeedback": true, "DownloadLinkInstall": "https://github.com/JonKazama-Hellion/HellionChat/releases/download/v0.2.0/latest.zip", "DownloadLinkUpdate": "https://github.com/JonKazama-Hellion/HellionChat/releases/download/v0.2.0/latest.zip",