@@ -54,6 +54,7 @@ internal struct EditorTabPayload: Codable, Hashable {
5454 internal let initialFilterState : TabFilterState ?
5555 /// Source file URL for .sql files opened from disk (used for deduplication)
5656 internal let sourceFileURL : URL ?
57+ internal let sourceFileStamp : FileStamp ?
5758 /// Schema key for ER diagram tabs
5859 internal let erDiagramSchemaKey : String ?
5960 /// The routine or trigger a .objectSource tab shows
@@ -69,7 +70,7 @@ internal struct EditorTabPayload: Codable, Hashable {
6970 case initialQuery, isView, objectType, showStructure, skipAutoExecute, isPreview
7071 case forcesNewTab
7172 case tabTitle
72- case initialFilterState, sourceFileURL, erDiagramSchemaKey, objectRef, versionHistorySubject, intent
73+ case initialFilterState, sourceFileURL, sourceFileStamp , erDiagramSchemaKey, objectRef, versionHistorySubject, intent
7374 // Legacy key for backward decoding only
7475 case isNewTab
7576 }
@@ -90,6 +91,7 @@ internal struct EditorTabPayload: Codable, Hashable {
9091 forcesNewTab: Bool = false ,
9192 initialFilterState: TabFilterState ? = nil ,
9293 sourceFileURL: URL ? = nil ,
94+ sourceFileStamp: FileStamp ? = nil ,
9395 erDiagramSchemaKey: String ? = nil ,
9496 objectRef: DatabaseObjectRef ? = nil ,
9597 versionHistorySubject: VersionHistorySubject ? = nil ,
@@ -111,6 +113,7 @@ internal struct EditorTabPayload: Codable, Hashable {
111113 self . forcesNewTab = forcesNewTab
112114 self . initialFilterState = initialFilterState
113115 self . sourceFileURL = sourceFileURL
116+ self . sourceFileStamp = sourceFileStamp
114117 self . erDiagramSchemaKey = erDiagramSchemaKey
115118 self . objectRef = objectRef
116119 self . versionHistorySubject = versionHistorySubject
@@ -138,6 +141,7 @@ internal struct EditorTabPayload: Codable, Hashable {
138141 forcesNewTab = try container. decodeIfPresent ( Bool . self, forKey: . forcesNewTab) ?? false
139142 initialFilterState = try container. decodeIfPresent ( TabFilterState . self, forKey: . initialFilterState)
140143 sourceFileURL = try container. decodeIfPresent ( URL . self, forKey: . sourceFileURL)
144+ sourceFileStamp = try container. decodeIfPresent ( FileStamp . self, forKey: . sourceFileStamp)
141145 erDiagramSchemaKey = try container. decodeIfPresent ( String . self, forKey: . erDiagramSchemaKey)
142146 objectRef = try container. decodeIfPresent ( DatabaseObjectRef . self, forKey: . objectRef)
143147 versionHistorySubject = try container. decodeIfPresent ( VersionHistorySubject . self, forKey: . versionHistorySubject)
@@ -167,6 +171,7 @@ internal struct EditorTabPayload: Codable, Hashable {
167171 try container. encode ( forcesNewTab, forKey: . forcesNewTab)
168172 try container. encodeIfPresent ( initialFilterState, forKey: . initialFilterState)
169173 try container. encodeIfPresent ( sourceFileURL, forKey: . sourceFileURL)
174+ try container. encodeIfPresent ( sourceFileStamp, forKey: . sourceFileStamp)
170175 try container. encodeIfPresent ( erDiagramSchemaKey, forKey: . erDiagramSchemaKey)
171176 try container. encodeIfPresent ( objectRef, forKey: . objectRef)
172177 try container. encodeIfPresent ( versionHistorySubject, forKey: . versionHistorySubject)
@@ -191,6 +196,7 @@ internal struct EditorTabPayload: Codable, Hashable {
191196 self . forcesNewTab = false
192197 self . initialFilterState = nil
193198 self . sourceFileURL = tab. content. sourceFileURL
199+ self . sourceFileStamp = nil
194200 self . erDiagramSchemaKey = tab. display. erDiagramSchemaKey
195201 self . objectRef = tab. display. objectRef
196202 self . versionHistorySubject = tab. display. versionHistorySubject
0 commit comments