diff --git a/Sources/ContentView.swift b/Sources/ContentView.swift index e7e58e8dc44f..a8892c843970 100644 --- a/Sources/ContentView.swift +++ b/Sources/ContentView.swift @@ -12329,10 +12329,15 @@ private struct TabItemView: View, Equatable { // Closures, Bindings, and object references are excluded from == // because they're recreated every parent eval but don't affect rendering. + // Stored `@Environment` values (like `colorScheme`) are listed here so + // SwiftUI's `.equatable()` guard can compare them — adding an + // `@Environment` property without listing it is the documented + // CLAUDE.md "Snapshot boundary" pitfall. nonisolated static func == (lhs: TabItemView, rhs: TabItemView) -> Bool { lhs.tab === rhs.tab && lhs.index == rhs.index && lhs.isActive == rhs.isActive && + lhs.colorScheme == rhs.colorScheme && lhs.workspaceShortcutDigit == rhs.workspaceShortcutDigit && lhs.workspaceShortcutModifierSymbol == rhs.workspaceShortcutModifierSymbol && lhs.canCloseWorkspace == rhs.canCloseWorkspace &&