Private
Public Access
1
0

Settings, no password yet

This commit is contained in:
2025-08-25 00:13:55 -07:00
parent f0029d02e1
commit f0fd738935
5 changed files with 173 additions and 3 deletions

View File

@@ -42,7 +42,7 @@ struct TranscriptView: View
model.setNeedsReload(animated: true)
}
case .updateStreamReconnected:
model.setNeedsReload(animated: false)
await model.triggerSync()
default:
break
}
@@ -79,8 +79,9 @@ struct TranscriptView: View
var displayItems: [DisplayItem] = []
var displayedConversation: Display.Conversation.ID? = nil
internal var needsReload: NeedsReload = .yes(false)
internal var needsReload: NeedsReload = .no
internal var messages: [Display.Message]
internal let client = XPCClient()
init(messages: [Display.Message] = []) {
self.messages = messages
@@ -89,6 +90,10 @@ struct TranscriptView: View
}
func setNeedsReload(animated: Bool) {
guard case .no = needsReload else {
return
}
needsReload = .yes(animated)
Task { @MainActor [weak self] in
guard let self else { return }
@@ -108,12 +113,24 @@ struct TranscriptView: View
Task { @MainActor [weak self] in
guard let self else { return }
await triggerSync()
setNeedsReload(animated: false)
observeDisplayedConversation()
}
}
}
func triggerSync() async {
guard let displayedConversation else { return }
do {
try await client.syncConversation(conversationId: displayedConversation)
} catch {
print("Error triggering sync: \(error)")
}
}
private func reloadMessages() async {
guard case .yes(let animated) = needsReload else { return }
needsReload = .no
@@ -121,7 +138,6 @@ struct TranscriptView: View
guard let displayedConversation else { return }
do {
let client = XPCClient()
let clientMessages = try await client.getMessages(conversationId: displayedConversation)
.map { Display.Message(from: $0) }