docs: translate CHANGELOG and ROADMAP to English
Security / scan (push) Successful in 13s

Translate all remaining German sections in docs/CHANGELOG.md and
docs/ROADMAP.md to English for consistency across the repository.
Previously English sections left unchanged.
This commit is contained in:
2026-05-11 20:32:11 +02:00
parent c493340104
commit 3b24b2adc4
2 changed files with 235 additions and 219 deletions
+136 -132
View File
@@ -1,174 +1,178 @@
# Hellion Chat — Roadmap
Geplante Arbeit nach dem v1.0.0 Standalone-Cut. Diese Liste ist absichtlich grob: konkrete Specs, Größenschätzungen und
Repro-Steps liegen im internen Backlog. Tracking nach außen läuft über
[Gitea Issues](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/issues) mit dem `roadmap`-Label, sobald
ein Item für einen Cycle eingeplant ist.
Planned work after the v1.0.0 standalone cut. This list is intentionally high-level: concrete specs, size estimates and
repro steps live in the internal backlog. External tracking runs via
[Gitea Issues](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/issues) with the `roadmap` label once an
item is scheduled for a cycle.
Reihenfolge ist Priorität, nicht Garantie. Items können sich verschieben oder ganz wegfallen wenn sie sich beim
Brainstorm als nicht passend zur Privacy-First-Schnittmenge des Plugins erweisen.
Order reflects priority, not a guarantee. Items may shift or be dropped entirely if they turn out to be a poor fit for
the plugin's privacy-first scope during brainstorming.
---
## Nächster Cycle (v1.4.4)
## Next Cycle (v1.4.4)
**Window-Lazy-Open + Render-Init-Cost-Optimisation**die in v1.4.3 gelegte IAsyncDalamudPlugin-Foundation jetzt für
die echten User- spürbaren Wins nutzen. Window-Konstruktion erst beim ersten Open, Render-Path-Init-Kosten in den ersten
Frames runter. Konkrete Kandidaten und Größenschätzungen werden im v1.4.4-Brainstorm konsolidiert.
**Window-Lazy-Open + Render-Init-Cost Optimisation**take the `IAsyncDalamudPlugin` foundation laid in v1.4.3 and turn
it into wins users can actually feel. Window construction deferred until first open, render-path init cost reduced in
the first frames. Concrete candidates and size estimates will be consolidated in the v1.4.4 brainstorm.
---
## v1.4.3 — Plugin-Load Async-Init + Repo-Cutover (released 2026-05-08)
Vierter und größter Sub-Patch der v1.4.x Polish-Sweep-Serie. Plugin auf Dalamud's IAsyncDalamudPlugin-API migriert: der
Konstruktor übernimmt nur noch Bootstrap-Essentials (Config-Load, Language-Init, Conflict-Detection), Migrationen,
Service-Allokationen, Window- Konstruktion und Hook-Subscription wandern in LoadAsync. Schema- Gate ersetzt die v9 → v16
Migrations-Kette; Configs auf Schema v16+ laden direkt, ältere Configs triggern eine "install v1.4.2
first"-Fehlermeldung. AutoTranslate.PreloadCache vom Load-Pfad runter. FontManager.BuildFonts läuft sync am Start von
LoadAsync, Dalamud baut den Font-Atlas auf seiner eigenen Pipeline. Custom-Repo-URL auf `gitea.hellion-forge.cloud`
cut-over, das GitHub-Repo bleibt als eingefrorener v1.4.2-Snapshot stehen. Plugin-Load-Zeit liegt bei ~3.7 s Median (5
Reloads), vergleichbar mit v1.4.2: Async-Migration ist Foundation für v1.4.4 Lazy-Init- Optimierungen, kein direkter
User-spürbarer Win.
Fourth and largest sub-patch of the v1.4.x Polish Sweep series. Plugin migrated to Dalamud's `IAsyncDalamudPlugin` API:
the constructor handles only bootstrap essentials (config load, language init, conflict detection); migrations, service
allocations, window construction and hook subscription move to `LoadAsync`. Schema gate replaces the v9 → v16 migration
chain; configs on schema v16+ load directly, older configs trigger an "install v1.4.2 first" error.
`AutoTranslate.PreloadCache` moved off the load path. `FontManager.BuildFonts` runs sync at the start of `LoadAsync`;
Dalamud rebuilds the font atlas on its own pipeline. Custom-repo URL cut over to `gitea.hellion-forge.cloud`; the GitHub
repo remains as a frozen v1.4.2 snapshot. Plugin load time sits at ~3.7 s median (5 reloads), comparable to v1.4.2 — the
async migration is a foundation for v1.4.4 lazy-init optimisations rather than an immediate user-perceived win.
## v1.4.2 — ChatLog Frame-Hot-Path (released <Datum>)
## v1.4.2 — ChatLog Frame-Hot-Path (released 2026-05-08)
Dritter Sub-Patch der v1.4.x Polish-Sweep-Serie. Per-Frame- Allokationen aus dem ChatLogWindow-Render-Pfad und der
Settings-StatusBar eliminiert. Card-Mode-Border-Loop in DrawMessages hebt fünf Invarianten in einen Pre-Loop-Hoist,
AutoTellTabTint bekommt einen Per-Tab-Cache via TabTintCache (separate Validation-Keys pro Cache, kein
Cross-Invalidation), StatusBar zieht den Cache-Gate-Check vor die Aggregations und ersetzt LINQ Sum+Count durch eine
Single-Pass-Foreach.
Third sub-patch of the v1.4.x Polish Sweep series. Per-frame allocations eliminated from the ChatLogWindow render path
and the settings status bar. Card-mode border loop in `DrawMessages` hoists five invariants into a pre-loop hoist;
`AutoTellTabTint` gets a per-tab cache via `TabTintCache` (separate validation keys per cache, no cross-invalidation);
status bar moves the cache-gate check before the aggregation and replaces LINQ `Sum`+`Count` with a single-pass foreach.
## v1.4.1 — Theme Engine Performance (released <Datum>)
## v1.4.1 — Theme Engine Performance (released 2026-05-08)
Zweiter Sub-Patch der v1.4.x Polish-Sweep-Serie. ABGR-Cache auf den Theme-Records pre-computed, HellionStyle.PushGlobal
liest aus dem Cache statt pro Slot pro Frame zu konvertieren. **~13 % Render-Time-Recovery** im Smoke-Test
(Plan-Erwartung 2-6 % war konservativ, real ~10-15 %). Custom-Theme-Hot-Reload überlebt transient File-Locks via
Last-Known-Good-Snapshot. Plus: Synthwave Sunset als zehnter Built-In, Author-Credits auf Hellion Forge konsolidiert,
Mint Grove + Forge Merchantman auf Carla Beleandis als Community-Thanks.
Second sub-patch of the v1.4.x Polish Sweep series. ABGR cache pre-computed on theme records; `HellionStyle.PushGlobal`
reads from the cache instead of converting per slot per frame. **~13 % render-time recovery** in smoke tests (plan
estimate of 26 % was conservative; real result ~1015 %). Custom-theme hot-reload survives transient file locks via
last-known-good snapshot. Plus: Synthwave Sunset as the tenth built-in, author credits consolidated under Hellion Forge,
Mint Grove + Forge Merchantman credited to Carla Beleandis as a community thanks.
## v1.4.0 — Critical Lifecycle Fixes (released 2026-05-07)
Erster Sub-Patch der v1.4.x Polish-Sweep-Serie. Sieben P0- Findings aus Audit-Pass-3 und Pass-4 abgearbeitet:
async-void-Loads, fehlende IsBackground-Flags, GC.Collect in Dispose, DeferredSave-Race und Pre-v13-Backup-Lookup für
WindowOpacity. Keine Schema-Bumps, keine Funktions- Änderungen für den User außer dass Reload und Shutdown spürbar
sauberer laufen.
First sub-patch of the v1.4.x Polish Sweep series. Seven P0 findings from audit passes 3 and 4 resolved: async-void
loads, missing `IsBackground` flags, `GC.Collect` in Dispose, deferred-save race and pre-v13 backup lookup for
`WindowOpacity`. No schema bumps, no user-facing behaviour changes other than reload and shutdown running noticeably
cleaner.
## v1.3.0 - Plugin Integrations: Honorific (released 2026-05-07)
## v1.3.0 Plugin Integrations: Honorific (released 2026-05-07)
Erster Cycle der Plugin-Integrations-Roadmap. Honorific-Custom- Titles werden im Chat-Header angezeigt, mit Auto-Detect
und silent Fallback. Neuer Integrations-Settings-Tab. Pattern- Etablierer für die fünf folgenden Cycles (Context-Menu,
NotificationMaster, RP-Status-Block, ExtraChat, XIVIM).
First cycle of the plugin integrations roadmap. Honorific custom titles displayed in the chat header with auto-detect
and silent fallback. New Integrations settings tab. Pattern-setter for the five following cycles (Context Menu,
NotificationMaster, RP Status Block, ExtraChat, XIVIM).
Spec: [Plugin-Integrationen-Übersicht](../Hellion%20Chat%20Plugin-Integrationen.md)
Spec: [Plugin Integrations Overview](../Hellion%20Chat%20Plugin-Integrationen.md)
## v1.2.3 — Theme Expansion (released 2026-05-06)
Vier neue Built-In-Themes: Night Blue, Indigo Violet, Forge Merchantman, Hellion Spectrum (Deuteran/Protan-safe). Keine
Engine-Änderungen. Siehe `docs/CHANGELOG.md`.
Four new built-in themes: Night Blue, Indigo Violet, Forge Merchantman, Hellion Spectrum (Deuteran/Protan-safe). No
engine changes. See `docs/CHANGELOG.md`.
(v1.2.2 wurde verbrannt weil das `repo.json`-Manifest beim ersten Push nicht synchron mitgebumpt wurdeRe-Release als
v1.2.3 mit kompletter Manifest-Synchronisation.)
(v1.2.2 was burned because the `repo.json` manifest was not bumped in sync on the first pushre-released as v1.2.3
with full manifest synchronisation.)
## v1.2.1 — Settings Cleanup (released 2026-05-06)
Re-sortierte Settings (9 Cards thematisch), 4 tote Settings entfernt, Auto-Migration v15 → v16 ohne Daten-Verlust.
Settings re-sorted thematically (9 cards), 4 dead settings removed, auto-migration v15 → v16 without data loss.
## v1.2.0 — Layout Refresh (released 2026-05-05)
Top-Tabs-Refresh, Sidebar-Tab-Icons, Bottom-Status-Bar, Card-Rows als Default-Message-Render, Auto-Tell-Tab-Hashing.
Top tabs refresh, sidebar tab icons, bottom status bar, card rows as default message render, auto-tell tab hashing.
## v1.1.0 — Theme Foundation (released 2026-05-05)
Theme-Engine mit fünf Built-In-Themes, Settings-Card-Grid, Custom- Themes via JSON, Theme-Authoring-Doku. Plugin-Icon
auf Hellion Forge. Siehe `docs/CHANGELOG.md` für Details.
Theme engine with five built-in themes, settings card grid, custom themes via JSON, theme authoring docs. Plugin icon
updated to Hellion Forge hammer. See `docs/CHANGELOG.md` for details.
Aus dem ursprünglichen v1.1.0-Plan (Ad-Block / Spam-Filter, Receive- Suppressed-Tells-Toggle) wurden zugunsten der
Theme-Engine zurück­ gestellt — beide Items leben weiter im Mittelfrist-Block.
## Mittelfristig (v1.4.x+)
- **Plugin-Integrations-Roadmap (Cycles 2-6)** - sechs Plugin- Integrationen geplant, Honorific (Cycle 1) ist live,
danach folgen Context-Menu, NotificationMaster, RP-Status-Block, ExtraChat und XIVIM in eigenen Cycles. Spec und
Cycle-Reihenfolge in [Plugin-Integrationen-Übersicht](../Hellion%20Chat%20Plugin-Integrationen.md).
- **Ad-Block / Spam-Filter** — Hybrid-Konzept aus eigenem Light-Filter und optionaler `NoSoliciting`-IPC-Integration.
Adressiert Werbe-Spam in öffentlichen Channels und Tells. Aus dem v1.1.0-Plan zurückgestellt.
- **Receive-Suppressed-Tells-Toggle** — Auto-Tell-Tabs greift auch wenn ein Drittplugin (z.B. XIVMessenger) die
/tell-Anzeige global suppressed. Gleicher Hook-Layer wie Ad-Block, deshalb gebündelt.
- **Database-Viewer Inline-Search** — Volltext-Suche im DB-Viewer via SQLite FTS5. Aktuell gibt es nur Datums- und
Channel-Filter.
- **TempTell Persistence** — Pin-Toggle auf TempTell-Tabs damit ausgewählte Tells einen Relog überleben. Tester-Wunsch
von Jingliu.
- **FontManager Async-Refactor** — `LoadGameSymFontAsync` aus dem blockierenden Plugin-Constructor herausziehen.
Cold-Start-Hitching beim ersten Plugin-Start beheben (Severity niedrig, Plugin ist funktional).
- **Separate Opacity Active vs. Inactive** — zweiter Slider für inaktive Fenster-Deckkraft. Upstream lehnt das ab; wir
können hier anders entscheiden.
- **Failed-Tell-Notification** — sichtbare Nachricht bei /tell-Fail (offline, restricted instance, blacklisted,
world-mismatch) statt stillem Failure.
- **Per-Tab Sound-Notification** — Sound-Toggle und optional eigene .wav pro Tab, mit Mute-In-Combat-Option.
## Langfrist (v1.x+)
### Storage-Backends (drei Stufen Bestätigung)
- MySQL/MariaDB-Backend für Multi-Device-Setups
- PostgreSQL-Backend
- AES-256-Verschlüsselung für sensible Channels mit lokalem Key
### Linux-spezifisch
- WireGuard-Network-Detection als optionaler Filter-Trigger
- libnotify-Integration für native Linux-Toasts
- XDG-Compliance (komplex unter Wine)
### UX und Tab-Management
- **Regex Tab Routing** — Plugin-Output-Spam in eigene Tabs, Tells bestimmter Personen automatisch sortieren. Klar
abgegrenzt zum Ad-Block: Routing sortiert in Views, Block versteckt global.
- **Auto-Detect Duties** — Tab-Switch beim Duty-Start via Condition-Flag.
- **UX Bundle** — Vertical-Tab-Bar als Layout-Option, Shift+Mousewheel zum Tab-Header-Scrollen ohne Aktivierung,
globaler Hotkey zum Schließen des aktiven Tabs.
- **Configure Tab Title** — konfigurierbares Tab-Title-Format (Name / Name + abgekürzter World / voller Name / Custom),
pro Tab überschreibbar.
- **Name Display Options** — analog zu FFXIV-Vanilla (voller Name, Vorname abgekürzt, Initialen), per-Channel-Override
möglich.
- **Item & Flag Linking** — Outgoing: Shift-Klick auf Item/Flag sendet ins fokussierte Plugin-Input. Incoming:
Item-Links und Map-Coords klickbar.
- **Color Currently Selected Input Channel** — Channel-Selector-Button im Input-Bar mit Channel-Farbe einfärben.
- **Plugin-Disclosure Pre-Send Filter** — konfigurierbare Wort-/Regex-Liste blockiert das Senden mit Pre-Send-Confirm.
Schutz vor versehentlicher Plugin-Nennung in öffentlichen Channels.
- **Chat Clear on Name Change** — bei Charakter-Namensänderung lokalen Verlauf migrieren oder löschen, Default Wipe für
maximale Privacy.
- **Hide Plugin Window on NG+ Screen** — Hide-Logik um zusätzliche Addon-Namen erweitern.
- **Kick from Novice Network** — Mentor-Nische, Context-Menü-Eintrag mit Confirmation.
- **Text-to-Speech für /tell** — eingehende Tells via TTS, optional pro Sender, mit Channel-Filter und Mute-In-Combat.
Geringe Priorität.
### Distribution und Branding
- Hand-gezeichnetes Hellion-Logo (aktuell Platzhalter aus dem Hellion-Online-Media-Brand-Repo)
- GitHub Action für automatischen `repo.json`-Sync nach Tag-Push
- Submission ans Dalamud-Main-Plugin-Repo (zusätzlich zum Custom-Repo)
Items from the original v1.1.0 plan (ad-block / spam filter, receive-suppressed-tells toggle) were deferred in favour of
the theme engine — both items live on in the mid-term block.
---
## Bug-Verifizierungen
## Mid-Term (v1.4.x+)
Aus dem Upstream-Issue-Tracker übernommen, in Hellion Chat 1.0.0 noch nicht reproduziert oder verifiziert. Werden bei
Gelegenheit gegen den aktuellen Stand getestet.
- **Right-Click Whisper Error** in Field Ops / Special Instances (Eureka, Bozja, Occult Crescent, DRS) — Upstream
[#168](https://github.com/Infiziert90/ChatTwo/issues/168). Reply-Helper scheint `@World`-Suffix zu schlucken.
- **FPS Drops with Plugin active** — Upstream [#145](https://github.com/Infiziert90/ChatTwo/issues/145). 1020 % Drop
seit upstream v1.29.19.0. v1.0.0 hat mehrere Fixes auf den verdächtigen Pfaden, Repro-Test gegen aktuellen Stand
offen.
- **Add Blacklist from Plugin Window** — Upstream [#140](https://github.com/Infiziert90/ChatTwo/issues/140). Right-Click
Add-to-Blacklist wirft "Cannot locate character with that name", via Vanilla-Chat funktioniert es.
- **DB-Viewer Column Sort** — sortiert State-Column lexikografisch statt numerisch (10 vor 2). XIVIM
[#82](https://github.com/NightmareXIV/XIVInstantMessenger/issues/82), Repro in Hellion Chat offen.
- **Plugin Integrations Roadmap (Cycles 26)** — six plugin integrations planned; Honorific (Cycle 1) is live, followed
by Context Menu, NotificationMaster, RP Status Block, ExtraChat and XIVIM in their own cycles. Spec and cycle order in
[Plugin Integrations Overview](../Hellion%20Chat%20Plugin-Integrationen.md).
- **Ad-Block / Spam Filter** — hybrid concept combining a lightweight built-in filter with optional `NoSoliciting` IPC
integration. Addresses ad-spam in public channels and tells. Deferred from the v1.1.0 plan.
- **Receive-Suppressed-Tells Toggle** — auto-tell tabs trigger even when a third-party plugin (e.g. XIVMessenger)
globally suppresses /tell display. Same hook layer as ad-block, so they are bundled.
- **Database Viewer Inline Search** — full-text search in the DB viewer via SQLite FTS5. Currently only date and channel
filters are available.
- **TempTell Persistence** — pin toggle on TempTell tabs so selected tells survive a relog. Tester request from Jingliu.
- **FontManager Async Refactor** — move `LoadGameSymFontAsync` out of the blocking plugin constructor. Fix cold-start
hitching on first plugin load (low severity; plugin is functional).
- **Separate Opacity Active vs. Inactive** — second slider for inactive window opacity. Upstream declines this; we can
decide differently here.
- **Failed-Tell Notification** — visible message on /tell failure (offline, restricted instance, blacklisted,
world-mismatch) instead of silent failure.
- **Per-Tab Sound Notification** — sound toggle and optionally a custom .wav per tab, with mute-in-combat option.
---
## Lizenz-Boundary
## Long-Term (v1.x+)
Hellion Chat ist EUPL-1.2-lizenziert. Konzept-Imports aus AGPL-3.0-Plugins (z.B. XIV Instant Messenger) sind
ausschließlich architektonische Inspiration, kein Code-Port. Code-Imports aus dem Upstream-Bestand sind seit v1.4.x
abgeschlossen, weil Chat 2 in einem grundlegenden Rework ist und selektive Patches nicht mehr sauber portierbar sind.
Stand und Begründung in [`UPSTREAM_SYNC.md`](UPSTREAM_SYNC.md).
### Storage Backends (three-stage confirmation)
- MySQL/MariaDB backend for multi-device setups
- PostgreSQL backend
- AES-256 encryption for sensitive channels with a local key
### Linux-Specific
- WireGuard network detection as an optional filter trigger
- libnotify integration for native Linux toasts
- XDG compliance (complex under Wine)
### UX and Tab Management
- **Regex Tab Routing** — route plugin output spam into dedicated tabs, auto-sort tells from specific people. Clearly
scoped against ad-block: routing sorts into views, blocking hides globally.
- **Auto-Detect Duties** — tab switch on duty start via condition flag.
- **UX Bundle** — vertical tab bar as a layout option, Shift+Mousewheel to scroll tab headers without activating them,
global hotkey to close the active tab.
- **Configure Tab Title** — configurable tab title format (name / name + abbreviated world / full name / custom),
overridable per tab.
- **Name Display Options** — analogous to FFXIV vanilla (full name, first name abbreviated, initials), per-channel
override possible.
- **Item & Flag Linking** — outgoing: Shift-click on an item/flag sends it to the focused plugin input. Incoming: item
links and map coordinates are clickable.
- **Color Currently Selected Input Channel** — tint the channel-selector button in the input bar with the current
channel colour.
- **Plugin-Disclosure Pre-Send Filter** — configurable word/regex list blocks sending with a pre-send confirmation.
Protects against accidentally mentioning plugins in public channels.
- **Chat Clear on Name Change** — on character name change, migrate or wipe local history; default is wipe for maximum
privacy.
- **Hide Plugin Window on NG+ Screen** — extend hide logic to cover additional addon names.
- **Kick from Novice Network** — mentor niche; context menu entry with confirmation.
- **Text-to-Speech for /tell** — incoming tells via TTS, optionally per sender, with channel filter and mute-in-combat.
Low priority.
### Distribution and Branding
- Hand-drawn Hellion logo (currently a placeholder from the Hellion Online Media brand repo)
- GitHub Action for automatic `repo.json` sync after tag push
- Submission to the Dalamud main plugin repository (in addition to the custom repo)
---
## Bug Verifications
Carried over from the upstream issue tracker; not yet reproduced or verified in Hellion Chat 1.0.0. Will be tested
against the current state when opportunity allows.
- **Right-Click Whisper Error** in Field Ops / Special Instances (Eureka, Bozja, Occult Crescent, DRS) — upstream
[#168](https://github.com/Infiziert90/ChatTwo/issues/168). Reply helper appears to swallow the `@World` suffix.
- **FPS Drops with Plugin Active** — upstream [#145](https://github.com/Infiziert90/ChatTwo/issues/145). 1020 % drop
since upstream v1.29.19.0. v1.0.0 includes several fixes on the suspected paths; repro test against the current state
is open.
- **Add Blacklist from Plugin Window** — upstream [#140](https://github.com/Infiziert90/ChatTwo/issues/140). Right-click
add-to-blacklist throws "Cannot locate character with that name"; works via vanilla chat.
- **DB Viewer Column Sort** — State column sorts lexicographically instead of numerically (10 before 2). XIVIM
[#82](https://github.com/NightmareXIV/XIVInstantMessenger/issues/82); repro in Hellion Chat open.
---
## Licence Boundary
Hellion Chat is licensed under EUPL-1.2. Concept imports from AGPL-3.0 plugins (e.g. XIV Instant Messenger) are
architectural inspiration only — no code was ported. Code imports from the upstream codebase are complete as of v1.4.x
because Chat 2 is undergoing a fundamental rework and selective patches are no longer cleanly portable. Status and
rationale in [`UPSTREAM_SYNC.md`](UPSTREAM_SYNC.md).