Closed edvallie closed 4 years ago
Same issue with Google fi on pixel 2. Android v10. Signal v4.47.6. Everyone on the MMS chain(default sms app) gets the sender's message except me (signal).
Same here on signal v. 4.47.6
Moto X4 Android version 9
Provider: Google Fi
I can't pin down exactly when this started happening by Signal version, but about the time that the OP posted is in the right vicinity.
Since I didn't mention in the original post and it seems like it could be a unifying factor now, I am also experiencing this issue under Google Fi
May be related to #8571.
May be related to #8571.
I think this is different and difficult to see happening. I'm not even seeing that an MMS failed to download, the MMS group message just looks as if there is no activity on it. I don't receive any notification that an MMS was sent. I had to confirm this was happening with non-signal users that sent a message. I switched back to the default android messages app to confirm they worked there. When I scroll through the debug log I can see that an MMS message was received, but there is no error to be found.
@lafkob I have the same symptoms as you. I thought it might be related to #8571 because of the MMS nature of the group texts that are not showing up.
But here's a new data point: I tried turning on the native "messages" app and like you, received a test group MMS message. But when I tried switching to another different SMS/MMS app from the Play Store called QKSMS, the same thing happens with it as happens with Signal - no group MMS incoming at all.
So this may be a bigger than Signal issue. So far we have two non-native SMS apps (Signal & QKSMS) both not receiving group MMS messages with Google Fi as the carrier.
EDIT: Tried Textra SMS and it (like Messages) works for me for group MMS.
@moxie-signal @moxie0 I don't know how much this matters to you, but this bug is making many of the people in my contact list who i have painstakingly converted to signal over years bail and start using unencrypted SMS via their phone's native app. Once they've lost confidence in Signal, the likelihood that they will ever switch back seems low. I can't be the only person in this situation.
I'm neither an Android nor a Java developer, so it would take me far too long to get up to speed to be able to try to address this and send a PR, but given what I've documented above, I'd guess a reasonably good Android developer should be able to fix this in a day or two.
Find out what is common in how QKSMS and Signal are processing incoming MMS messages and what is not common in how Textra SMS is processing incoming MMS messages and make Signal like Textra instead of like QKSMS. It must be some kind of system API and Signal and QKSMS must be using it one way and Textra (and Google Messages) must be using it a different way.
Signal Android 4.48.4 beta does not fix this issue for me despite https://github.com/signalapp/Signal-Android/commit/1e375ec494ec63c514552c48dbb34e226cd29071
Still not receiving group MMS messages.
cc: @greyson-signal
@pjv Ah, bummer. Was hoping it'd be a two-for-one.
@lafkob
When I scroll through the debug log I can see that an MMS message was received, but there is no error to be found.
Can you please post a debuglog with an example of this? I don't see any indication an incoming MMS was 'detected' in @edvallie's log.
@greyson-signal would it be relatively easy to grab the .apk for QKSMS and Textra SMS and see how they are each handling incoming MMS messages as I suggested in my comment here?
I'm going to guess based on my results that QKSMS is doing something similar to Signal and Textra SMS is doing something different. If it's relatively easy to see what Textra SMS is doing that is different, that might point the direction for a fix because both group MMS and non-group media-containing MMS work 100% fine on my phone with Textra and are 100% broken with both Signal and QKSMS.
would it be relatively easy to grab the .apk for QKSMS and Textra SMS and see how they are each handling incoming MMS messages
Looking at decompiled APK's is never fun, but if you're interested, be my guest :)
@greyson-signal
Looking at decompiled APK's is never fun, but if you're interested, be my guest :)
See, I'm so much an android developer that I thought APK's had source in them. Are they, like bundles of bytecode or ??
Anyway, I'm highly motivated to find a fix for this issue, but obviously useless with anything that involves Java or Android packaging and API's.
For kicks, I plugged my phone into my mac and tailed the log while I did various relevant things. There was a lot of extraneous junk in the log so I used this:
logcat |egrep -i "message|MMS|SMS|RCS|thought"
to try to focus on relevant data.
Then I made Textra the default app for SMS and MMS and I sent myself a group MMS text. Here are the log entries that seem like they matter:
09-29 08:42:13.543 2982 4497 I Tycho : [89] bjc.a: SMS pdu successfully injected.
09-29 08:42:13.608 2982 32077 I Tycho : [178] bjc.a: Acking SMS... [messageId=4298504725554789690, sourceChannel=1, messagePieceIndex=2]
09-29 08:42:13.819 2982 4953 I Tycho : [101] bjc.a: Process SMS payload [ID=4298504725554789690]
09-29 08:42:13.832 2692 2763 D GsmInboundSmsHandler: Skipped message de-duping logic
09-29 08:42:13.848 2982 4953 I Tycho : [101] bjc.a: Filter out SMS with payload [ID=4298504725554789690]
09-29 08:42:13.848 2692 2763 D GsmInboundSmsHandler: Skipped message de-duping logic
09-29 08:42:13.925 2692 19818 V GsmInboundSmsHandler: onFilterComplete: result is 1
09-29 08:42:13.997 1974 2570 D MmsServiceBroker: getCarrierConfigValues() by com.qualcomm.qti.telephonyservice
09-29 08:42:14.008 2692 2763 D MmsService: getCarrierConfigValues
09-29 08:42:14.008 2692 2763 I MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsUsesSimpleCharactersOnly=false, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=false, mmsRoamingAutoRetrieveByDefault=false, maxMessageTextSize=-1, smsEncodingChangeable=true, supportMmsContentDisposition=true, enabledTransID=true, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=20, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=1994, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=80, httpParams=x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=1048576, naiSuffix=, enableMMSReadReports=false, maxImageWidth=2592, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=true, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=false}]
09-29 08:42:14.051 2692 2763 D MmsService: getAutoPersisting
09-29 08:42:14.097 1974 2037 W BroadcastQueue: Permission Denial: receiving Intent { act=android.provider.Telephony.WAP_PUSH_RECEIVED typ=application/vnd.wap.mms-message flg=0x19000010 (has extras) } to com.pushbullet.android/.sms.MmsReceiver requires android.permission.RECEIVE_MMS due to sender com.android.phone (uid 1001)
09-29 08:42:14.144 9666 9666 I MmsListener: Got MMS broadcast...android.provider.Telephony.WAP_PUSH_RECEIVED
09-29 08:42:14.157 1974 3640 D MmsServiceBroker: getCarrierConfigValues() by com.textra
09-29 08:42:14.157 2692 3108 D MmsService: getCarrierConfigValues
09-29 08:42:14.157 2692 3108 I MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsUsesSimpleCharactersOnly=false, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=false, mmsRoamingAutoRetrieveByDefault=false, maxMessageTextSize=-1, smsEncodingChangeable=true, supportMmsContentDisposition=true, enabledTransID=true, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=20, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=1994, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=80, httpParams=x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=1048576, naiSuffix=, enableMMSReadReports=false, maxImageWidth=2592, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=true, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=false}]
09-29 08:42:14.163 2692 3108 D MmsService: getCarrierConfigValues
09-29 08:42:14.164 2692 3108 I MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsUsesSimpleCharactersOnly=false, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=false, mmsRoamingAutoRetrieveByDefault=false, maxMessageTextSize=-1, smsEncodingChangeable=true, supportMmsContentDisposition=true, enabledTransID=true, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=20, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=1994, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=80, httpParams=x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=1048576, naiSuffix=, enableMMSReadReports=false, maxImageWidth=2592, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=true, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=false}]
09-29 08:42:14.163 1974 3640 D MmsServiceBroker: getCarrierConfigValues() by com.textra
09-29 08:42:14.175 1974 4301 D MmsServiceBroker: getCarrierConfigValues() by com.textra
09-29 08:42:14.175 2692 19818 D MmsService: getCarrierConfigValues
09-29 08:42:14.175 2692 19818 I MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsUsesSimpleCharactersOnly=false, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=false, mmsRoamingAutoRetrieveByDefault=false, maxMessageTextSize=-1, smsEncodingChangeable=true, supportMmsContentDisposition=true, enabledTransID=true, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=20, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=1994, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=80, httpParams=x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=1048576, naiSuffix=, enableMMSReadReports=false, maxImageWidth=2592, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=true, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=false}]
09-29 08:42:14.180 1974 3640 D MmsServiceBroker: downloadMessage() by com.textra
09-29 08:42:14.191 2692 19818 D MmsService: downloadMessage: https://android.googleapis.com[79]
09-29 08:42:14.205 2692 19818 D MmsService: [DownloadRequest@51369f4] downloading message by carrier app
09-29 08:42:14.210 2692 19818 V MmsService: bindService() for carrier messaging service succeeded
09-29 08:42:14.839 2692 3108 D MmsService: Carrier app result for download: 0
09-29 08:42:15.875 1974 4301 D MmsServiceBroker: getCarrierConfigValues() by com.textra
09-29 08:42:15.875 2692 19818 D MmsService: getCarrierConfigValues
09-29 08:42:15.876 2692 19818 I MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsUsesSimpleCharactersOnly=false, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=false, mmsRoamingAutoRetrieveByDefault=false, maxMessageTextSize=-1, smsEncodingChangeable=true, supportMmsContentDisposition=true, enabledTransID=true, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=20, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=1994, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=80, httpParams=x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=1048576, naiSuffix=, enableMMSReadReports=false, maxImageWidth=2592, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=true, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=false}]
09-29 08:42:15.886 2692 19818 D MmsService: getCarrierConfigValues
09-29 08:42:15.886 2692 19818 I MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsUsesSimpleCharactersOnly=false, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=false, mmsRoamingAutoRetrieveByDefault=false, maxMessageTextSize=-1, smsEncodingChangeable=true, supportMmsContentDisposition=true, enabledTransID=true, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=20, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=1994, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=80, httpParams=x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=1048576, naiSuffix=, enableMMSReadReports=false, maxImageWidth=2592, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=true, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=false}]
09-29 08:42:15.899 2692 19818 D MmsService: getCarrierConfigValues
09-29 08:42:15.899 2692 19818 I MmsService: mms config for sub 1: Bundle[{httpSocketTimeout=60000, aliasMinChars=2, smsUsesSimpleCharactersOnly=false, smsToMmsTextThreshold=-1, enableSMSDeliveryReports=false, mmsRoamingAutoRetrieveByDefault=false, maxMessageTextSize=-1, smsEncodingChangeable=true, supportMmsContentDisposition=true, enabledTransID=true, aliasEnabled=false, supportHttpCharsetHeader=false, allowAttachAudio=true, smsToMmsTextLengthThreshold=-1, recipientLimit=20, uaProfTagName=x-wap-profile, aliasMaxChars=48, maxImageHeight=1994, enableMMSDeliveryReports=false, userAgent=, mmsCloseConnection=false, config_cellBroadcastAppLinks=true, maxSubjectLength=80, httpParams=x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##, enableGroupMms=true, emailGatewayNumber=, maxMessageSize=1048576, naiSuffix=, enableMMSReadReports=false, maxImageWidth=2592, uaProfUrl=, enabledMMS=true, enabledNotifyWapMMSC=true, sendMultipartSmsAsSeparateMessages=false, enableMultipartSMS=false}]
09-29 08:42:15.899 1974 4301 D MmsServiceBroker: getCarrierConfigValues() by com.textra
09-29 08:42:15.917 1974 4295 D MmsServiceBroker: sendMessage() by com.textra
09-29 08:42:15.930 2692 3108 D MmsService: sendMessage
09-29 08:42:15.954 3721 12994 W InstantAppResolverImpl: at android.os.Handler.dispatchMessage(Handler.java:99)
09-29 08:42:15.958 2692 3108 D MmsService: [SendRequest@8d45ad5] sending message by carrier app
09-29 08:42:15.966 2692 3108 V MmsService: bindService() for carrier messaging service succeeded
Then I changed the default SMS / MMS app to signal (which at this time for me is 4.48.4 beta) and again sent a group MMS to myself.
Here are the logs:
09-29 08:46:43.597 2982 4497 I Tycho : [89] bjc.a: SMS pdu successfully injected.
09-29 08:46:43.682 2982 32532 I Tycho : [181] bjc.a: Acking SMS... [messageId=11183969056372274472, sourceChannel=1, messagePieceIndex=2]
09-29 08:46:43.862 2982 2996 I Tycho : [74] bjc.a: Process SMS payload [ID=11183969056372274472]
09-29 08:46:45.090 2982 2996 I Tycho : [74] bjc.a: Successfully requested to re-deliver MMS 11183969056372274472 via carrier.
09-29 08:46:45.212 2982 2996 I Tycho : [74] bjc.a: Filter out SMS with payload [ID=11183969056372274472]
09-29 08:46:45.317 2692 10863 V GsmInboundSmsHandler: onFilterComplete: result is 1
I don't know if any of that means anything to you. I don't know if my egrep regex is too restrictive and there might be other lines in the log that would tell a more interesting story.
...but my totally naive intuitive hit is that Textra is subscribing to some kind of system level events related to incoming MMS messages that Signal is not subscribed to. Or Textra is subscribed to whatever that is in a different way than Signal is.
Note that Pulse SMS is also able to receive group MMS messages for me. Maybe Luke Klinker @klinker-apps @klinker24 would be willing to drop a clue on how this might be working for Pulse and not for Signal.
While I don't have any specific insight, because I don't know how Signal works or how they have implemented MMS, all of the code for Pulse's MMS support is open source
@klinker24 Thanks so much for popping in. I saw that library but it seemed like it was about sending (outgoing) MMS. The issue that Signal is having trouble with is incoming MMS. Does that library also interface with incoming SMS and MMS messaging?
It does both sending and receiving, yes
https://github.com/klinker41/android-smsmms/blob/master/sample/src/main/AndroidManifest.xml#L62
ok @moxie-signal @moxie0 @greyson-signal @signalandroiddevseverywhere...
In here: https://github.com/signalapp/Signal-Android/issues/6134#issuecomment-276569041 Moxie said:
I agree that MMS support is probably the weakest functionality in Signal, and at this point it doesn't seem like something that we can just buckle down and "solve." Each network does something slightly different and many devices behave inconsistently, so we'd need someone to be dealing with all of those tweaks full time, which is probably the last job that anyone on the planet world want to sign up for.
and...
Android finally introduced an MMS API, but it's Lollipop-only, and is still flaky. I hoped that eventually all the SMS apps would get together and build a library that handles all the inconsistencies, but other than a few false starts, that doesn't seem to be happening.
This: https://github.com/klinker41/android-smsmms seems to be exactly what you hoped for, a professionally developed, maintained, open source SMS/MMS library.
What say you? Please don't make me become an Android developer.
Sorry I'm late getting back to this. Here's a frustrating twist: Signal updated on Sep 28 (now at 4.47.7), so I switched back to it for SMS/MMS and it is working again. I didn't capture the log when it was acting up. Coincidence? I don't see any evidence of android system updates.
@pjv I am not going to pretend that my library works for every single user, in every single case. I get complaints about MMS support. You can go to the reviews section of any SMS app on the Play Store and see complaints about MMS not working, though. There isn't an app out there that has solved MMS for every single user, in every situation.
@klinker24 - thanks, I appreciate the context. Still think it's likely that since Signal developers are more focused on signal protocol related messaging than conventional SMS / MMS that using a library like yours could be a real step forward (also doesn't hurt that in my particular case, Pulse works perfectly where Signal and QKSMS don't work).
@lafkob When I saw your message I thought maybe that the problem is something related to Google fi (independent of Signal) and maybe they fixed it. I tried again this morning with Signal (for me, v. 4.48.7 beta) but I still do not receive group MMS.
I'm having the same issue on 4.47.7. Carrier: Google Fi OS: Android 10 Signal App Version: 4.47.7 Device: Pixel XL
This is a disappointing bug, hoping there is a resolution soon, as I've been using the stock messenger since I stopped receiving MMS.
Can confirm this issue is happening on my friend's device while using Google Fi. MMS/group messaging doesn't come in for him. He was a relatively new signal user and switched back to the default SMS messenger app due to this issue. Please fix...Almost had a full convert since he really liked the app! Looks like others have reported this issue on the r/signal subreddit as well.
I've got some logs that might help here. This has been happening to me for a while as well on google fi, pixel 3, android 9 and 10. My friend on verizon with a samsung has also experienced it, but I don't have logs from him.
I worked with my mom also on fi/pixel 3 to debug this morning. I sent group mms messages and she changed her settings (network, wifi, wifi compatibility mode, etc), once she switched to the default messages app, it went through. I never got her replies. This is my log from when she tried sending those "reply" messages to me. This whole time our google fi networks were using sprint. https://debuglogs.org/79be7ab2d76ab8eb68b4e8ec096dde6f36830b5faf956cc8076bc132210db5ee
Later, I used signal spy to manually force google to use t-mobile (https://play.google.com/store/apps/details?id=com.novvia.fispy&hl=en_US) and started to get downloaded messages that failed to download.
I restarted my phone and set it to t-mobile and got them all at once.
Log when it failed to download: https://debuglogs.org/3bad18ee5435479ad7e4141fb59de60e7a81ce2ad76ecb01f9ae74b754096ae3
Log after restarting and manually attempting to download:
https://debuglogs.org/1be8d922f5e0359b94feccb1a927ac5cc4b608689cf8ae1fba2e326c1c0582b9
This is consistent with my behavior from a while back when the MMS messages seemed to be just delayed, not missing. I noticed that i would get them when google fi switched to using t-mobile instead of sprint/us cellular. I don't know what's up with the verison user, but so far I've been able to get the messages through on fi through t-mobile.
Happy to try other combinations if I missed something here
confirmed with my mom that switching to t-mobile got the messages
log of us both on t-mobile with functional group mms https://debuglogs.org/e82e12ebbcff658bbc04d28b2e295acd522c46bd77fa2f95ce17058ead5dfa87
Everyone here so far seems to be Google Fi. And @benmayne's results make it seem like it could be something like an APN issue.
I can't confirm those results because where I'm at there is no T-mobile available to try it.
Similar to @benmayne, I tested messages (which, by the way, Twilio has a useful tool for sending test MMS messages) on T-Mobile, and received them through Signal, but when using Sprint, no dice. An additional data point, when on WiFi, with mobile data disabled, I do not receive MMS either, whereas before the issues started affecting me (which was around September 23), i was able to receive them over WiFi.
An additional data point, when on WiFi, with mobile data disabled, I do not receive MMS either, whereas before the issues started affecting me (which was around September 23), i was able to receive them over WiFi.
same.
All of this is kind of feeling like what changed and broke things may have been some internal routing at Google / Fi. At the same time though, those changes may just be revealing something non-robust in how Signal is subscribing to MMS messaging since other apps like Textra and Pulse (and of course Google Messages) work fine before and after whatever may have changed upstream.
Do you have wifi compatibility enabled for sms / mms?
Do you have wifi compatibility enabled for sms / mms?
i do and have tried it both with and without with same results.
Ditto. In both the phone app and in Signal.
I posted this on #8571 but it might be useful to put here as well since I'm not sure which bug I'm actually running into, if not both.
Pixel 3, Android 10, Google Fi.
https://debuglogs.org/3575fde0d0aafe8cfd41bfbd474ebf0ecff7963d22c2222f5d985c3431759ab9
This part seems pertinent to a group text I attempted to send. Im not familiar with SMS/MMS protocols but the HTTP status code of -1
, seems fishy to me.
2019-10-21 14:38:41.855 EDT I SendJob: Starting message send attempt
2019-10-21 14:38:41.857 EDT I MmsSendJob: Sending message: 6358
2019-10-21 14:38:41.866 EDT I CompatMmsConnection: Sending via Lollipop API
2019-10-21 14:38:41.867 EDT I MmsBodyProvider: openFile(content://org.thoughtcrime.provider.securesms.mms/mms/1571683121867, w)
2019-10-21 14:38:41.867 EDT I MmsBodyProvider: Fetching message body for a single row...
2019-10-21 14:38:41.867 EDT I MmsBodyProvider: returning file /data/user/0/org.thoughtcrime.securesms/cache/1571683121867.mmsbody
2019-10-21 14:38:41.869 EDT D JobSchedulerScheduler: onStartJob()
2019-10-21 14:38:41.870 EDT D JobSchedulerScheduler: onStartJob()
2019-10-21 14:38:42.122 EDT I MmsBodyProvider: openFile(content://org.thoughtcrime.provider.securesms.mms/mms/1571683121867, r)
2019-10-21 14:38:42.123 EDT I MmsBodyProvider: Fetching message body for a single row...
2019-10-21 14:38:42.123 EDT I MmsBodyProvider: returning file /data/user/0/org.thoughtcrime.securesms/cache/1571683121867.mmsbody
2019-10-21 14:38:42.353 EDT D JobSchedulerScheduler: jobFinished()
2019-10-21 14:38:42.354 EDT D JobSchedulerScheduler: jobFinished()
2019-10-21 14:38:42.915 EDT I LollipopMmsConnection: onReceive()
2019-10-21 14:38:42.915 EDT I OutgoingLollipopMmsConnection: HTTP status: -1
2019-10-21 14:38:42.916 EDT I OutgoingLollipopMmsConnection: MMS broadcast received and processed.
2019-10-21 14:38:42.916 EDT I MmsSendJob: Comparing: 54 31 36 64 65 66 39 64 33 61 63 31
2019-10-21 14:38:42.917 EDT I MmsSendJob: With: 54 31 36 64 65 66 39 64 33 61 63 31
2019-10-21 14:38:42.935 EDT I MmsSendJob: Sent message: 6358
2019-10-21 14:38:42.936 EDT I SendJob: Message send completed
2019-10-21 16:30:57.565 3054-5888/? I/Tycho: [255] bjc.a: Successfully requested to re-deliver MMS 6912643498053528492 via carrier.
Some googling indicates that Tycho
is the codename for Google Fi. I don't know what's happening, but it appears that Google Fi has an opportunity to intercept stuff first, and when it does, it doesn't seem to want to give it to Signal. But only when using Sprint. :man_shrugging: This log doesn't appear when Pulse/Textra are registered as the default SMS app.
@klinker24 Any ideas here? Pulse seems to be doing some extra stuff besides just using the open source SMS library you linked to. Pulse is registered for additional mimeTypes (like application/vnd.wap.sic
), and instead of using the library's MmsReceiver
, Pulse instead registers xyz.klinker.messenger/com.android.mms.transaction.PushReceiver
. Also, QKSMS uses that lib, and that app has the same problem Signal has. So Pulse is definitely doing something different. I know you have no obligation to respond, but I would be very grateful :)
@greyson-signal Yes, the Sprint thing is right on target. I just used Fi-Switch to force me onto T-Mobile and a whole bunch of MMS messages came through right away.
https://debuglogs.org/32ecdfe7a7cc8efcafe97e236fe50ed14ba2bac85789c3a71d5315254db19e7c
The fact that different results are had with different carriers on Fi, and the fact that this was all working fine until it suddenly wasn't, makes me wonder if Fi may have made some kind of configuration change that's causing an edge case for Signal. Maybe Fi / Tycho needs to access incoming MMS at a low level because it needs to dynamically apply different APN settings depending on which carrier the device is connected to?
I can confirm that MMS while on Sprint does not work for me either. Here's what I did to confirm.
Both my daughter and I are using Google Fi. Confirmed we were both on Tmobile. Send an MMS through Signal via insecure message. Result is I was able to receive. Also confirmed I was able to send to her as well.
Sent MMS through Signal and both worked.
Switched to the Sprint network and was able to receive a pic if sent through Signal but not if sent through insecure SMS.
Switched back to Tmobile and the pic then came through.
I can also verify that switching a Moto X4 on Google Fi to the T-mobile network resolved the issue for me as well.
@greyson-signal sorry, if I was doing something different, I would certainly open source it as well. I am not really interested in hiding any of my MMS functionality. My brother and I have spent too long trying to struggle with it, and see no reason to make others do the same. To be honest, I have the exact same issues personally, with Pulse. I have been using Fi Switch for weeks to stay on T-Mobile. Both US cellular and Sprint appear to have issues for me. The app just never receives the WAP_PUSH_DELIVER
broadcast, until switching to T-mobile. I have no clue why this is. It does not appear to be affecting my wife's phone either, and I haven't had very many users report issues on Google Fi, so it seems to me that it is totally and utterly hit-or-miss. I have had no progress at all in debugging anything to do with it. Android simply isn't providing the broadcast.
Pulse registers the library's PushReceiver
and tells the library to follow up with Pulse's own MmsReceivedReceiver
<receiver
android:name="com.android.mms.transaction.PushReceiver"
android:exported="true"
android:permission="android.permission.BROADCAST_WAP_PUSH">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
<data android:mimeType="application/vnd.wap.mms-message" />
<data android:mimeType="application/vnd.wap.sic" />
</intent-filter>
</receiver>
<receiver
android:name=".receiver.MmsReceivedReceiver"
android:exported="true"
android:taskAffinity="com.klinker.android.messaging.MMS_RECEIVED" />
I do not know what the application/vnd.wap.sic
is doing. I probably just registered that because I noticed that Google Messages or Textra had done it.
I do register my own MmsReceivedReceiver
. It simply overrides the library's version, so that I can save the messages to my own app's database, instead of just the internal SMS/MMS database.
class MmsReceivedReceiver : com.klinker.android.send_message.MmsReceivedReceiver() {
override fun onMessageReceived(context: Context, messageUri: Uri) {
Log.v("MmsReceivedReceiver", "message received: $messageUri")
val lastMessage = SmsMmsUtils.getMmsMessage(context, messageUri, null)
if (lastMessage != null && lastMessage.moveToFirst()) {
handleMms(context, messageUri, lastMessage)
} else {
lastMessage.closeSilently()
}
}
override fun onError(context: Context, error: String) {
Log.v("MmsReceivedReceiver", "message save error: $error")
...
}
...
}
I wish I could tell you more, but I do not do anything outside of the library. I am not sure if QKSMS is using an older version of the library, or what they are doing. I do know that my brother worked with the guy who makes that app, when he initially integrated it. That was some time ago, though.
Also seeing this. Interestingly, if I go to Settings -> Network & Internet -> Mobile network, turn off "Use SIM", and turn it back on, I get a flood of MMS messages. Every time I've done this I've been on wifi, so I'll try it without wifi next time to see if the same thing happens.
Carrier: Google Fi OS: Android 10, Security patch Oct. 5, 2019 Signal App Version: 4.48.17 Device: Pixel 3a
I just saw this article pop up on my news feed. I wonder if this is just a coincidence or if there was something added recently to support this DSDS feature that may be causing our issues?
https://arstechnica.com/gadgets/2019/10/google-fi-will-soon-connect-you-to-two-lte-networks-at-once/
I just updated and still don't receive MMS messages. I can send, but can't receive. Fails silently.
I get a burst of MMS if I force switch to T-Mobile, but I'm normally on T-Mobile anyway, and I still don't get MMS normally.
Signal version 4.49.13 Google pixel 3a Android version 10
Is there a solution yet? I'd love to use/recommend Signal, but without this, I can't. Missing messages have ruined relationships. They cause real damage. People think I'm ignoring them.
I'm experiencing the same thing -- haven't gotten any group MMS for two weeks since switching to Signal. I did get one burst of backlogged messages after going into a basement with no cell signal, but could not reproduce that and have had no luck with switching to airplane mode or rebooting.
Signal version 4.49.13 Google Pixel 3 Android version 10 Google Fi (US, in an urban area with multiple LTE carriers)
I know a "me too" isn't particularly helpful diagnostically, but this bug is easily reproducible on both project fine phones I have access to. Force switching the network to TMobile always results in all the MMS messages suddenly appearing in signal, while being on Sprint results in no MMS inbound.
This is particularly troublesome because outbound MMS seems unaffected, so from the user PoV there is no way to tell that you're missing replies.
Hey All I'm going to escalate this on the Google Fi side. If any of you have case IDs from interactions with FI agents please post the Case IDs here :)
Hey All I'm going to escalate this on the Google Fi side. If any of you have case IDs from interactions with FI agents please post the Case IDs here :)
Seems like a hopeful development, but I'm not sure I entirely understand what you mean. It appears that you, @cameronaaron , are a GitHub employee, so how are you able to escalate this issue with Google Fi? Perhaps you know someone at Google who you are able to contact or something? In any case, this issue appears to be one that is going to require some type of intervention and/or help from someone either on the Google Android development team or someone at the Google Fi dev team.
@lahma69 Sorry I should have explained a bit further. I am a Google Product Expert https://productexperts.withgoogle.com/what-it-is specifically for Google FI. If I get case IDs I can escalate.
@cameronaaron I'm a Fi user and happy to open a case about this via web chat if that's helpful. Is there anything in particular I should ask the agent to do, or do you just need a case ID to get things going?
I can open a case @cameronaaron Gimme a sec...
At the risk of sounding like I'm obstructing what sounds like a productive path to resolution... whoever decides to open a support case and share it with someone else should probably consider that this is the exact type of narrow edge to a social attack to compromise your google account. Please protect yourselves. I've got an open case with Google already, if someone is truly working internally from google they should reach out through a normal channel with appropriate means to validate their identity and intention.
Have been experiencing the same issue for a month and change I believe. is there a quick way to force my phone to change carriers (to see if I am missing messages) without downloading additional software/app?
Signal version 4.49.13 Google Pixel 3 Android version 10 Google Fi (US, in an urban area with multiple LTE carriers)
If you paste the relevant codes into your phone app dial screen, it should switch.
https://arkienet.com/2018/01/google-fi-dialer-codes/
That's what the apps mentioned do.
For T-mobile you probably want *#*#34866#*#*
Bug description
Not receiving group sms. Switched default sms app to hangouts and started receiving them again.
Steps to reproduce
Actual result: Receive no notification or message of any kind Expected result: Receive a message
Screenshots
Device info
Device: Motorola Moto X4 Android version: 9 Signal version: 4.46.2
Link to debug log
https://debuglogs.org/cc4789394be2d5995e39e790cdcefcb5eb32e5b6a39bfd0faefc5359f06ae97c