-
Notifications
You must be signed in to change notification settings - Fork 172
Open
Labels
bugSomething isn't workingSomething isn't workingduplicateThis issue or pull request already existsThis issue or pull request already exists
Description
Describe the Bug
Webhooks are being sent twice to the server. Almost the same as issue #301 except for timing (both requests seen within a second on the server side) and app version (1.52.1)
To Reproduce
Steps to reproduce the behavior:
- Configure webhook endpoint in SMS Gate app with sms:received
- Receive an SMS message on the device
- Observe webhook delivery in server logs
- There are two identical POST requests within a second of each other
Expected vs Actual Behavior
- Expected: Single webhook POST request sent per SMS event
- Actual: Two identical webhook POST requests sent for each SMS event
Screenshots
2026-01-19 20:11:53 10.0.1.30 POST /sms/ReceiveSms apiToken=samplapikey 443 - 10.0.2.13 me.capcom.smsgateway/1.52.1 - 200 0 0 179 681 31
2026-01-19 20:11:53 10.0.1.30 POST /sms/ReceiveSms apiToken=samplapikey 443 - 10.0.2.13 me.capcom.smsgateway/1.52.1 - 200 0 0 179 681 31
Environment
- App Version: 1.52.1, ReleaseId 1271
- Mode: Local
- Operation: receiving SMS
- Integration: .net core webhook receiver
- Network Type: WiFi
Smartphone
- Device: Samsung Galaxy S10
- OS: Android 12
- SIM Card Count: 1
Additional Context
- Saved webhook json data received:
{
"DeviceId": "ffffffff80e797f10000019bd20a3c07",
"Event": "sms:received",
"Id": "xs-fiN26jLEONA899qe-a",
"WebhookId": "e9yFh4Wh-Znmj05FmFpKW",
"Payload": {
"MessageId": "83be51e4",
"Message": "Ein mal geht\u0027s noch",
"PhoneNumber": "\u002B43664xxxxxxxx",
"simNumber": 1,
"receivedAt": "2026-01-19T21:11:52+01:00"
}
}
{
"DeviceId": "ffffffff80e797f10000019bd20a3c07",
"Event": "sms:received",
"Id": "az75fdnE6t9aQY7nRVVXy",
"WebhookId": "e9yFh4Wh-Znmj05FmFpKW",
"Payload": {
"MessageId": "83be51e4",
"Message": "Ein mal geht\u0027s noch",
"PhoneNumber": "\u002B43664xxxxxxxx",
"simNumber": 1,
"receivedAt": "2026-01-19T21:11:52+01:00"
}
}
- App logs
[{
"context": {
"message": {
"text": "Ein mal geht's noch",
"address": "+43664xxxxxxxx",
"date": "2026-01-19T21:11:52.000+01:00",
"subscriptionId": 1
}
},
"createdAt": "2026-01-19T21:11:53.416+01:00",
"id": 326,
"message": "ReceiverService::process - message received",
"module": "receiver",
"priority": "DEBUG"
}, {
"context": {
"queueId": 11,
"url": "https://smsgateway.example.com/sms/ReceiveSms?apiToken=samplapikey",
"internetRequired": true
},
"createdAt": "2026-01-19T21:11:53.444+01:00",
"id": 327,
"message": "Webhook enqueued to persistent queue",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"webhookId": "e9yFh4Wh-Znmj05FmFpKW",
"event": "SmsReceived",
"internetRequired": true
},
"createdAt": "2026-01-19T21:11:53.447+01:00",
"id": 328,
"message": "Queued webhook event for processing",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"event": "SmsReceived",
"totalWebhooks": 1,
"queued": 1,
"skipped": 0
},
"createdAt": "2026-01-19T21:11:53.448+01:00",
"id": 329,
"message": "Webhook emission summary",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"type": "sms:received",
"payload": {
"message": "Ein mal geht's noch",
"receivedAt": "2026-01-19T21:11:52.000+01:00",
"messageId": "83be51e4",
"phoneNumber": "+43664xxxxxxxx",
"simNumber": 1
}
},
"createdAt": "2026-01-19T21:11:53.450+01:00",
"id": 330,
"message": "ReceiverService::process - message processed",
"module": "receiver",
"priority": "DEBUG"
}, {
"context": {
"message": {
"text": "Ein mal geht's noch",
"address": "+43664xxxxxxxx",
"date": "2026-01-19T21:11:52.000+01:00",
"subscriptionId": 1
}
},
"createdAt": "2026-01-19T21:11:53.463+01:00",
"id": 331,
"message": "ReceiverService::process - message received",
"module": "receiver",
"priority": "DEBUG"
}, {
"context": {
"queueId": 12,
"url": "https://smsgateway.example.com/sms/ReceiveSms?apiToken=samplapikey",
"internetRequired": true
},
"createdAt": "2026-01-19T21:11:53.477+01:00",
"id": 332,
"message": "Webhook enqueued to persistent queue",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"webhookId": "e9yFh4Wh-Znmj05FmFpKW",
"event": "SmsReceived",
"internetRequired": true
},
"createdAt": "2026-01-19T21:11:53.479+01:00",
"id": 333,
"message": "Queued webhook event for processing",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"event": "SmsReceived",
"totalWebhooks": 1,
"queued": 1,
"skipped": 0
},
"createdAt": "2026-01-19T21:11:53.481+01:00",
"id": 334,
"message": "Webhook emission summary",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"type": "sms:received",
"payload": {
"message": "Ein mal geht's noch",
"receivedAt": "2026-01-19T21:11:52.000+01:00",
"messageId": "83be51e4",
"phoneNumber": "+43664xxxxxxxx",
"simNumber": 1
}
},
"createdAt": "2026-01-19T21:11:53.483+01:00",
"id": 335,
"message": "ReceiverService::process - message processed",
"module": "receiver",
"priority": "DEBUG"
}, {
"context": {
"attempt": 0
},
"createdAt": "2026-01-19T21:11:53.506+01:00",
"id": 336,
"message": "Starting webhook queue processing",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"count": 2,
"webhookIds": [
"https://smsgateway.example.com/sms/ReceiveSms?apiToken=samplapikey",
"https://smsgateway.example.com/sms/ReceiveSms?apiToken=samplapikey"
]
},
"createdAt": "2026-01-19T21:11:53.541+01:00",
"id": 337,
"message": "Processing 2 webhooks",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"webhookId": 11,
"url": "https://smsgateway.example.com/sms/ReceiveSms?apiToken=samplapikey",
"retryCount": 0
},
"createdAt": "2026-01-19T21:11:53.773+01:00",
"id": 338,
"message": "Webhook sent successfully",
"module": "webhooks",
"priority": "INFO"
}, {
"context": {
"webhookId": 12,
"url": "https://smsgateway.example.com/sms/ReceiveSms?apiToken=samplapikey",
"retryCount": 0
},
"createdAt": "2026-01-19T21:11:53.830+01:00",
"id": 339,
"message": "Webhook sent successfully",
"module": "webhooks",
"priority": "INFO"
}, {
"context": {
"totalInBatch": 2,
"processed": 2,
"failed": 0
},
"createdAt": "2026-01-19T21:11:53.838+01:00",
"id": 340,
"message": "Batch processing completed",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"processedCount": 2
},
"createdAt": "2026-01-19T21:11:53.840+01:00",
"id": 341,
"message": "Queue iteration completed",
"module": "webhooks",
"priority": "DEBUG"
}, {
"context": {
"attempt": 0
},
"createdAt": "2026-01-19T21:11:53.845+01:00",
"id": 342,
"message": "Webhook queue processing completed",
"module": "webhooks",
"priority": "INFO"
}
]
Checklist Before Submission
- I have described the bug in detail.
- I have provided the steps to reproduce.
- I have included screenshots (if applicable).
- I have provided environment details.
- I have included relevant log file excerpts (if applicable).
- I have read FAQ and other relevant information.
coderabbitai
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingduplicateThis issue or pull request already existsThis issue or pull request already exists