name: Hellion Chat 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. 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 across the EU, the United States and Japan. By default only your own conversations are stored; messages from strangers, NPCs and system spam stay out of the database. Retention windows are configurable per channel, history can be wiped retroactively, and stored data can be exported on demand. Key additions on top of Chat 2: - Channel whitelist with a Privacy-First default - Per-channel retention with a daily background sweep - Retroactive cleanup with a Ctrl+Shift confirm - Export to Markdown, JSON or CSV - First-run wizard with three preset profiles (Privacy-First, Casual, Full History) - Bilingual UI (English and German) with live language switching - Independent plugin state — own config file and database directory, so Hellion Chat does not share state with the upstream plugin Based on Chat 2 by Infi and Anna, licensed under EUPL-1.2. Modding & support: join the Hellion Forge Discord at https://discord.gg/X9V7Kcv5gR — community for Hellion Chat and other Hellion Online Media plugins/tools. repo_url: https://github.com/JonKazama-Hellion/HellionChat accepts_feedback: true icon_url: https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/ChatTwo/images/icon.png image_urls: - https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/ChatTwo/images/chatWindow.png - https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/ChatTwo/images/withSimpleTweaks.png tags: - Social - UI - Chat - Replacement - Privacy changelog: |- **Hellion Chat 0.6.1 — Pop-Out Discoverability & /tell Auto-Pop-Out** - Pop-out button now visible in the chat header (no more hunting through the right-click menu) - One-time hint banner explains pop-out tabs and the right-click shortcut - New setting: open new /tell tabs directly as pop-out windows (Settings → Chat → Auto-Tell-Tabs) - Pop-out input is now enabled by default — closing a pop-out still returns the tab to the sidebar - Bugfix: dropping or logging out with an LRU/popped auto-tell tab now also closes its pop-out window (no more ghost windows) - Bugfix: dead zone below the chat input bar when the v0.6.0 pop-out hint banner was visible (also fixed retroactively for the v0.6.0 banner inside pop-outs) Modding & support: join Hellion Forge — https://discord.gg/X9V7Kcv5gR Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2). **Hellion Chat 0.6.0 — UX Polish: Pop-Out Input + Colour Presets** Two opt-in UX features land in the same release. Existing users see no change unless they enable the new toggles. Pop-out input bar: - New global master switch in Settings → Window → Frame: "Enable input in pop-outs". Default OFF so existing behaviour is preserved - When enabled, every pop-out window grows a compact input bar at the bottom (channel-coloured icon button left, text input right). The auto-translate picker is intentionally not part of the compact bar in v0.6.0 — typical pop-out workflows (FC greeter, club hostess) rarely need it there - Each pop-out keeps an independent text buffer and history cursor; channel changes still apply globally because that is how the FFXIV channel API works - Up/Down navigates a shared input history singleton across the main window and every open pop-out - First pop-out opening after the upgrade shows a one-time hint banner pointing users to the new toggle Chat colour presets: - Seven built-in presets above the per-channel colour list in Settings → Appearance → Colours: ChatTwo Default, High-Contrast, Pastell, Dark-Mode-Tuned, Hellion (brand-coloured, blue/orange Arctic Cyan + Ember Glow palette from the Hellion Online Media branding spec), plus two bonus mood presets — Night Blue (royal blue, classic-cool) and Indigo Violet (royal violet, glitter-mystic) - Apply is immediate and overwrites the channels covered by the preset; battle-channel colours are left alone so combat tuning stays intact Configuration migrates from v10 to v11 with a diagnostic log entry; no data is reset. Bilingual (English/German) for both new sections. Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2). **Hellion Chat 0.5.4 — WrapText hardening** Replaces the unsafe pointer-arithmetic in ImGuiUtil.WrapText with Span- and index-based control flow. Closes the persistent CodeQL Critical alert "unvalidated local pointer arithmetic" that kept re-firing on every shape of the previous fix. Hardening: - WrapText now allocates a buffer sized by Encoding.UTF8.GetMaxByteCount via ArrayPool, validates the actual encoded length against that ceiling, and threads the rest of the algorithm through int offsets instead of raw byte pointers - Pointer arithmetic only happens inside two small private helpers (CalcWordWrap and DrawText) that take the pinned base pointer plus int offsets sourced from the plugin's own logic, not from any virtual-method return - Added a 16 KiB upper bound on the buffer rent to prevent a pathological input from triggering an unbounded ArrayPool allocation No user-visible behaviour change. Word-wrap output is byte-identical to v0.5.3. Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2). **Hellion Chat 0.5.3 — Pointer arithmetic hardening** Closed CodeQL Critical alert in ImGuiUtil.WrapText by validating the encoded byte buffer length via GetByteCount before pointer arithmetic. Single-fix patch on top of v0.5.2. --- Earlier history: https://github.com/JonKazama-Hellion/HellionChat/releases