@@ -128,10 +128,6 @@ class ChatViewModel: Transcribable {
128128
129129 /// Continuously read `chatHistory.messagesStream` and publish changes to SwiftUI.
130130 private func observeMessageStream( ) async {
131- let throttleInterval : TimeInterval = 0.15
132- var lastUpdateTime = Date . distantPast
133- // var lastMessages: [Message] = []
134-
135131 logger. log ( " observeMessageStream started. Now waiting for new messages... " )
136132
137133 // Continuously receive updates from chatHistory
@@ -142,34 +138,12 @@ class ChatViewModel: Transcribable {
142138 // Log how many messages we got
143139 logger. log ( " Received newMessages from actor, count = \( newMessages. count) . Checking diff... " )
144140
145- // 1) Check if the array is truly different from what we last published
146- // guard newMessages != lastMessages else {
147- // logger.log("No diff from lastMessages (count=\(lastMessages.count)). Skipping update to avoid spam.")
148- // continue
149- // }
150-
151- // 2) If we have *too many updates in quick succession*, we do a small throttle
152- // let now = Date()
153- // let elapsed = now.timeIntervalSince(lastUpdateTime)
154- // let needed = throttleInterval - elapsed
155- // if needed > 0 {
156- // logger.log("Throttling. Sleeping for \(String(format: "%.2f", needed))s")
157- // try? await Task.sleep(nanoseconds: UInt64(needed * 1_000_000_000))
158- //
159- // // Check again after sleep if task was cancelled
160- // guard !Task.isCancelled else { break }
161- // }
162- //
163- // 3) Now actually publish these messages to SwiftUI
141+
142+ // Now actually publish these messages to SwiftUI
164143 logger. log ( " Publishing updated messages to SwiftUI. count= \( newMessages. count) " )
165144 await MainActor . run {
166- // Only update if the messages are still different
167- // guard self.messages != newMessages else { return }
168145 self . messages = newMessages
169146 }
170-
171- // lastMessages = newMessages
172- // lastUpdateTime = now
173147 }
174148
175149 logger. log ( " observeMessageStream completed or was cancelled. " )
0 commit comments