fix(settings): conditional refilter on save — preserve chat history for cosmetic changes
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.
This commit is contained in:
@@ -11,7 +11,7 @@ versionsnatur: "Major-UI-Cycle"
|
||||
- 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 — weder bei den dauerhaften Tabs noch bei den Auto-Tell-Tabs
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user