v1.6.0 through v1.15.0 were never published. The whole window layer was being rewritten from ImGui defaults to custom drawing, and repo.json deliberately kept its links on v1.5.6 so nobody could update into a half-finished state. That work lands here in one release. The config is not migrated, it is replaced. A config carried across nine cycles of window rebuilds holds values chosen against surfaces that no longer exist, and starting over is the only way to be sure every install is on the same defaults. The message database is a separate file and is not touched. The old config is copied to HellionChat.json.pre-2.0.0.bak first, so rolling back to 1.5.6 stays a file copy rather than an evening of clicking settings back in. Config schema 27. The reset runs from the constructor, before LoadAsync seeds the default tabs, and the self-test now fails if the tab list is empty at /xlperf -- that ordering breaking would leave every user with no tabs and nothing else in the plugin would notice. Default layout gains an Emote tab: custom emotes, standard emotes and echo. A tester asked for it, emotes get lost between system notices otherwise. Manifest, README, roadmap and the four changelog consumers are on 2.0.0. The release notes lead with what was fixed rather than what was redrawn -- retroactive cleanup that could never be applied, a compaction that reported deleting nothing while deleting everything, pinned tell tabs that came up empty for a session. And with the one behaviour change users should know about: the channel grid is authoritative over storage now, so anyone who had unticked channels while the unknown-channel failsafe was on stores less than they did before.
43 lines
5.9 KiB
JSON
43 lines
5.9 KiB
JSON
[
|
|
{
|
|
"Author": "Jon Kazama (Hellion Forge)",
|
|
"Name": "Hellion Chat",
|
|
"InternalName": "HellionChat",
|
|
"AssemblyVersion": "2.0.0.0",
|
|
"Description": "A Hellion Forge plugin — privacy-focused chat replacement for FINAL FANTASY XIV, built for EU, US and JP data rules.\n\nBy default only your own conversations are stored. Public chat, NPC dialogue, system messages and battle logs are discarded at the storage layer unless you opt in. Retention windows are configurable per channel, history can be wiped retroactively, and everything can be exported on demand.\n\nFeatures:\n- Channel whitelist with a Privacy-First default\n- Per-channel retention with a daily background sweep\n- Retroactive cleanup with preview and Ctrl+Shift confirm\n- Export to Markdown, JSON or CSV\n- First-run wizard with four profiles: Privacy-First, Casual, Roleplay, Full History\n- Multi-language UI (24 locales) with live language switching\n- Own config and database — no shared state with other plugins\n\nBased on Chat 2 by Infi and Anna (EUPL-1.2).\nSupport: https://discord.gg/X9V7Kcv5gR",
|
|
"ApplicableVersion": "any",
|
|
"RepoUrl": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat",
|
|
"Tags": [
|
|
"Social",
|
|
"UI",
|
|
"Chat",
|
|
"Replacement",
|
|
"Privacy"
|
|
],
|
|
"DalamudApiLevel": 15,
|
|
"LoadRequiredState": 0,
|
|
"LoadSync": false,
|
|
"CanUnloadAsync": false,
|
|
"LoadPriority": 0,
|
|
"Punchline": "A Hellion Forge plugin. Privacy-first chat for FFXIV, built to stay out of your way.",
|
|
"Changelog": "**v2.0.0 — Rebuilt, Repaired, Reset (2026-08-19)**\n\nNine development cycles in one release. Everything built as v1.6.0 through v1.15.0 ships here; those versions were never published on their own.\n\n**This update resets your settings.** Nine cycles of rebuilding left saved values pointing at surfaces that no longer exist, and starting over is the only way to be sure every install is on the same defaults. **Your message history is untouched** — it lives in a separate database. Your old settings are kept next to the config file as `HellionChat.json.pre-2.0.0.bak`.\n\nFixed, and several of these lost data or hid it:\n\n- Retroactive cleanup could never be applied at all. The preview took the database lock itself and that counted as a change, so every preview went stale the instant it finished and the apply button never appeared.\n- Compacting the database ran against an open reader and failed, after which the plugin reported that nothing had been deleted — while everything had.\n- Deleting messages left them in the search index, so search kept returning rows that were already gone.\n- Pinned tell tabs came up empty for a whole session: the history query ran at plugin start, before any character is logged in, and never tried again.\n- Export wrote invalid JSON where a setting value was involved, and a byte-order mark that strict parsers reject.\n- A pop-out with its title bar switched on could not be closed, and a tell from a popped-out partner hijacked the main window's active tab.\n- One third-party emote service started returning 403, and that response took all 65 working global emotes down with it on every start.\n- The GDPR notice for the full-history profile had been translated into 25 languages and shown nowhere since May.\n\nChanged, and one of these changes what gets stored:\n\n- **The channel grid is now authoritative.** Until now the unknown-channel failsafe was applied to known channels too, so a channel you had unticked was still being written while that failsafe was on. If that was you, this release stores less than before. Nothing already in the database is touched.\n- Every window is drawn by the plugin rather than by ImGui defaults, and they share one visual language: structure carried by typography, a surface on anything you can press, and colours measured against what sits behind them.\n- Typography has named roles — sender, body and timestamp mean the same thing everywhere, timestamps sit in their own column, system messages are italic.\n- Export, the tab editor, database maintenance and pinning had lost their entry points during the rebuild and are reachable again.\n- Screenshot mode reached one of four surfaces that draw a tab name. It reaches all four now.\n\nRemoved: six settings that had a control and a saved value but no reader anywhere in the plugin; a per-tab regex filter the game's own blackword filter covers; and a wizard checkbox that was collected, reported as applied and never read.\n\nNew: an Emote tab in the default layout, local and server clocks in the status bar, a screenshot mode reachable from the input row, `/hellion wizard` to reopen the setup wizard, a style lab under `/hellion lab`, and 25 UI languages with the settings window and wizard fully covered.\n\nBased on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2). The two codebases have diverged far enough that they no longer line up.",
|
|
"AcceptsFeedback": true,
|
|
"DownloadLinkInstall": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.0/latest.zip",
|
|
"DownloadLinkUpdate": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.0/latest.zip",
|
|
"DownloadLinkTesting": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/download/v2.0.0/latest.zip",
|
|
"TestingAssemblyVersion": "2.0.0.0",
|
|
"IconUrl": "https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/icon.png",
|
|
"ImageUrls": [
|
|
"https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/chatWindow.png",
|
|
"https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/settingsOverview.png",
|
|
"https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/themesPicker.png"
|
|
],
|
|
"DownloadCount": 0,
|
|
"IsHide": false,
|
|
"IsTestingExclusive": false,
|
|
"CategoryTags": [
|
|
"social"
|
|
]
|
|
}
|
|
]
|