Files
HellionChat/.github/forge-posts/v1.5.0.md
T
JonKazama-Hellion 0220e5d756 chore(linting): refresh configs and sweep auto-fix
Pull in the refreshed linter and tooling configs (editorconfig,
gitignore, gitattributes, prettierignore, prettierrc, markdownlint,
yamllint, env.example, dotnet-tools) and run prettier and markdownlint
in --fix / --write mode across the repo so the existing tree matches
the new rules.

- prettier 2-space indent on yaml/yml and json overrides, asterisk
  strong, underscore emphasis, proseWrap always
- markdownlint MD007 indent aligned to 2 and MD049 to underscore so
  prettier output stays passing
- preflight Block F also ignores CLAUDE.md (gitignored personal file)
- prettierignore extended to keep HellionChat.yaml manifest and the
  NuGet packages.lock.json out of the formatter

No semantic content changed; csharpier, build, full build-suite
(729/729) and the new prettier/markdownlint/yamllint checks all green.
2026-05-17 17:20:55 +02:00

2.0 KiB

subtitle, versionsnatur
subtitle versionsnatur
DI Foundation und Service-Refactor Architektur-Cycle
  • Architektur-Umbau ohne User-spürbare Verhaltens-Änderung: der Plugin-Bootstrap wechselt auf einen Generic-Host DI-Container (Microsoft.Extensions.Hosting + IServiceCollection) nach dem Lightless-Sync-Muster. 18 Service-Klassen wandern von einem statischen Plugin.LogProxy-Locator auf typisierte ILogger<T>-Constructor-Injection. DalamudLogger brückt Microsoft.Extensions.Logging über auf Dalamuds IPluginLog — im xllog erscheinen jetzt Service-spezifische Spalten wie [ MessageManager] und [Honori...ervice].
  • Plugin.LogProxy bleibt für die acht Buckets erhalten, die Constructor-Injection nicht erreicht: Static-Helper (EmoteCache, AutoTranslate, MemoryUtil, WrapperUtil), Dalamud-Reflektion (Configuration), Data-Class mit Massen-Instanziierung (Message) und Instanz-Klassen die nur aus Static-Methods loggen (FontManager, eine GameFunctions-Stelle).
  • Performance bestätigt durch Cross-Plugin-Baseline: HellionChat First-Frame-HITCH 77 ms Median, Chat 2 v1.40.2 74 ms Median — kein DI-Penalty gegenüber dem Upstream-Fork-Origin. Lightless und XIVInstantMessenger liegen bei ~7 ms weil sie ihren FontAtlas-Build deferren; das wird das v1.5.1-Item.
  • User-sichtbarer Bug-Fix nebenbei: Slash-Command-Einfügen in das Chat-Eingabefeld (Friend-List "/tell"-Action plus Plugin-Inserts von Artisan, AllaganTools und ähnlichen) ersetzt jetzt den vorhandenen Input, statt anzukonkatenieren. Cherry-Pick aus ChatTwo upstream ee7768ac mit Namespace-Anpassung.
  • Foundation für die Plugin-Integrations-Wave: v1.5.7-11 (Context-Menu, NotificationMaster, Moodles, ExtraChat, XIVIM Quick-DM) werden ab jetzt strukturell handhabbar — neue Services sind ein services.AddSingleton<T> plus ein paar Factory-Lambda- Zeilen, kein Plugin.cs-Anflanschen mehr.
  • Migration v17 unverändert: kein Schema-Bump, kein Config-Migrations-Aufwand.