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.
This commit is contained in:
@@ -3,35 +3,26 @@ subtitle: DI Foundation und Service-Refactor
|
||||
versionsnatur: 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.
|
||||
- **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.
|
||||
|
||||
Reference in New Issue
Block a user