Match pending sends by a send id the server echoes
This commit is contained in:
@@ -373,7 +373,7 @@ func (m *Manager) Deliver(ctx context.Context, sessionID string) error {
|
||||
for _, p := range pending {
|
||||
images = append(images, p.Response.Images...)
|
||||
}
|
||||
after, err := m.turn(ctx, sess, task, pending[0].Response.User, deliveryMessage(pending), images)
|
||||
after, err := m.turn(ctx, sess, task, pending[0].Response.User, deliveryMessage(pending), "", images)
|
||||
if errors.Is(err, ErrConflict) {
|
||||
slog.Info("deliver held: session changed state", "session", sessionID, "err", err, "responses", ids)
|
||||
return nil
|
||||
@@ -412,7 +412,7 @@ func (m *Manager) deliverMidTurn(ctx context.Context, l *live) midTurn {
|
||||
}
|
||||
msgs := []queued{}
|
||||
for _, in := range inputs {
|
||||
msgs = append(msgs, queued{actor: in.Actor, text: in.Text})
|
||||
msgs = append(msgs, queued{actor: in.Actor, text: in.Text, sendID: in.SendID})
|
||||
}
|
||||
return midTurn{text: m.recordQueued(ctx, l, msgs), leadInputs: inputs}
|
||||
}
|
||||
@@ -435,7 +435,7 @@ func (m *Manager) deliverMidTurn(ctx context.Context, l *live) midTurn {
|
||||
if len(mt.taskInputs) > 0 {
|
||||
msgs := []queued{}
|
||||
for _, in := range mt.taskInputs {
|
||||
msgs = append(msgs, queued{actor: in.Actor, text: in.Text})
|
||||
msgs = append(msgs, queued{actor: in.Actor, text: in.Text, sendID: in.SendID})
|
||||
}
|
||||
parts = append(parts, m.recordQueued(ctx, l, msgs))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user