• v1.2.2 a88ec1714d

    v1.2.2 Stable

    JonKazama-Hellion released this 2026-05-06 12:07:07 +00:00 | 291 commits to main since this release

    Hellion Chat 1.2.2 — Theme Expansion

    Four new built-in themes round out the picker. No engine changes,
    no settings touched — just more colour options.

    • Night Blue — Royal Blue on deep marine. Cool tech-dashboard
      mood, distinct from the brand themes.
    • Indigo Violet — Royal Violet on deep indigo with a turquoise-
      mint counter for an aurora glitter feel. Sister to Event Horizon
      but darker and denser; the turquoise accent keeps the two
      distinguishable.
    • Forge Merchantman — Patina bronze on workshop slate, warm
      amber counter. Hellion Forge given a theme of its own — sister
      to Hellion Arctic but greener and warmer instead of cold cyan.
    • Hellion Spectrum — Deuteran/Protan-safe channel colours
      using Wong/Okabe-Ito palette tones. Channel identity (Tell pink,
      Yell yellow, Shout orange, Party blue, FC green) is preserved;
      tones are chosen so each channel stays distinguishable under
      red-green colour vision deficiency. Covers the ~99% of CVD cases
      that are red-green.

    No schema bump, no migration. Default theme is unchanged (Hellion
    Arctic). Existing custom themes keep working.

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.2.1 aec8ba15f2

    v1.2.1 Stable

    JonKazama-Hellion released this 2026-05-06 09:46:50 +00:00 | 303 commits to main since this release

    Hellion Chat 1.2.1 — Settings Cleanup

    Re-sorted the settings menu so related options live together. Card names
    now describe their contents in plain words — "Theme & Layout", "Fonts &
    Colours", "Data Management" — and each card has a short subtitle so you
    don't have to guess where a setting lives. No new features, just
    housekeeping.

    Card changes:

    • Theme & Layout (new) collects the theme picker, window frame style
      (title bar, sidebar, hide button, pop-out title bar) and the timestamp
      style options.
    • Fonts & Colours (new) is the new home for font choice, font size and
      per-channel chat colours.
    • Data Management (new) is everything you do with stored messages:
      retention windows, cleanup, export, the database viewer and the
      advanced shift-click tools. All previously scattered between Privacy
      and Database.
    • Privacy is now focused on one job: the privacy filter.
    • Chat absorbs the Auto-Tell-Tabs history preload slider that used to
      live under Privacy.
    • General groups the keybind mode under Input where it belongs.

    Cleanup:

    • Removed legacy "Style override" option and the unused style-name field
      — both made obsolete by the Themes system in 1.1.0.
    • Removed the legacy WindowAlpha slider; if you had it set, the value is
      automatically migrated to Theme & Layout → Window Style → Window
      Transparency.
    • Removed the unused ShowThemeQuickPicker schema field.

    Migration v15 → v16:

    • A backup of your previous config is written to
      pluginConfigs/HellionChat.json.pre-v16-backup before the schema change,
      in case you want to roll back manually.
    • All other settings are preserved unchanged.
    • One-time toast on first start if you previously had Style override
      enabled — it explains the change. Users who never touched that setting
      see no toast.

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.2.0 64cadcf87b

    v1.2.0 Stable

    JonKazama-Hellion released this 2026-05-05 22:37:26 +00:00 | 309 commits to main since this release

    Hellion Chat 1.2.0 — Layout Refresh

    Second UI cycle: tab layouts modernised in both modes, a new
    bottom status bar, card-rows as default message render, and
    Auto-Tell tabs that you can finally tell apart at a glance.

    Sidebar (icon-only, fixed 44 px):

    • Tab name on hover-tooltip, vertical accent pill on the
      active tab, child background no longer paints the top
      padding area.
    • Per-tab custom icons via Settings → Tabs.
    • Auto-Tell tabs: each partner gets a hashed icon (envelope/
      star/heart/bell/bookmark/flag/fire) plus hashed color
      (12-color palette) — 84 distinct combinations.
    • Pulsing red dot in the top-right of any tab with unread
      messages, subtle 2-second sine pulse, respects
      Configuration.ReduceMotion.

    Top tabs:

    • Accent underline pill on the active tab instead of the old
      background fill. Icon prefixes were attempted but reverted
      — Dalamud's default font atlas has no FontAwesome glyphs.

    Bottom status bar (22 px, 1×/sec cached):

    • Active channel with color dot, Privacy-First badge, tab +
      message counters, auto-tell counter (hidden at zero),
      plugin version (right-aligned, muted).

    Message rendering:

    • Card rows by default — sender header in channel color, body
      on its own line, subtle border between cards.
    • Compact-Density toggle in Appearance returns the classic
      single-line [HH:mm] Sender: Text layout.

    Bug fixes from in-game testing:

    • Settings save no longer wipes chat history. Refilter cycle
      only runs when filter-relevant settings actually changed
      (privacy, channel selection); cosmetic changes leave the
      chat intact. Persistent and Auto-Tell tabs both survive.
    • Hellion Schrift (Exo 2) no longer blocks font-size
      adjustment — 4K users can scale up properly.
    • Sidebar buttons align with the first message row, status
      bar version slot is no longer clipped.

    Migration v14 → v15: legacy theme fields removed
    (HellionThemeEnabled, HellionThemeWindowOpacity). All other
    settings preserved.

    Polish (lerps, theme crossfade, header quick-picker) follows
    in v1.3.0.

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.1.0 0c26d1aa67

    v1.1.0 Stable

    JonKazama-Hellion released this 2026-05-05 13:17:30 +00:00 | 353 commits to main since this release

    Hellion Chat 1.1.0 — Theme Foundation

    First major UI cycle after the standalone v1.0.0 cut. Theme engine,
    five built-in themes, customisable JSON themes, modernised settings
    layout.

    New themes (Settings → Themes):

    • Hellion Arctic — the brand default, Arctic Cyan + Ember Glow
      on industrial slate.
    • Chat 2 Klassik — Steel Blue on neutral grey, eckige Kanten.
      The upstream Chat 2 look on the new engine.
    • Event Horizon — Cosmic Purple on near-black. Deep-space mood.
    • Moonlit Bloom — Bloom Magenta + Soft Sage on deep-violet
      night.
    • Mint Grove — Mint Green + Honey Amber on deep forest. First
      member of the Grove family.

    Theme engine highlights:

    • Slug-based selection in Settings → Themes with mini-mockup
      previews per theme.
    • Click a theme card and the whole plugin (chat, settings,
      pop-outs, viewer) repaints instantly.
    • Custom themes via JSON in pluginConfigs/HellionChat/themes/.
      Example template seeded on first launch.
    • Optional per-theme chat-channel colours. When a theme proposes
      its own chat colours and yours differ, a dezent banner offers
      Apply / Keep — never auto-overwriting.
    • Migration v13 → v14: existing users land on Hellion Arctic. Pick
      Chat 2 Klassik to keep the upstream look.

    Settings layout:

    • New card-grid overview on Settings open. Click a card to drill
      into the section.
    • Breadcrumb back to overview, ESC also returns.
    • Detail view drops the redundant tab list — section content uses
      the full width.

    Branding:

    • Plugin icon swapped from the ChatTwo derivative to the Hellion
      Forge hammer.
    • New docs/THEME-AUTHORING.md walks you through writing your own
      themes with the Forge logo on top.

    Technical:

    • HellionStyle.PushGlobal is now theme-driven. Configuration.
      HellionThemeEnabled is deprecated and will be removed in v1.2.0.
    • New ThemeRegistry singleton with LastWriteTime-cached custom-
      theme loader.
    • 51 local unit tests cover the data model, registry, JSON round-
      trip and built-in sanity checks.

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.0.3 698eb01bbe

    v1.0.3 Stable

    JonKazama-Hellion released this 2026-05-04 14:17:06 +00:00 | 395 commits to main since this release

    Hellion Chat 1.0.3 — Polish patch

    • New: optionally hide chat (and every other plugin window) while the
      New Game+ menu is open. Toggle in Settings → Window → Frame, default
      off. Closing the menu restores all windows.
    • New: optionally tint the channel selector button next to the input
      field with the currently active channel's colour. Toggle in
      Settings → Appearance → Colours, default on. Matches the existing
      input-text tint and respects ExtraChat overrides.
    • Fix: status, item and other inline hover icons keep their original
      aspect ratio. Debuff icons with non-square dimensions are no longer
      visually squished into a 32×32 box.
    • Diagnostic: hide-state transitions (battle, cutscene, user-hide,
      cutscene override) are now logged on Verbose level for easier bug
      reports — off by default, enable with /xllog set HellionChat verbose.

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.0.2 57291e925d

    v1.0.2 Stable

    JonKazama-Hellion released this 2026-05-04 14:00:07 +00:00 | 397 commits to main since this release

    Hellion Chat 1.0.2 — Polish patch

    • New: optionally hide chat (and every other plugin window) while the
      New Game+ menu is open. Toggle in Settings → Window → Frame, default
      off. Closing the menu restores all windows.
    • New: optionally tint the channel selector button next to the input
      field with the currently active channel's colour. Toggle in
      Settings → Appearance → Colours, default on. Matches the existing
      input-text tint and respects ExtraChat overrides.
    • Fix: status, item and other inline hover icons keep their original
      aspect ratio. Debuff icons with non-square dimensions are no longer
      visually squished into a 32×32 box.
    • Diagnostic: hide-state transitions (battle, cutscene, user-hide,
      cutscene override) are now logged on Verbose level for easier bug
      reports — off by default, enable with /xllog set HellionChat verbose.

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.0.1 fcb72e2b78

    v1.0.1 Stable

    JonKazama-Hellion released this 2026-05-04 10:15:26 +00:00 | 399 commits to main since this release

    Hellion Chat 1.0.1 — Window Position Recovery

    • Automatic bounds check on the first draw after plugin load.
      When the persisted window position has no overlap with the
      primary viewport, the window snaps to a safe top-left default.
      Helpful after a monitor disconnect, resolution change or
      multi-monitor layout switch between sessions.
    • New "Reset Window Position" button in Settings → Window → Frame
      as a manual escape hatch for edge cases the automatic check
      doesn't catch.

    Tested on Linux/Wayland with a hard-cut three-monitor reduction;
    window recovers cleanly without manual JSON editing.

    Housekeeping carried over since v1.0.0:

    • Documentation restructured into docs/ folder. New CHANGELOG,
      CONTRIBUTORS, LEARNING-JOURNEY and ROADMAP added
    • Stale ChatTwo/* paths in repo configs updated to HellionChat/*
    • Pidgin parser library bumped from 3.3.0 to 3.5.1 (CIString
      Unicode fix relevant for non-ASCII channel/tab names)
    • GitHub Actions: actions/setup-dotnet bumped 4 → 5,
      github/codeql-action bumped 3 → 4

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.0.0 fa9baa3929

    v1.0.0 Stable

    JonKazama-Hellion released this 2026-05-03 20:51:06 +00:00 | 406 commits to main since this release

    Hellion Chat 1.0.0 — Standalone Major Release

    First fully standalone release. Internal cleanup plus a sweep of
    pre-existing correctness, security, threading and resource-leak
    fixes carried over from the upstream codebase. No user action
    required — auto-update applies cleanly, configuration and database
    paths unchanged.

    Standalone identity:

    • 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
    • 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)'

    Safety:

    • 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
    • SQLite native binary bumped to 3.50.3 (CVE-2025-6965 memory
      corruption from aggregate-term overflow, CVE-2025-7709)
    • NuGet restore now honors packages.lock.json so transitive
      dependencies don't drift between machines or CI runs

    Default tab layout sharpened (one-time tab reset on first start):

    The first-run tab layout is reorganized into five thematic tabs
    based on external tester feedback. General contains only Say,
    Yell and Shout (immediate-surroundings public chat). System
    absorbs the gameplay-event streams (NpcDialogue, Loot, Crafting,
    Gathering, PF recruitment pings) and announcement noise
    (BattleSystem, FreeCompanyAnnouncement, PvpTeamAnnouncement)
    that previously lived in General. FreeCompany, Group and
    Linkshell each own their channel set. The static Tell tab is
    gone — Auto-Tell-Tabs spawns per-conversation tabs on demand.
    The Beginner / Novice-Network preset is no longer added by
    default but is still available via Settings, Tabs.

    This is a one-time tab-layout reset for users on config version
    12 or older. Privacy, Retention, Theme and every other setting
    is preserved. Your previous tab configuration is written to
    pluginConfigs/HellionChat.json.pre-v13-backup so you can restore
    it manually if you prefer the old layout.

    Crash-class fixes (formerly latent in upstream):

    • MathUtil.HasOverlap now uses a correct AABB test; identical or
      edge-touching rectangles are no longer reported as non-overlapping
    • ChatCode.Equals compares fields directly instead of GetHashCode;
      removes the hash-collision anti-pattern
    • IpcManager.Dispose uses UnregisterAction to match the matching
      RegisterAction call; previous mismatch leaked the action
      subscription on every plugin reload
    • ExtraChat.Dispose now unsubscribes all three IPC subscriptions
      (was only the first); leaks closed
    • TellTarget.FromTarget guards against a zero IPlayerCharacter.Address
      before dereferencing the unsafe Character* cast
    • GameFunctions ResolveTextCommandPlaceholderDetour null-checks the
      Hook reference instead of using the null-forgiving operator
    • Popout.cs and SettingsTabs/Tabs.cs bounds-check list indexing so
      a tab drop or empty-worlds list no longer crashes the UI
    • Debugger.cs now declares IDisposable so the existing Dispose runs

    Correctness fixes:

    • GlobalParametersCache.GetValue captures Cache into a local before
      the bounds check, so a concurrent Refresh can't slip a different
      array between check and read
    • IconUtil binary search bounds initialized to entries.Length-1 and
      reset on redirect-restart; entries.Length==0 short-circuits
    • Sheets.WorldsOnDatacenter now compares DataCenter.RowId (was
      Region.RowId) so it actually returns same-DC worlds
    • Message.cs back-reference loop iterates the processed Sender/Content
      properties so chunks added by CheckMessageContent get Message set
    • Language.zh-Hans Webinterface_Start_Success corrected to
      "网页界面已启动" (was "网页界面已停止")

    Threading and async:

    • AutoTranslate Entries/ValidEntries are now serialized behind a
      single lock; the preload worker thread and main thread no longer
      race on the underlying dictionary/hash set
    • Privacy retention and cleanup workers bound their framework-refresh
      waits to 5 seconds with a logged timeout; a hung framework tick can
      no longer deadlock the background worker

    Resource handling:

    • EmoteCache reuses the static HttpClient instead of allocating a new
      one per call (closed socket leak)
    • FontManager wraps HttpClient/HttpResponseMessage in using-blocks
      and adds EnsureSuccessStatusCode; failed downloads no longer
      silently produce a zero-byte font file
    • SearchSelector mixes the row index into the ImGui ID stack so
      selectables don't collapse to a single ambiguous ID
    • SettingsTabs/Chat blocked-emote add-button now opens its selector
      popup on left-click

    Performance:

    • DbViewer text export caches filteredHistory.Count once instead of
      re-enumerating the IEnumerable on every batch (O(N) instead of
      O(N²) on large histories)

    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).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v0.6.1 0df5819a88

    v0.6.1 Stable

    JonKazama-Hellion released this 2026-05-03 15:16:00 +00:00 | 434 commits to main since this release

    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).


    How to install

    This release is distributed via the HellionChat custom repository, not the
    Dalamud main plugin repo. To install:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v0.6.0 15f83c8b0e

    JonKazama-Hellion released this 2026-05-03 11:22:32 +00:00 | 453 commits to main since this release

    Hellion Chat 0.6.0 — UX Polish: Pop-Out Input + Colour Presets

    Two opt-in UX features. Existing users see no change unless they enable
    the new toggles.

    Pop-out input bar:

    • Global master switch in Settings → Window → Frame
    • Channel-coloured icon button + text input in every pop-out window
    • Independent text buffer and history cursor per pop-out
    • Channel changes apply globally (FFXIV channel API behaviour)
    • Up/Down navigates a shared input history singleton
    • One-time hint banner on first pop-out after the upgrade

    Chat colour presets (seven built-ins):

    • ChatTwo Default, High-Contrast, Pastell, Dark-Mode-Tuned
    • Hellion (brand-coloured, Arctic Cyan + Ember Glow)
    • Night Blue, Indigo Violet (bonus mood presets from KAZAMA themes)

    Configuration migrates from v10 to v11 with a diagnostic log.
    Bilingual EN/DE for all new sections.

    Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).

    Downloads