about summary refs log tree commit diff
path: root/src/state/messages/convo
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2024-05-24 10:01:30 -0500
committerGitHub <noreply@github.com>2024-05-24 10:01:30 -0500
commit2897b79befad6bc633bf54b9ef849273879e716a (patch)
tree400696d9794e1306f4721966429a85e998fb5fe4 /src/state/messages/convo
parent85782aeb930b63995d83157f581f66e564743626 (diff)
downloadvoidsky-2897b79befad6bc633bf54b9ef849273879e716a.tar.zst
Make sure failed messages enter error state (#4210)
Diffstat (limited to 'src/state/messages/convo')
-rw-r--r--src/state/messages/convo/agent.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/state/messages/convo/agent.ts b/src/state/messages/convo/agent.ts
index 71b0b6f2d..a0355ab07 100644
--- a/src/state/messages/convo/agent.ts
+++ b/src/state/messages/convo/agent.ts
@@ -830,9 +830,10 @@ export class Convo {
       if (NETWORK_FAILURE_STATUSES.includes(e.status)) {
         this.pendingMessageFailure = 'recoverable'
       } else {
+        this.pendingMessageFailure = 'unrecoverable'
+
         switch (e.message) {
           case 'block between recipient and sender':
-            this.pendingMessageFailure = 'unrecoverable'
             this.emitter.emit('event', {
               type: 'invalidate-block-state',
               accountDids: [
@@ -842,9 +843,14 @@ export class Convo {
             })
             break
           case 'Account is disabled':
-            this.pendingMessageFailure = 'unrecoverable'
             this.dispatch({event: ConvoDispatchEvent.Disable})
             break
+          case 'Convo not found':
+          case 'Account does not exist':
+          case 'recipient does not exist':
+          case 'recipient requires incoming messages to come from someone they follow':
+          case 'recipient has disabled incoming messages':
+            break
           default:
             logger.warn(
               `Convo handleSendMessageFailure could not handle error`,
@@ -857,6 +863,7 @@ export class Convo {
         }
       }
     } else {
+      this.pendingMessageFailure = 'unrecoverable'
       logger.error(e, {
         context: `Convo handleSendMessageFailure received unknown error`,
       })