• v1.5.0 f2a2daf39d

    v1.5.0
    Security / scan (push) Successful in 21s
    Build / Build (Release) (push) Successful in 26s
    Forge Announce / Post changelog to Hellion Forge (push) Successful in 5s
    Release / Build and attach release ZIP (push) Successful in 33s
    Stable

    JonKazama-Hellion released this 2026-05-17 09:45:34 +00:00 | 84 commits to main since this release

    v1.5.0 — DI Foundation and Service Refactor (2026-05-17)

    Major architecture cycle. The plugin bootstrap moves to a
    generic-host DI container (Microsoft.Extensions.Hosting +
    IServiceCollection) modelled on Lightless Sync. Service logging
    moves from a static Plugin.LogProxy locator to typed
    Microsoft.Extensions.Logging.ILogger via constructor injection,
    bridged over Dalamud's IPluginLog by a custom DalamudLogger trio.

    What changes under the hood:

    • 18 instance-class services migrate to ILogger via constructor
      injection across four slices: data layer (MessageStore,
      MessageManager, AutoTellTabsService), IPC and integrations
      (HonorificService, IpcManager, TypingIpc, ExtraChat, the three
      GameFunctions classes), UI window layer (ChatLogWindow,
      DbViewer, Popout, three settings tabs), and root (Commands,
      ThemeRegistry, PayloadHandler).
    • Plugin.LogProxy stays in place for the eight buckets ctor
      injection cannot reach: static helpers (EmoteCache,
      AutoTranslate, MemoryUtil, WrapperUtil), Dalamud-reflected
      types (Configuration), the Message data class, and instance
      classes that only log from static methods (FontManager, one
      GameFunctions site).
    • Plugin.cs finishes at 1012 lines — virtually identical to the
      pre-cycle 1013. The new Phase-1 host build and Plugin.X bridge
      wiring trade out exactly the service and window allocations
      that previously lived in LoadAsync.
    • Cross-plugin baseline confirms no performance penalty against
      Chat 2: HellionChat first-frame HITCH 77 ms median, Chat 2
      74 ms median. Lightless and XIVInstantMessenger sit around
      7 ms by deferring their font-atlas build past Finished
      loading — that pattern is the v1.5.1 follow-up.

    User-visible:

    • Slash-command insert fix: pasting a slash command into the
      chat input (Friend List "/tell" action, plugin-driven inserts
      from Artisan, AllaganTools etc.) now replaces the existing
      input instead of concatenating. Cherry-picked from ChatTwo
      upstream ee7768ac with namespace adaptation.

    Migration v17 stays (no schema bump).

    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://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/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