Settings, no password yet
This commit is contained in:
@@ -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) }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user