chore: bump version to 1.4.5
Manifest sync across csproj, yaml, repo.json, README, CHANGELOG, ROADMAP and the Plugin.cs schema-gate error message. ROADMAP also gets the v1.4.4 release block that was missed in that cycle's closure. Forge-post v1.4.5.md follows the established frontmatter + DE-body convention; the EN block is sourced from the yaml changelog by the forge-announce workflow.
This commit is contained in:
@@ -10,6 +10,35 @@ to the release pages for details.
|
||||
|
||||
---
|
||||
|
||||
## Hellion Chat 1.4.5 — UX and Robustness (2026-05-12)
|
||||
|
||||
Sixth sub-patch of the v1.4.x polish-sweep series. User-visible robustness fixes plus two doc/test polish items from the
|
||||
audit backlog. No schema bump, no migration.
|
||||
|
||||
- `ChatLogWindow.Draw` now surfaces a one-shot warning notification when the draw path throws. The stack trace still
|
||||
goes to `/xllog` via `Plugin.Log.Error`; the notification is suppressed for the rest of the plugin session so a
|
||||
recurring failure can't spam the notification stack frame-by-frame. Pattern-match to the existing
|
||||
`Plugin.cs:505-516` migration-blocker notification
|
||||
- `FirstRunWizard` splits accept from close. `OnClose` no longer silently sets `FirstRunCompleted`, so closing the X
|
||||
leaves the wizard pending and it reopens on the next plugin load. A new footer "Later — keep defaults" button is the
|
||||
explicit path to dismiss without picking a profile. Bilingual strings (EN + DE) plus a tooltip
|
||||
- `InputHistoryService.Reset` is wired into `Plugin.DisposeAsync` alongside the existing pure-memory cleanups. Static
|
||||
state used to survive a plugin reload — the next load now starts with an empty history
|
||||
- `FontManager.GetHellionFontBytes` becomes `TryGetHellionFontBytes` with a nullable return. On miss (broken csproj,
|
||||
hand-rolled dev build) the caller falls back to the system-font path that `UseHellionFont=false` already uses, plus a
|
||||
`Plugin.Log.Warning`. The whole UiBuilder no longer throws if the embedded font resource is absent
|
||||
- `Plugin.cs:167-168` gets a 4-line reasoning comment around the session-only `RemoveAll(IsTempTab)`: tells are usually
|
||||
privacy-filtered, resurrecting an empty crashed-session tab would trigger DB reconstruction on the next load.
|
||||
`TempTabCounter.InitFromList` mirrors the post-strip semantic in the Build-Suite with a pinning test
|
||||
- `StatusBar.cs` drops the version slot when the chat window's content width minus the version text is below 200 px.
|
||||
The right-aligned version used to clip into the four left-side slots in narrow windows
|
||||
|
||||
Modding & support: join Hellion Forge — <https://discord.gg/X9V7Kcv5gR>
|
||||
|
||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||
|
||||
---
|
||||
|
||||
## Hellion Chat 1.4.4 — Threading and IPC Safety Polish (2026-05-12)
|
||||
|
||||
Fifth sub-patch of the v1.4.x polish-sweep series. Threading assumptions are documented per-method, a hot-path lock
|
||||
|
||||
+27
-4
@@ -10,14 +10,37 @@ the plugin's privacy-first scope during brainstorming.
|
||||
|
||||
---
|
||||
|
||||
## Next Cycle (v1.4.4)
|
||||
## Next Cycle (v1.4.6)
|
||||
|
||||
**Window-Lazy-Open + Render-Init-Cost Optimisation** — take the `IAsyncDalamudPlugin` foundation laid in v1.4.3 and turn
|
||||
it into wins users can actually feel. Window construction deferred until first open, render-path init cost reduced in
|
||||
the first frames. Concrete candidates and size estimates will be consolidated in the v1.4.4 brainstorm.
|
||||
**Code-Hygiene + Refactor.** Build-side pre-commit hook with csharpier-check as a hard gate so format drift can't reach
|
||||
a commit (~30 min). Plus the cycle absorbs whatever surfaces from v1.4.5 smoke that doesn't justify a hotfix. Concrete
|
||||
scope is consolidated in the v1.4.6 brainstorm.
|
||||
|
||||
---
|
||||
|
||||
## v1.4.5 — UX and Robustness (released 2026-05-12)
|
||||
|
||||
Sixth sub-patch of the v1.4.x Polish Sweep series. User-visible robustness polish plus two doc/test polish items from
|
||||
the audit backlog. Chat-log draw failures now surface as a one-shot notification instead of failing silently. The
|
||||
first-run wizard splits accept from close: `OnClose` no longer silently sets `FirstRunCompleted`, and a new footer
|
||||
"Later — keep defaults" button is the explicit path to dismiss without picking a profile. `InputHistoryService` clears
|
||||
on plugin dispose so the previous session's typed commands don't bleed into the next load. `FontManager` falls back to
|
||||
the system font path if the embedded Hellion font resource is missing (broken-csproj / dev-build only). The status bar
|
||||
hides the version slot when the chat window is too narrow to fit all five slots without overlap. Plus
|
||||
`Plugin.cs:167-168` gains an explicit session-only Auto-Tell-Tab invariant comment with a `TempTabCounter.InitFromList`
|
||||
pin in the Build-Suite. No schema bump, no migration.
|
||||
|
||||
## v1.4.4 — Threading and IPC Safety Polish (released 2026-05-12)
|
||||
|
||||
Fifth sub-patch of the v1.4.x Polish Sweep series. `AutoTellTabsService.ActiveTempTabCount` switches from a
|
||||
lock-protected LINQ `Count` to an `Interlocked` counter kept in sync from inside the existing mutation paths;
|
||||
`Initialize()` seeds from the persisted Tabs list and `SaveConfig`'s snapshot-restore path calls a new
|
||||
`ResyncTempTabCounter()` after the mid-step `RemoveAll`. `HonorificService` carries per-method threading banners and
|
||||
`TryUnsubscribe`'s log level moves from Debug to Warning. `AutoTranslate.PreloadCache` is marked `IsBackground = true`
|
||||
so plugin unload no longer waits for it. `Configuration.IsAllowedForStorage` logs once per unknown ChatType via a
|
||||
`NonSerialized` `HashSet`, and `PrivacyPersistUnknownChannels` default flips to `true` for new installs. No schema
|
||||
bump, no migration.
|
||||
|
||||
## v1.4.3 — Plugin-Load Async-Init + Repo-Cutover (released 2026-05-08)
|
||||
|
||||
Fourth and largest sub-patch of the v1.4.x Polish Sweep series. Plugin migrated to Dalamud's `IAsyncDalamudPlugin` API:
|
||||
|
||||
Reference in New Issue
Block a user