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 |
|---|---|
| UX und Robustheit | UX-Polish-Cycle |
Hellion Chat 1.4.5 — UX und Robustheit
Sechster Sub-Patch der v1.4.x Polish-Sweep-Serie. Render-Fehler im Chat-Fenster werden jetzt sichtbar, der First-Run-Wizard hat eine explizite Cancel-Schaltfläche, der Eingabe-Verlauf bleibt nicht mehr über Plugin-Reloads hinweg liegen, und die Statusleiste klippt in schmalen Fenstern nicht mehr.
- Fehler-Benachrichtigung im Chat-Fenster. Wenn ein Render-Fehler in
DrawChatLogauftritt, zeigt das Plugin jetzt eine einmalige Warning-Notification mit Verweis aufs/xllog, statt das Fenster stillschweigend leer zu lassen. Der Stack-Trace selbst geht weiter viaPlugin.Log.Errorins Logfile. De-Dup über Per-Session-Bool, damit ein wiederkehrender Fehler die Notification-Stack nicht pro Frame neu vollkippt - First-Run-Wizard trennt Accept und Close.
OnClosesetzt nicht mehr stillschweigendFirstRunCompleted=true, also lässt das X den Wizard schwebend zurück und er kommt beim nächsten Plugin-Reload wieder. Eine neue „Später — Defaults behalten"-Schaltfläche im Footer ist der explizite Weg, ohne Profil-Auswahl rauszukommen. Strings bilingual EN+DE plus Tooltip - Eingabe-Verlauf wird beim Plugin-Reload geleert.
InputHistoryService.Resethängt jetzt inPlugin.DisposeAsyncneben den anderen Pure-Memory-Cleanups, damit der statische Zustand aus der vorigen Session den nächsten Load nicht mehr erbt - Statusleiste klippt nicht mehr. Der rechtsbündige Versions-Slot wird ausgeblendet wenn die Chat-Window-Breite abzüglich Versions-Text unter 200 px fällt — vorher überlappte er die vier linken Slots. Ab ausreichender Breite taucht der Slot wieder auf
- Intern:
FontManagerfällt auf System-Font zurück wenn die eingebettete Hellion-Font-Resource fehlt (Broken-csproj-Pfad, nie ein Produktions-Build), plus expliziter Session-Only-Invariant-Kommentar für Auto-Tell-Tabs inPlugin.cs:167-168mit einem TempTabCounter-Init-Pin in der Build-Suite. Kein Schema-Bump, keine Migration