e33cf0dcb9
DE body for the Hellion Forge Discord embed; subtitle and versionsnatur frontmatter fields within the 60/40 char caps; embed-total ~2267/5500 per the changelog-sync verifier.
2.2 KiB
2.2 KiB
subtitle, versionsnatur
| subtitle | versionsnatur |
|---|---|
| Code Hygiene and Refactor | Maintenance-Cycle |
Wartungs-Patch ohne User-sichtbare Änderungen. Saubere Code-Basis als Vorbereitung auf das v1.4.7-Backlog-Cleanup, plus zwei geerbte Bugfixes aus dem ChatTwo-Upstream f35b7d3.
- preflight.sh härter: csharpier-Reflow-Check (Block E) und markdownlint (Block F) laufen jetzt im Pre-Push-Gate, statt erst beim Pre-Merge-Review aufzufallen.
- FontManager-Fallback robuster: Atlas-Toolkit-Throws aus kaputten Font-Configs (IO, InvalidOperation, ArgumentException) fallen jetzt zuverlässig auf NotoSansCjkRegular, statt den Atlas-Build mitzureißen. Der Exception-Typ wird im Log mitgegeben für die Diagnose.
- URL-Validation beim Plugin-Load: BrandingLinks (5 URLs) und IntegrationLinks (2 URLs) werden via
[ModuleInitializer]geprüft. Ein Tippfehler bei einer künftigen URL-Rotation wirft jetzt sofort beim Plugin-Load, statt still beim Klick zu scheitern. - Cherry-Pick aus ChatTwo
f35b7d3— Memory-Leak inChat.SetChannel: der nativeUtf8Stringwird jetzt auch dann freigegeben, wenn der Linkshell-Check den Channel ablehnt (vorher gefangen im early-return). - Cherry-Pick aus ChatTwo
f35b7d3—Tab.Clone()Deep-cloned jetztUsedChannelundTellTarget. Vorher Reference-Share-Bug: PopOut- und Temp-Tabs mutierten sich gegenseitig. - Aktive-Tab-Underline pixel-perfect bei DPI-Scaling: Die Underline-Pill skaliert jetzt mit
ImGuiHelpers.GlobalScaleund rundet die DrawList-Koordinaten auf physische Pixel. Kein Sub-Pixel-Blur mehr auf 125/150%-Setups. - IconButton-Width-Fix: der manuelle
width - 2 * CellPadding.X-Subtract verlor den HUD-Scale (Padding skaliert, der raw int nicht). Gemessene Breite läuft jetzt unverändert durch. - Test-Isolation für MessageStore:
Dalamud.Utility.Util-Surface (IsWine, OpenLink) läuft jetzt durch eineIPlatformUtil-Indirektion. MessageStoresIsWine-Probe ist isoliert testbar in der Build-Suite. Plus: HellionStyle-ChildBgAlpha als Pure-Helper extrahiert, Plugin.SaveConfig kopiert nur Session-Tabs statt der ganzen Tab-Liste, SettingsOverview cached den DrawList einmal pro Frame.
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).