4b43fdb0ad
Settings.Save() unconditionally ran ClearAllTabs + FilterAllTabsAsync after every save. The cycle reloads messages from the DB, which silently wipes any in-session message that wasn't persisted — Privacy-First configurations block most channels from the DB, so all unlogged channels (Allgemein/Say/Yell/Shout under default filters) showed up empty after every settings save. New HasFilterRelevantChanges helper compares Mutable to Plugin.Config across: - PrivacyFilterEnabled - PrivacyPersistChannels (HashSet<ChatType>) - PrivacyPersistUnknownChannels - FilterIncludePreviousSessions - per-persistent-tab: Identifier (reorder/swap), SelectedChannels, ExtraChatAll, ExtraChatChannels Refilter only runs if any of those changed. Cosmetic settings (theme, tab icons, layout, fonts, language) leave the chat log untouched. Combined with the prior UpdateFrom Identifier-mapping fix and the TempTab skip in ClearAllTabs/FilterAllTabs, both persistent and Auto-Tell tabs now fully survive a settings save. Reported by Flo from in-game testing 2026-05-05/06: 'der allgemein chat tab z.b immernoch gecleart wird' / 'alle vom plugin nicht geloggten channel sind dann leer'. Also updated yaml changelog, docs/CHANGELOG.md and .github/forge-posts/ v1.2.0.md to describe the actual fix shape rather than the partial UpdateFrom-only fix that preceded it.
18 lines
2.1 KiB
Markdown
18 lines
2.1 KiB
Markdown
---
|
|
subtitle: "Layout Refresh"
|
|
versionsnatur: "Major-UI-Cycle"
|
|
---
|
|
- Sidebar im modernisiertem Layout: nur noch Icons in fixer 44 px Breite, Tab-Name als Tooltip beim Hover, vertikale Akzent-Pill markiert den aktiven Tab
|
|
- Top-Tabs bekommen eine 2 px Akzent-Underline am unteren Rand statt Background-Fill für den aktiven Tab
|
|
- Pro Tab eigenes Icon zuweisbar via Settings → Tabs (15 FontAwesome-Glyphen-Pool)
|
|
- Bottom-Status-Bar (22 px) zeigt fünf Live-Signale: aktiver Channel mit Color-Dot, Privacy-Badge, Tab- und Message-Counter, Auto-Tell-Counter, Plugin-Version. Update einmal pro Sekunde, gecached
|
|
- Card-Rows als Default-Layout für Messages: Sender-Header in Channel-Farbe, Body auf eigener Zeile, dezenter Trenner zwischen den Karten
|
|
- `Compact Density`-Toggle in Aussehen schaltet zurück auf den klassischen Einzeiler `[HH:mm] Sender: Text`
|
|
- Auto-Tell-Tabs unterscheiden sich jetzt visuell: jeder Tell-Partner bekommt ein eigenes Icon (envelope/star/heart/bell/bookmark/flag/fire) plus eigene Farbe aus 12-Farb-Palette — 84 Icon-Farb-Kombinationen, gleicher Partner ergibt konsistent dieselbe Kombination
|
|
- Pulsierender roter Dot oben rechts am Sidebar-Icon wenn ein Tab ungelesene Nachrichten hat. Sanft, 2-Sekunden-Cycle, lässt sich über `Configuration.ReduceMotion` deaktivieren (UI-Toggle kommt in v1.3.0)
|
|
- Migration v14 → v15: alte `HellionThemeEnabled` und `HellionThemeWindowOpacity` Konfigurationsfelder entfernt, alle anderen Settings bleiben erhalten
|
|
- Bug-Fix: Settings speichern zerstört nicht mehr den Chat-Verlauf. Der schwere Refilter-Cycle läuft jetzt nur noch wenn sich Filter-relevante Settings tatsächlich geändert haben (Privacy-Filter, gemerkte Channels, Tab-Channel-Auswahl) — Cosmetic-Änderungen wie Theme oder Tab-Icons lassen den Chat unverändert. Persistente Tabs und Auto-Tell-Tabs überleben beide
|
|
- Bug-Fix: Sidebar-Buttons sitzen jetzt vertikal in einer Linie mit der ersten Message-Zeile, Status-Bar-Versionsname wird vollständig angezeigt
|
|
|
|
Animation-Polish (Lerps, Theme-Crossfade, Header-Quick-Picker) folgt in v1.3.0. v1.2.0 ist bewusst Hard-Switch — sauberes Layout zuerst, Bewegung später.
|