Signal does not give any feedback when network access is available but SMS cannot be sent (data-only SIM, airplane mode with WiFi, etc.)
Actual result: Signal marks the SMS message as sent successfully (":heavy_check_mark:")
Expected result: Signal should indicate that the SMS could not be sent.
Device: Nexus 5 (hammerhead)
Android version: 7.1.2 (LineageOS 14.1)
Signal version: 4.18.3
<todo>
———
Tested on two different SIMs that are incapable of SMS, in two different countries. AOSP's built-in Messaging app clearly and promptly notifies the user that the SMS couldn't be sent, but Signal claims that the message was sent even though it's actually gone to a black hole.
Per the philosophy that there are no power users, I am reporting this because it is likely to confuse new users. Many users, I suspect, will expect that Signal can send SMS messages via some over-the-top IP-based method (like Google Voice, TextNow, etc.) and will get the wrong impression from attempting to use it to send an SMS from a device where that isn't possible.
Thanks for the report, but we can't do anything without a debug log. Please reopen when you have one.
Here's the debug log: https://debuglogs.org/438476ce93766bb084f7fa0da6ce07d5bdc5d4397a58b97ca2a705997524b888
To illustrate this problem (hopefully!), I did the following two things:
In general we don't have a lot of control over this process. We hand something to the OS, and it tells us whether it succeeded or not. There's only one SMS send attempt in this log:
04-26 19:22:17.322 2882 2961 W SmsSendJob: Sending message: 2
04-26 19:22:18.720 2882 2963 W SmsSentJob: Got SMS callback: org.thoughtcrime.securesms.SendReceiveService.SENT_SMS_ACTION , -1
We handed the SMS to the OS, and the OS gave us a callback to say that it was successful.
We handed the SMS to the OS, and the OS gave us a callback to say that it was successful.
Got it, thanks. Now I'm mystified about how the native Messaging app determines that the message hasn't sent.
@dlenski Same. It's possible that they're using a different API, given that they have access to all the hidden/private stuff we don't see. Have you tried the same experiment with non-Google SMS clients like Textra or whatever?
Have you tried the same experiment with non-Google SMS clients like Textra or whatever?
I just tried Textra and it has the exact same behavior as Signal:
… so as you say, Signal isn't doing anything particularly wrong here. Appears to be an issue with the AOSP Messaging app using some separate API that gives it different feedback from the public API.
Drat.
Most helpful comment
@dlenski Same. It's possible that they're using a different API, given that they have access to all the hidden/private stuff we don't see. Have you tried the same experiment with non-Google SMS clients like Textra or whatever?