about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/state/messages/convo/agent.ts40
1 files changed, 17 insertions, 23 deletions
diff --git a/src/state/messages/convo/agent.ts b/src/state/messages/convo/agent.ts
index 8f520bc9e..8673c70ad 100644
--- a/src/state/messages/convo/agent.ts
+++ b/src/state/messages/convo/agent.ts
@@ -766,12 +766,12 @@ export class Convo {
       logger.DebugContext.convo,
     )
 
-    const pendingMessages = Array.from(this.pendingMessages.values())
+    const pendingMessage = Array.from(this.pendingMessages.values()).shift()
 
     /*
      * If there are no pending messages, we're done.
      */
-    if (pendingMessages.length === 0) {
+    if (!pendingMessage) {
       this.isProcessingPendingMessages = false
       return
     }
@@ -779,34 +779,28 @@ export class Convo {
     try {
       this.isProcessingPendingMessages = true
 
+      const {id, message} = pendingMessage
+
       const response = await networkRetry(2, () => {
-        return this.agent.api.chat.bsky.convo.sendMessageBatch(
+        return this.agent.api.chat.bsky.convo.sendMessage(
           {
-            items: pendingMessages.map(({message}) => ({
-              convoId: this.convoId,
-              message,
-            })),
+            convoId: this.convoId,
+            message,
           },
           {encoding: 'application/json', headers: DM_SERVICE_HEADERS},
         )
       })
+      const res = response.data
 
-      const {items} = response.data
-
-      for (let i = 0; i < items.length; i++) {
-        const msg = items[i]
-        const tempId = pendingMessages[i].id
-
-        /*
-         * Insert into `newMessages` as soon as we have a real ID. That way, when
-         * we get an event log back, we can replace in situ.
-         */
-        this.newMessages.set(msg.id, {
-          ...msg,
-          $type: 'chat.bsky.convo.defs#messageView',
-        })
-        this.pendingMessages.delete(tempId)
-      }
+      /*
+       * Insert into `newMessages` as soon as we have a real ID. That way, when
+       * we get an event log back, we can replace in situ.
+       */
+      this.newMessages.set(res.id, {
+        ...res,
+        $type: 'chat.bsky.convo.defs#messageView',
+      })
+      this.pendingMessages.delete(id)
 
       await this.processPendingMessages()