Skip to content

Commit 5234283

Browse files
committed
feat: randomize order when sending broadcast message and catch timeout errors
1 parent e229d03 commit 5234283

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

apps/api/src/chat/services/broadcast.consumer.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ export class BroadcastConsumer {
7676
const totalContacts = contacts.length
7777
contacts = contacts.filter((contact) => !campaignMessageAddresses.includes(contact.address))
7878

79+
contacts = contacts.sort(() => Math.random() - 0.5)
80+
7981
if (campaign.state === CampaignState.Pending) {
8082
campaign.state = CampaignState.Running
8183
await this.campaignService.updateOneNative(
@@ -135,7 +137,11 @@ export class BroadcastConsumer {
135137
campaign.processed++
136138
job.progress(campaign.processed / campaign.total)
137139
} catch (e) {
138-
if (e.message.includes('is not on the XMTP network') || e.message.includes('self messaging not supported')) {
140+
if (
141+
e.message.includes('is not on the XMTP network') ||
142+
e.message.includes('self messaging not supported') ||
143+
e.message.includes('Message sending timed out')
144+
) {
139145
try {
140146
await this.campaignMessageService.createOne({
141147
campaign: campaign._id,

0 commit comments

Comments
 (0)