namespace HellionChat.Util; // Pure predicates for the TempTab pin lifecycle. Extracted from the strip // sites in Plugin.cs and Configuration.cs so they stay in lockstep — a // load-time strip that disagrees with the save-time strip is exactly how // pinned tabs would silently fall out of the JSON. internal static class TabLifecycleHelpers { public static bool IsInUnpinnedPool(Tab t) => t.IsTempTab && !t.IsPinned; public static bool IsInPinnedPool(Tab t) => t.IsTempTab && t.IsPinned; public static bool ShouldStripOnLoad(Tab t) => IsInUnpinnedPool(t); public static bool ShouldStripOnSave(Tab t) => IsInUnpinnedPool(t); }