9cf1b19801
First standalone major release. csproj version and yaml changelog synchronized; repo.json sync follows in next commit.
177 lines
7.8 KiB
YAML
Executable File
177 lines
7.8 KiB
YAML
Executable File
name: Hellion Chat
|
|
author: JonKazama-Hellion
|
|
punchline: Chat replacement with privacy controls aligned to EU, US and JP rules — based on Chat 2 (EUPL-1.2)
|
|
description: |-
|
|
Hellion Chat is a privacy-focused chat replacement for FINAL FANTASY XIV
|
|
based on the Chat 2 codebase (EUPL-1.2). One feature is intentionally
|
|
removed (the optional webinterface) and a stack of privacy controls is
|
|
added on top. Tabs, channel filters, RGB colours, emotes, screenshot
|
|
mode, IPC integration and the chat replacement window itself work the
|
|
same. The webinterface is intentionally not part of Hellion Chat because
|
|
it serves a different use case from the smaller default footprint this
|
|
plugin 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 privacy and data-handling features:
|
|
|
|
- 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 upstream Chat 2
|
|
|
|
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/HellionChat/images/icon.png
|
|
image_urls:
|
|
- https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/HellionChat/images/chatWindow.png
|
|
- https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/HellionChat/images/withSimpleTweaks.png
|
|
tags:
|
|
- Social
|
|
- UI
|
|
- Chat
|
|
- Replacement
|
|
- Privacy
|
|
changelog: |-
|
|
**Hellion Chat 1.0.0 — Standalone Major Release**
|
|
|
|
First fully standalone release. Internal cleanup, no user action
|
|
required — auto-update applies cleanly, configuration and database
|
|
paths unchanged.
|
|
|
|
Internal changes:
|
|
|
|
- Code namespace consolidated from ChatTwo.* to HellionChat.* across
|
|
all source files
|
|
- IPC channels migrated from ChatTwo.* to HellionChat.* (6 channels:
|
|
Register, Available, Unregister, Invoke, GetChatInputState,
|
|
ChatInputStateChanged) — third-party plugins that bound to the old
|
|
channels need to be updated; none known at release time
|
|
- ImGui popup ID renamed to hellionchat-context-popup
|
|
- Repository folder restructured (ChatTwo/ → HellionChat/), all CI
|
|
and build paths updated accordingly
|
|
- Plugin now refuses to load when upstream Chat 2 is also active —
|
|
bilingual conflict message in EN/DE, throw before any subsystem
|
|
initialization, prevents the runtime crash that previously occurred
|
|
when both plugins replaced the same chat window in parallel
|
|
|
|
Branding:
|
|
|
|
- Public-facing descriptions reworded from upstream-fork framing to
|
|
standalone framing (Chat 2 attribution preserved per EUPL-1.2)
|
|
- Colour preset 'ChatTwo Default' is now 'Klassik (Chat 2 Default)'
|
|
- License attribution (NOTICE.md, COPYRIGHT, THIRD_PARTY_NOTICES.md
|
|
and the Credits section in README) is unchanged
|
|
|
|
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
|
|
**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
|