chore: reflow drift from v1.4.4 closure
Whitespace and line-reflow artefacts from auto-formatter passes plus a packages.lock.json indent normalisation. No content changes.
This commit is contained in:
@@ -17,19 +17,18 @@ spricht jetzt bei unbekannten ChatTypes.
|
|||||||
IPC-Callback-Methode jetzt einen 1-Zeilen-Banner darüber, der den Thread-Kontext direkt am Call-Site benennt
|
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
|
(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
|
- **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
|
geloggt, was bei Standard-Loglevel verschluckt wurde. Eine geleakte Subscription kann den Service über Plugin-Reloads
|
||||||
Plugin-Reloads hinweg leben lassen, also läuft der Log jetzt auf Warning
|
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`
|
- **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
|
unterwegs, was den Unload um 100-300 ms verzögern konnte. Pattern-Match zu MessageManager und RetentionSweep (beide
|
||||||
(beide seit v1.4.0)
|
seit v1.4.0)
|
||||||
- **Privacy-Filter loggt unbekannte ChatTypes.** Wenn FFXIV durch einen Patch einen neuen ChatType einführt der weder
|
- **Privacy-Filter loggt unbekannte ChatTypes.** Wenn FFXIV durch einen Patch einen neuen ChatType einführt der weder in
|
||||||
in der Whitelist noch in den Defaults steht, wird er bisher silent durch den Failsafe geleitet. Jetzt loggt der
|
der Whitelist noch in den Defaults steht, wird er bisher silent durch den Failsafe geleitet. Jetzt loggt der Filter
|
||||||
Filter einmalig pro Runtime eine Warning mit dem Type und dem Failsafe-Wert. Dedup über ein NonSerialized-HashSet,
|
einmalig pro Runtime eine Warning mit dem Type und dem Failsafe-Wert. Dedup über ein NonSerialized-HashSet, also kein
|
||||||
also kein Log-Spam
|
Log-Spam
|
||||||
- **Default-Flip für neue Installationen.** `PrivacyPersistUnknownChannels` startet bei neuen Configs jetzt auf `true`,
|
- **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.
|
damit ein Patch-bedingt neuer ChatType nicht stillschweigend gedroppt wird bevor der User entscheiden kann. Bestehende
|
||||||
Bestehende Configs behalten ihre Wahl, weil der Deserializer den Initializer überschreibt. Keine Migration, kein
|
Configs behalten ihre Wahl, weil der Deserializer den Initializer überschreibt. Keine Migration, kein Schema-Bump
|
||||||
Schema-Bump
|
|
||||||
|
|
||||||
Keine User-sichtbaren Funktions-Änderungen außer dem Default-Flip für neue Installationen. Settings, Themes, Tabs und
|
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.
|
das Privacy-Verhalten für Bestand bleiben unangetastet.
|
||||||
|
|||||||
@@ -287,15 +287,15 @@ An optional submission to the Dalamud main plugin repo (in addition to the custo
|
|||||||
## Project Status
|
## Project Status
|
||||||
|
|
||||||
**Version 1.4.4** — Threading and IPC safety polish on top of the v1.4.3 async-load foundation. The
|
**Version 1.4.4** — Threading and IPC safety polish on top of the v1.4.3 async-load foundation. The
|
||||||
`AutoTellTabsService` hot-path getter now reads from an `Interlocked` counter instead of taking a lock on every
|
`AutoTellTabsService` hot-path getter now reads from an `Interlocked` counter instead of taking a lock on every render
|
||||||
render frame, with a resync hook for the snapshot-restore path in `SaveConfig` and a pure-helper test mirror in the
|
frame, with a resync hook for the snapshot-restore path in `SaveConfig` and a pure-helper test mirror in the Build-Suite
|
||||||
Build-Suite repo. The Honorific integration carries per-method threading banners so the framework-thread invariant is
|
repo. The Honorific integration carries per-method threading banners so the framework-thread invariant is visible at the
|
||||||
visible at the call site, and an unsubscribe failure now logs at Warning instead of Debug — a leaked subscription
|
call site, and an unsubscribe failure now logs at Warning instead of Debug — a leaked subscription across plugin reloads
|
||||||
across plugin reloads is exactly the kind of thing that should not be silent. The AutoTranslate warmup thread is
|
is exactly the kind of thing that should not be silent. The AutoTranslate warmup thread is finally marked
|
||||||
finally marked `IsBackground = true`, matching the pattern used in `MessageManager` and `Plugin.RetentionSweep` since
|
`IsBackground = true`, matching the pattern used in `MessageManager` and `Plugin.RetentionSweep` since v1.4.0. The
|
||||||
v1.4.0. The privacy filter logs once per unknown ChatType so a future patch's added channel does not drop off the
|
privacy filter logs once per unknown ChatType so a future patch's added channel does not drop off the radar, and new
|
||||||
radar, and new installs default `PrivacyPersistUnknownChannels` to `true` as a failsafe; existing configs keep their
|
installs default `PrivacyPersistUnknownChannels` to `true` as a failsafe; existing configs keep their explicit choice.
|
||||||
explicit choice. No schema bump, no migration. Fifth sub-patch of the v1.4.x polish sweep series (as of 2026-05-12).
|
No schema bump, no migration. Fifth sub-patch of the v1.4.x polish sweep series (as of 2026-05-12).
|
||||||
|
|
||||||
Hellion Chat is a standalone plugin, no longer a fork in the repository sense. Fully completed:
|
Hellion Chat is a standalone plugin, no longer a fork in the repository sense. Fully completed:
|
||||||
|
|
||||||
|
|||||||
+11
-11
@@ -20,21 +20,21 @@ unknown ChatType shows up.
|
|||||||
in sync with `Config.Tabs` from inside the existing mutation paths. `Initialize()` seeds the counter from the
|
in sync with `Config.Tabs` from inside the existing mutation paths. `Initialize()` seeds the counter from the
|
||||||
persisted Tabs list, and `SaveConfig`'s snapshot-restore path calls a new `ResyncTempTabCounter()` so the mid-step
|
persisted Tabs list, and `SaveConfig`'s snapshot-restore path calls a new `ResyncTempTabCounter()` so the mid-step
|
||||||
`RemoveAll` doesn't leave the counter drifting. Pure-helper test mirror lives in the Build-Suite repo
|
`RemoveAll` doesn't leave the counter drifting. Pure-helper test mirror lives in the Build-Suite repo
|
||||||
- `HonorificService` per-method threading banners replace the block comment at the bottom of the file. Each IPC
|
- `HonorificService` per-method threading banners replace the block comment at the bottom of the file. Each IPC callback
|
||||||
callback (`TryInitialPull`, `OnTitleChanged`, `OnReady`, `OnDisposing`, `TryUnsubscribe`) and the `CurrentTitle`
|
(`TryInitialPull`, `OnTitleChanged`, `OnReady`, `OnDisposing`, `TryUnsubscribe`) and the `CurrentTitle` field carry a
|
||||||
field carry a one-line `// Thread:` annotation so the framework-thread invariant is visible at the call site
|
one-line `// Thread:` annotation so the framework-thread invariant is visible at the call site
|
||||||
- `TryUnsubscribe` log-level upgraded from `Debug` to `Warning`. A silent unsubscribe failure leaks a live subscription
|
- `TryUnsubscribe` log-level upgraded from `Debug` to `Warning`. A silent unsubscribe failure leaks a live subscription
|
||||||
across plugin reloads, which is exactly the kind of issue that should not be at Debug
|
across plugin reloads, which is exactly the kind of issue that should not be at Debug
|
||||||
- `AutoTranslate.PreloadCache` thread now has `IsBackground = true` and a thread name. Without `IsBackground` the
|
- `AutoTranslate.PreloadCache` thread now has `IsBackground = true` and a thread name. Without `IsBackground` the warmup
|
||||||
warmup blocks plugin unload (typically 100-300 ms). Pattern-match to `MessageManager` (F6.1) and `Plugin.RetentionSweep`
|
blocks plugin unload (typically 100-300 ms). Pattern-match to `MessageManager` (F6.1) and `Plugin.RetentionSweep`
|
||||||
(F9.3), both since v1.4.0
|
(F9.3), both since v1.4.0
|
||||||
- `Configuration.IsAllowedForStorage` adds a one-line `Plugin.Log.Warning` for the first occurrence of any ChatType
|
- `Configuration.IsAllowedForStorage` adds a one-line `Plugin.Log.Warning` for the first occurrence of any ChatType that
|
||||||
that isn't in `PrivacyPersistChannels`. Dedup via a `NonSerialized` `HashSet<ChatType>`, so the warning fires once
|
isn't in `PrivacyPersistChannels`. Dedup via a `NonSerialized` `HashSet<ChatType>`, so the warning fires once per
|
||||||
per runtime — not once per frame, not once per install. Failsafe routing through `PrivacyPersistUnknownChannels`
|
runtime — not once per frame, not once per install. Failsafe routing through `PrivacyPersistUnknownChannels` is
|
||||||
is unchanged
|
unchanged
|
||||||
- `PrivacyPersistUnknownChannels` field default flipped from `false` to `true` for new installs via a constant in
|
- `PrivacyPersistUnknownChannels` field default flipped from `false` to `true` for new installs via a constant in
|
||||||
`PrivacyDefaults`. Existing configs keep their explicit choice — the deserializer overrides the initializer. No
|
`PrivacyDefaults`. Existing configs keep their explicit choice — the deserializer overrides the initializer. No schema
|
||||||
schema bump, no migration, no first-run banner
|
bump, no migration, no first-run banner
|
||||||
|
|
||||||
Modding & support: join Hellion Forge — <https://discord.gg/X9V7Kcv5gR>
|
Modding & support: join Hellion Forge — <https://discord.gg/X9V7Kcv5gR>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user