139 lines
6.0 KiB
YAML
Executable File
139 lines
6.0 KiB
YAML
Executable File
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.
|
|
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.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:
|
|
|
|
- Five built-in presets above the per-channel colour list in
|
|
Settings → Appearance → Colours: ChatTwo Default, High-Contrast,
|
|
Pastell, Dark-Mode-Tuned, and Hellion (brand-coloured, blue/orange
|
|
Arctic Cyan + Ember Glow palette from the Hellion Online Media
|
|
branding spec)
|
|
- 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.
|
|
|
|
**Hellion Chat 0.5.2 — Bugfix patch**
|
|
|
|
Auto-Tell-Tabs history-separator landed below the live tell instead
|
|
of above (preload now excludes the trigger message). Plugin icon
|
|
packaging fixed by removing a stale DalamudPackager.targets override
|
|
that conflicted with the SDK 15 default. Default config aligned to
|
|
the maintainer's daily driver: HellionThemeWindowOpacity 0.5,
|
|
Use24HourClock true, Gruppe tab no longer auto-routes /party. Two
|
|
earlier CodeQL findings closed (workflow permissions, empty-input
|
|
pointer arithmetic).
|
|
|
|
**Hellion Chat 0.5.1 — Backlog Sweep**
|
|
|
|
Pure hardening and polish. Eight backlog items from the v0.5.0
|
|
codebase review collected into one patch: cleanup-preview-stale
|
|
detection, greeted-tab dim background, Performance HelpMarker
|
|
consistency, Tabs/Database tab names from HellionStrings,
|
|
FontChooser framework-thread marshalling, async-void on
|
|
EmoteCache.LoadData, parameterised SQL via BindIntList helper.
|
|
|
|
---
|
|
|
|
Earlier history at https://github.com/JonKazama-Hellion/HellionChat/releases.
|