Files
HellionChat/.github/forge-posts/v1.4.7.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.4 KiB
Raw Blame History

subtitle, versionsnatur
subtitle versionsnatur
Backlog Cleanup and Mid-Features Mid-Feature-Patch

Achter Sub-Patch der v1.4.x Polish-Sweep-Serie. Erstes User-sichtbares Feature-Bundle seit v1.4.5 — angepinnte Tell-Tabs die Relog überleben, opt-in Honorific-Glow, plus eine konfigurierbare Sidebar.

  • TempTell anpinnen: Rechtsklick auf einen TempTell-Tab in der Sidebar → „Tab anpinnen". Angepinnte Tabs überleben Plugin-Reload und Char-Logout, behalten ihre Konversations-Historie (wird beim Rehydrate aus dem MessageStore nachgeladen) und bleiben an die gleiche /tell-Person gebunden. Hard-Cap 5 angepinnte Tabs in einem separaten Pool — die normalen Auto-Tell-Tabs (15er Cap) sind davon entkoppelt, Gesamt-Decke 20. Die Sidebar gruppiert angepinnte Tabs in einer eigenen „Angepinnt"-Sektion mit eigenem Trenner.
  • Honorific Glow-Outline: rendert jetzt eine 8-Richtungs-DrawList-Outline wenn der Honorific-Titel eine Glow-Farbe trägt. Opt-in via Settings → Integrationen → Glow-Outline rendern (Honorific) (Default OFF). Gradient (Color3 / GradientColourSet / Wave / Pulse) wird geparst und im DTO weitergereicht, rendert aktuell aber statisch als Primärfarbe — der volle Gradient-Port (Animations-Algorithmus + Pride-Palette) kommt als eigener Cycle nach.
  • Sidebar-Breite konfigurierbar: in Theme & Layout ein Slider 44160 px. Default bleibt 44 px (icon-only), aber breiter machen damit Sektion-Header wie „Aktive Tells (3)" oder „Angepinnt (2)" nicht abgeschnitten werden.
  • Settings-Save Channel-Fix: ein Save mit aktivem Party- oder Linkshell-Tab konnte den Chat-Input zurück auf /tell <angepinnte Person> springen lassen. Configuration.UpdateFrom bewahrt jetzt den Runtime-CurrentChannel über den persistent-Tab-Merge hinweg, und TabSwitched deep-cloned den Seed-Channel statt sich den UsedChannel mit dem vorigen Tab zu teilen.
  • Internal: IPluginLogProxy-Indirektion vor Dalamud's IPluginLog über alle ~91 Plugin.Log-Call-Sites. Damit läuft MessageStore.Migrate0 voll-isoliert in xUnit (F12.1-Lücke aus v1.4.6 geschlossen). Plus: TempTab-Counter als abgeleitete Property statt gecachtes Interlocked-Feld — die neuen Pin/Unpin-Übergänge sind Cold-Path, kein Lock-Free-Vorteil mehr. Migration v16 → v17 ist rein additiv (neues Tab.IsPinned-Bool, Default false).

Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).