Keep queued messages visible across task switches

This commit is contained in:
Ian Gulliver
2026-10-17 15:33:59 -07:00
parent 24b04966dc
commit 5188b33522
5 changed files with 40 additions and 10 deletions
+9 -2
View File
@@ -16,15 +16,22 @@ type TaskInput struct {
CreatedAt time.Time
}
func (s *Store) AddTaskInput(ctx context.Context, in TaskInput) error {
func (s *Store) AddTaskInput(ctx context.Context, in TaskInput, projectID, sessionID string) error {
images, err := json.Marshal(append([]string{}, in.Images...))
if err != nil {
return err
}
payload := map[string]any{"text": in.Text}
if len(in.Images) > 0 {
payload["images"] = in.Images
}
return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error {
_, err := tx.ExecContext(ctx, `INSERT INTO task_inputs (task_id, actor, text, images, created_at) VALUES (?, ?, ?, ?, ?)`,
in.TaskID, in.Actor, in.Text, string(images), now())
return err
if err != nil {
return err
}
return emit(sessionEvent("user.queued", projectID, in.TaskID, "", sessionID, in.Actor, payload))
})
}