signalapp / signalapp/Signal-Android
Messages not being delivered
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 29.4k
- Forks
- 6.9k
- PR merge metrics
- No merged PRs in 30d
Description
Guidelines
- I have searched searched open and closed issues for duplicates
- I am submitting a bug report for existing functionality that does not work as intended
- This isn't a feature request or a discussion topic
Bug description
Hi there!
Thanks for putting in the work to get Signal to where it is today - it is my go-to messaging app.
Key points on an issue that I have been facing:
- In the last couple of days, I have found that messages aren't being delivered or received immediately to/from one of my friends.
- I use Android/Desktop, and they use Android.
- They have reinstalled the app.
- The behaviour is normal for messages being sent to other people.
- Behaviour is the same on both Wifi/cellular.
- We have both followed common debugging steps and ensured all permissions are enabled and background optimisation is off.
- Below is a debug log retrieved from my Desktop instance being sent to an Android instance that I applied a
diffto before and after sending a new message that wasn't delivered - There are also full debug logs for all 3 devices at the link below
Many thanks for any help in advance!
Cheers
Debug log
> INFO 2025-05-26T22:38:35.684Z WebSocketResources.KeepAlive(unauthenticated).send: Sending a keepalive message
> INFO 2025-05-26T22:38:38.109Z NotificationService: clearing notification and requesting an update
> INFO 2025-05-26T22:38:38.110Z markConversationRead([REDACTED]24f ([REDACTED]2e4)) {"newestSentAt":1748298259971,"newestUnreadAt":1748244856930,"unreadMessages":0,"unreadReactions":0}
> INFO 2025-05-26T22:38:39.109Z NotificationService not updating notifications. Notifications are enabled; app is focused; there is no notification data
> INFO 2025-05-26T22:38:40.644Z preloadNewestMessages/[REDACTED]24f ([REDACTED]2e4): starting
> INFO 2025-05-26T22:38:40.649Z preloadNewestMessages/[REDACTED]24f ([REDACTED]2e4): preloaded 30 messages, latest timestamp=1748298259971
> INFO 2025-05-26T22:38:41.415Z WebSocketResources.KeepAlive(authenticated).send: Sending a keepalive message
> INFO 2025-05-26T22:38:41.661Z sendTypingMessage([REDACTED]24f ([REDACTED]2e4)): sending true
> INFO 2025-05-26T22:38:41.661Z Sender certificate service found a valid no-E164 certificate in storage; skipping fetch
> INFO 2025-05-26T22:38:41.662Z commitZoneChanges(storeSession): pending sender keys 0, pending sessions 1, pending unprocessed 0
> INFO 2025-05-26T22:38:41.682Z PUT (WS) https://chat.signal.org/v1/messages/[REDACTED]24f?story=false (unauth)
> INFO 2025-05-26T22:38:41.915Z PUT (WS) https://chat.signal.org/v1/messages/[REDACTED]24f?story=false (unauth) 200 Success
> INFO 2025-05-26T22:38:41.915Z conversation.queueJob([REDACTED]24f ([REDACTED]2e4), sendTypingMessage): took 254ms
> INFO 2025-05-26T22:38:42.611Z CompositionInput: Submitting message 1748299122611 with 0 ranges
> INFO 2025-05-26T22:38:42.615Z withPreSendChecks: Send pre-checks took 3ms
> INFO 2025-05-26T22:38:42.615Z Sending message to conversation [REDACTED]24f ([REDACTED]2e4) with timestamp 1748299122611
> WARN 2025-05-26T22:38:42.615Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> INFO 2025-05-26T22:38:42.615Z enableProfileSharing: [REDACTED]24f ([REDACTED]2e4) reason=mandatoryProfileSharing storage? false
> INFO 2025-05-26T22:38:42.615Z enqueueMessageForSend: saving message [REDACTED]c4e and job [REDACTED]8fa
> INFO 2025-05-26T22:38:42.618Z JobQueueDatabaseStore adding job [REDACTED]8fa to queue "conversation"
> INFO 2025-05-26T22:38:42.618Z conversation job queue: added new job [REDACTED]8fa
> INFO 2025-05-26T22:38:42.619Z conversation job queue: enqueuing job [REDACTED]8fa
> INFO 2025-05-26T22:38:42.619Z conversation job queue: running job [REDACTED]8fa, attempt 1 of 110
> INFO 2025-05-26T22:38:42.619Z conversation job queue, job ID [REDACTED]8fa, attempt 1: calculating timeRemaining and shouldContinue...
> INFO 2025-05-26T22:38:42.619Z Our profile key service: kicking off a new fetch
> INFO 2025-05-26T22:38:42.619Z Our profile key service: waiting for 0 promises before fetching
> INFO 2025-05-26T22:38:42.621Z beforeMessageSend([REDACTED]24f ([REDACTED]2e4)): clearDraft(true) addMessage(true)
> WARN 2025-05-26T22:38:42.652Z restoreContact([REDACTED]24f ([REDACTED]2e4)) storage? false: not removed
> INFO 2025-05-26T22:38:42.652Z Our profile key service: fetching profile key from storage
> INFO 2025-05-26T22:38:42.653Z ConversationModel([REDACTED]24f ([REDACTED]2e4).sendMessage(1748299122611): render save took 35ms
> INFO 2025-05-26T22:38:42.659Z conversation job queue, job ID [REDACTED]8fa, attempt 1: Sending normal message; editedMessageTimestamp=undefined, storyMessage=false
> INFO 2025-05-26T22:38:42.659Z Sender certificate service found a valid no-E164 certificate in storage; skipping fetch
> INFO 2025-05-26T22:38:42.659Z conversation job queue, job ID [REDACTED]8fa, attempt 1: sending direct message
> INFO 2025-05-26T22:38:42.659Z Sending a message with 0 mentions, 0 placeholders, and 0 other ranges
> INFO 2025-05-26T22:38:42.661Z commitZoneChanges(storeSession): pending sender keys 0, pending sessions 1, pending unprocessed 0
> INFO 2025-05-26T22:38:42.662Z markConversationRead([REDACTED]24f ([REDACTED]2e4)) {"newestSentAt":1748299122611,"newestUnreadAt":1748244856960,"unreadMessages":0,"unreadReactions":0}
> INFO 2025-05-26T22:38:42.663Z PUT (WS) https://chat.signal.org/v1/messages/[REDACTED]24f?story=false (unauth)
> WARN 2025-05-26T22:38:42.860Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:42.861Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:42.864Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:42.864Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> INFO 2025-05-26T22:38:42.889Z PUT (WS) https://chat.signal.org/v1/messages/[REDACTED]24f?story=false (unauth) 200 Success
> WARN 2025-05-26T22:38:42.893Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:42.893Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> INFO 2025-05-26T22:38:42.896Z commitZoneChanges(storeSession): pending sender keys 0, pending sessions 1, pending unprocessed 0
> INFO 2025-05-26T22:38:42.896Z commitZoneChanges(storeSession): pending sender keys 0, pending sessions 1, pending unprocessed 0
> INFO 2025-05-26T22:38:42.898Z PUT (WS) https://chat.signal.org/v1/messages/[REDACTED]fae?story=false
> INFO 2025-05-26T22:38:43.065Z Message.tsx: Rendered 'send complete' for message 1748299122611; took 454ms
> WARN 2025-05-26T22:38:43.096Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:43.096Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:43.099Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:43.099Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> INFO 2025-05-26T22:38:43.131Z PUT (WS) https://chat.signal.org/v1/messages/[REDACTED]fae?story=false 200 Success
> WARN 2025-05-26T22:38:43.132Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:43.132Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> INFO 2025-05-26T22:38:43.135Z conversation job queue: job [REDACTED]8fa succeeded on attempt 1
> WARN 2025-05-26T22:38:43.336Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:43.336Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:43.338Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> WARN 2025-05-26T22:38:43.338Z lookupOrCreate: Called with neither e164 nor serviceId! reason: MessageModel.getSenderIdentifier(1748299122611)
> INFO 2025-05-26T22:38:44.136Z checkExpiringMessages: checking for expiring messages
> INFO 2025-05-26T22:38:44.136Z checkExpiringMessages: next message expires 2025-05-27T03:54:15.326Z; waiting 18931190 ms before clearing
> INFO 2025-05-26T22:38:54.385Z got fast theme-setting value system
> INFO 2025-05-26T22:38:54.431Z got fast theme-setting value system
> INFO 2025-05-26T22:39:03.353Z Debug log upload starting...
> INFO 2025-05-26T22:39:04.553Z Debug log upload complete.
> INFO 2025-05-26T22:39:07.200Z SocketManager: shutting down unauthenticated socket after timeout
> INFO 2025-05-26T22:39:07.200Z WebSocketResource(unauthenticated).shutdown: no active requests, closing
> INFO 2025-05-26T22:39:07.200Z WebSocketResource(unauthenticated).close(3000)
> INFO 2025-05-26T22:39:07.201Z SocketManager: connecting unauthenticated socket
> INFO 2025-05-26T22:39:07.201Z SocketManager: connecting unauthenticated socket, transport option [original]
> WARN 2025-05-26T22:39:07.204Z WebSocketResource(unauthenticated): Socket closed
> INFO 2025-05-26T22:39:07.666Z createHTTPSAgent.createConnection(chat.signal.org): connected to IPv4 addr after 458ms (attempts v4=1 v6=0)
> INFO 2025-05-26T22:39:07.892Z WebSocketResource(unauthenticated) connected in 690.7ms
> INFO 2025-05-26T22:39:07.892Z SocketManager: connected unauthenticated socket (localPort: 53316)
> INFO 2025-05-26T22:39:10.424Z NotificationService: clearing notification and requesting an update
> INFO 2025-05-26T22:39:10.426Z markConversationRead([REDACTED]24f ([REDACTED]2e4)) {"newestSentAt":1748299122611,"newestUnreadAt":1748244856960,"unreadMessages":0,"unreadReactions":0}
> INFO 2025-05-26T22:39:11.424Z NotificationService not updating notifications. Notifications are enabled; app is not focused; there is no notification data
> INFO 2025-05-26T22:39:13.131Z WebSocketResources.KeepAlive(authenticated).send: Sending a keepalive message
> INFO 2025-05-26T22:39:37.901Z WebSocketResources.KeepAlive(unauthenticated).send: Sending a keepalive message
> INFO 2025-05-26T22:39:40.690Z MessageReceiver: got request /api/v1/message
> INFO 2025-05-26T22:39:40.766Z MessageReceiver.decryptAndCacheBatch 1
> INFO 2025-05-26T22:39:40.766Z SignalProtocolStore.enterZone(decryptAndCacheBatch:MessageReceiver)
> INFO 2025-05-26T22:39:40.766Z queueing envelope > [REDACTED]fae 1748298172255 (01970ec06a93774b92ac166956fc9532)
> INFO 2025-05-26T22:39:40.766Z MessageReceiver.unsealEnvelope(> [REDACTED]fae 1748298172255 (01970ec06a93774b92ac166956fc9532)): unidentified message
> INFO 2025-05-26T22:39:40.766Z @signalapp/libsignal-client deserialized UnidentifiedSenderMessageContent from [REDACTED]24f.1 with type Whisper libsignal_protocol::sealed_sender rust/protocol/src/sealed_sender.rs:442
> INFO 2025-05-26T22:39:40.767Z MessageReceiver.decryptEnvelope([REDACTED]24f.1 > [REDACTED]fae 1748298172255 (01970ec06a93774b92ac166956fc9532))
> INFO 2025-05-26T22:39:40.767Z decrypt/[REDACTED]24f.1 > [REDACTED]fae 1748298172255 (01970ec06a93774b92ac166956fc9532): unidentified message
> INFO 2025-05-26T22:39:40.767Z MessageReceiver.decryptSealedSender([REDACTED]24f.1 > [REDACTED]fae 1748298172255 (01970ec06a93774b92ac166956fc9532)): unidentified message/passing to sealedSenderDecryptMessage
> INFO 2025-05-26T22:39:40.767Z @signalapp/libsignal-client deserialized UnidentifiedSenderMessageContent from [REDACTED]24f.1 with type Whisper libsignal_protocol::sealed_sender rust/protocol/src/sealed_sender.rs:442
> INFO 2025-05-26T22:39:40.767Z @signalapp/libsignal-client decrypted Whisper message from [REDACTED]24f.1 with current session state (base key [REDACTED]053) libsignal_protocol::session_cipher /home/libsignal/src/rust/protocol/src/session_cipher.rs:455
> INFO 2025-05-26T22:39:40.768Z MessageReceiver.decryptAndCacheBatch storing 1 decrypted envelopes, keeping 0 failed envelopes.
> INFO 2025-05-26T22:39:40.768Z commitZoneChanges(MessageReceiver): pending sender keys 0, pending sessions 1, pending unprocessed 1
> INFO 2025-05-26T22:39:40.769Z SignalProtocolStore.leaveZone(decryptAndCacheBatch)
> INFO 2025-05-26T22:39:40.769Z MessageReceiver.decryptAndCacheBatch acknowledging receipt
> INFO 2025-05-26T22:39:40.770Z queueing decrypted envelope [REDACTED]24f.1 > [REDACTED]fae 1748298172255 (01970ec06a93774b92ac166956fc9532)
> INFO 2025-05-26T22:39:40.770Z MessageReceiver.handleDataMessage/[REDACTED]24f.1 > [REDACTED]fae 1748298172255 (01970ec06a93774b92ac166956fc9532)
> INFO 2025-05-26T22:39:40.770Z handleDataMessage/[REDACTED]24f ([REDACTED]2e4) [REDACTED]24f.1 1748298172255: starting processing in queue
> INFO 2025-05-26T22:39:40.770Z handleDataMessage/[REDACTED]24f ([REDACTED]2e4) [REDACTED]24f.1 1748298172255: cache hit [REDACTED]2e4.1-1748298172255
> WARN 2025-05-26T22:39:40.770Z handleDataMessage/[REDACTED]24f ([REDACTED]2e4) [REDACTED]24f.1 1748298172255: Received duplicate message [REDACTED]24f.1 1748298172255
> INFO 2025-05-26T22:39:40.770Z MessageReceiver.decryptAndCacheBatch fully processed
> INFO 2025-05-26T22:39:43.364Z WebSocketResources.KeepAlive(authenticated).send: Sending a keepalive message
> INFO 2025-05-26T22:40:08.151Z WebSocketResources.KeepAlive(unauthenticated).send: Sending a keepalive message
> INFO 2025-05-26T22:40:13.598Z WebSocketResources.KeepAlive(authenticated).send: Sending a keepalive message
> INFO 2025-05-26T22:40:15.550Z NotificationService: clearing notification and requesting an update
> INFO 2025-05-26T22:40:15.554Z markConversationRead([REDACTED]24f ([REDACTED]2e4)) {"newestSentAt":1748299122611,"newestUnreadAt":1748244856960,"unreadMessages":0,"unreadReactions":0}
> INFO 2025-05-26T22:40:16.292Z got fast theme-setting value system
> INFO 2025-05-26T22:40:16.340Z got fast theme-setting value system
> INFO 2025-05-26T22:40:16.551Z NotificationService not updating notifications. Notifications are enabled; app is focused; there is no notification data
> INFO 2025-05-26T22:40:16.577Z Loaded this list of log files from logPath: app.log, main.log
Screenshots
Device
Samsung S22/Samsung A53
Android version
Android 14/Android 14
Signal version
7.42.2/7.42.2
Link to debug log
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the MessageReceiver.decryptAndCacheBatch and MessageReceiver.decryptEnvelope entries in the supplied logs, then trace the sealed-sender decryption path associated with the unidentified-message entries. Compare the sender and recipient device logs to isolate why delivery does not complete; done means the affected conversation reliably delivers messages without disrupting normal conversations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100