0220e5d756
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.
2.0 KiB
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 statischenPlugin.LogProxy-Locator auf typisierteILogger<T>-Constructor-Injection.DalamudLoggerbrücktMicrosoft.Extensions.Loggingüber auf DalamudsIPluginLog— 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
ee7768acmit 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.