---
subtitle: Threading- und IPC-Sicherheits-Politur
versionsnatur: Wartung und Robustheit
---

**Hellion Chat 1.4.4 — Threading- und IPC-Sicherheits-Politur**

Fünfter Sub-Patch der v1.4.x Polish-Sweep-Serie. Threading-Annahmen werden explizit pro Methode
dokumentiert, ein Hot-Path-Lock im Auto-Tell-Tab-Counter fällt weg, IPC-Cleanup wird sichtbar wenn
er fehlschlägt und der Privacy-Filter spricht jetzt bei unbekannten ChatTypes.

- **AutoTellTabsService Hot-Path-Lock entfernt.** `ActiveTempTabCount` hat bisher pro Render-Frame
  ein LINQ-Count unter einem Lock gemacht. Jetzt läuft das über einen Interlocked-Counter der
  parallel zur Tabs-Liste mitgeführt wird, inklusive Resync-Hook für den Snapshot-Restore-Pfad in
  `SaveConfig`. Plus Pure-Helper-Test-Mirror in der Build-Suite damit die Atomicity-Semantik nicht
  versehentlich wegrefactored wird
- **HonorificService selbst-dokumentierende Threading-Banner.** Statt eines Block-Comments am
  Klassen-Ende hat jede IPC-Callback-Methode jetzt einen 1-Zeilen-Banner darüber, der den
  Thread-Kontext direkt am Call-Site benennt (framework only, framework scheduled, any). Mehr Hilfe
  für künftige Reviews als ein abstraktes Threading-Kapitel
- **Unsubscribe-Failure ist jetzt sichtbar.** `TryUnsubscribe` hat ein Honorific-Unsubscribe-Failure
  bisher als Debug geloggt, was bei Standard-Loglevel verschluckt wurde. Eine geleakte Subscription
  kann den Service über Plugin-Reloads hinweg leben lassen, also läuft der Log jetzt auf Warning
- **AutoTranslate-Warmup blockiert den Plugin-Unload nicht mehr.** Der Cache-Warmup-Thread war ohne
  `IsBackground=true` unterwegs, was den Unload um 100-300 ms verzögern konnte. Pattern-Match zu
  MessageManager und RetentionSweep (beide seit v1.4.0)
- **Privacy-Filter loggt unbekannte ChatTypes.** Wenn FFXIV durch einen Patch einen neuen ChatType
  einführt der weder in der Whitelist noch in den Defaults steht, wird er bisher silent durch den
  Failsafe geleitet. Jetzt loggt der Filter einmalig pro Runtime eine Warning mit dem Type und dem
  Failsafe-Wert. Dedup über ein NonSerialized-HashSet, also kein Log-Spam
- **Default-Flip für neue Installationen.** `PrivacyPersistUnknownChannels` startet bei neuen
  Configs jetzt auf `true`, damit ein Patch-bedingt neuer ChatType nicht stillschweigend gedroppt
  wird bevor der User entscheiden kann. Bestehende Configs behalten ihre Wahl, weil der Deserializer
  den Initializer überschreibt. Keine Migration, kein Schema-Bump

Keine User-sichtbaren Funktions-Änderungen außer dem Default-Flip für neue Installationen. Settings,
Themes, Tabs und das Privacy-Verhalten für Bestand bleiben unangetastet.
