Handle failures
This commit is contained in:
+26
-26
@@ -279,6 +279,8 @@ export class Convo {
|
|||||||
* this.pastMessages.set(log.message.id, log.message)
|
* this.pastMessages.set(log.message.id, log.message)
|
||||||
*/
|
*/
|
||||||
this.pastMessages.delete(log.message.id)
|
this.pastMessages.delete(log.message.id)
|
||||||
|
this.newMessages.delete(log.message.id)
|
||||||
|
this.deletedMessages.delete(log.message.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -412,6 +414,30 @@ export class Convo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async deleteMessage(messageId: string) {
|
||||||
|
this.deletedMessages.add(messageId)
|
||||||
|
this.commit()
|
||||||
|
|
||||||
|
try {
|
||||||
|
await this.agent.api.chat.bsky.convo.deleteMessageForSelf(
|
||||||
|
{
|
||||||
|
convoId: this.convoId,
|
||||||
|
messageId,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
encoding: 'application/json',
|
||||||
|
headers: {
|
||||||
|
Authorization: this.__tempFromUserDid,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)
|
||||||
|
} catch (e) {
|
||||||
|
this.deletedMessages.delete(messageId)
|
||||||
|
this.commit()
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Items in reverse order, since FlatList inverts
|
* Items in reverse order, since FlatList inverts
|
||||||
*/
|
*/
|
||||||
@@ -514,32 +540,6 @@ export class Convo {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async deleteMessage(messageId: string) {
|
|
||||||
this.deletedMessages.add(messageId)
|
|
||||||
this.commit()
|
|
||||||
|
|
||||||
await this.agent.api.chat.bsky.convo.deleteMessageForSelf(
|
|
||||||
{
|
|
||||||
convoId: this.convoId,
|
|
||||||
messageId,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
encoding: 'application/json',
|
|
||||||
headers: {
|
|
||||||
Authorization: this.__tempFromUserDid,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
// remove from optimistic
|
|
||||||
this.deletedMessages.delete(messageId)
|
|
||||||
// remove from either new or past messages
|
|
||||||
this.pastMessages.delete(messageId)
|
|
||||||
this.newMessages.delete(messageId)
|
|
||||||
// commit
|
|
||||||
this.commit()
|
|
||||||
}
|
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
this.status = ConvoStatus.Destroyed
|
this.status = ConvoStatus.Destroyed
|
||||||
this.commit()
|
this.commit()
|
||||||
|
|||||||
Reference in New Issue
Block a user