Match pending sends by a send id the server echoes
This commit is contained in:
@@ -60,7 +60,7 @@ final class ChatModel {
|
||||
case .task(let id): id.flatMap { store?.currentSession($0) }
|
||||
}
|
||||
}
|
||||
builder = TranscriptBuilder(taskId: taskId, worktree: { [weak store] in
|
||||
builder = TranscriptBuilder(taskId: taskId, local: store.sends(taskId ?? "lead"), worktree: { [weak store] in
|
||||
taskId.flatMap { store?.findTask($0)?.worktreePath } ?? ""
|
||||
}, running: {
|
||||
session()?.state == .running
|
||||
@@ -458,11 +458,11 @@ final class ChatModel {
|
||||
}
|
||||
}
|
||||
|
||||
func send(sessionId: String?, text: String, images: [String]?, model: String?, firstModel: String) async throws {
|
||||
func send(sessionId: String?, text: String, images: [String]?, model: String?, firstModel: String, sendID: String) async throws {
|
||||
let api = store.api.client
|
||||
switch kind {
|
||||
case .lead:
|
||||
_ = try await api.messageLead(body: .json(.init(text: text, images: images, model: sessionId != nil ? model : firstModel))).accepted
|
||||
_ = try await api.messageLead(body: .json(.init(text: text, images: images, model: sessionId != nil ? model : firstModel, sendId: sendID))).accepted
|
||||
case .task(let id):
|
||||
if team {
|
||||
if images != nil {
|
||||
@@ -472,10 +472,10 @@ final class ChatModel {
|
||||
return
|
||||
}
|
||||
if let sessionId {
|
||||
_ = try await api.sendMessage(path: .init(sessionId: sessionId), body: .json(.init(text: text, images: images, model: model))).accepted
|
||||
_ = try await api.sendMessage(path: .init(sessionId: sessionId), body: .json(.init(text: text, images: images, model: model, sendId: sendID))).accepted
|
||||
return
|
||||
}
|
||||
_ = try await api.createSession(path: .init(taskId: id ?? ""), body: .json(.init(prompt: text, model: firstModel, images: images))).created
|
||||
_ = try await api.createSession(path: .init(taskId: id ?? ""), body: .json(.init(prompt: text, model: firstModel, images: images, sendId: sendID))).created
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user