michaelkourlas / voipms-sms-client

Popular Android messaging app for VoIP.ms, a Canadian VoIP provider
https://play.google.com/store/apps/details?id=net.kourlas.voipms_sms
Apache License 2.0
224 stars 52 forks source link

False "Not Sent. Touch to try again." message / SMS duplicate #105

Closed superbigjay closed 7 years ago

superbigjay commented 7 years ago

False "Not Sent. Touch to try again." message.

From time to time, on my android 5.0 (Asus ZenFone 2) cell, I try to send some messages and I get a message at the bottom of the screen:

If I touch it, then I see 2 copies of the messages (duplicate). If I don't touch it, I can see that the message was indeed properly sent by logging on the sms.voip.ms portal.

So it is like if the app server timed out before getting the confirmation of the success of the message transmission. Not sure how to debug this...

michaelkourlas commented 7 years ago

I've seen this issue before, but I'm not sure what I can do to fix it. The problem is caused by the app's connection to VoIP.ms timing out before VoIP.ms sends an acknowledgement that the message was received. I've tried increasing the timeout, but it still happens occasionally.

On Sat, Jan 14, 2017 at 10:59 AM, superbigjay notifications@github.com wrote:

False "Not Sent. Touch to try again." message.

From time to time, on my android 5.0 (Asus ZenFone 2) cell, I try to send some messages and I get a message at the bottom of the screen:

  • Failed to send message ... (couldn't see the full message before it disapears) And then, the message is marked as:
  • Not Sent. Touch to try again.

If I touch it, then I see 2 copies of the messages (duplicate). If I don't touch it, I can see that the message was indeed properly sent by logging on the sms.voip.ms portal.

So it is like if the app server timed out before getting the confirmation of the success of the message transmission. Not sure how to debug this...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/michaelkourlas/voipms-sms-client/issues/105, or mute the thread https://github.com/notifications/unsubscribe-auth/ABmExCScU2w4-0ZQnRE7lH4LW2jTKHgMks5rSPDqgaJpZM4LjqZL .

superbigjay commented 7 years ago

This is exactly what I thought was happening... I guess the timeout limit cannot be changed in the settings of the apps (it is a fixed value in your code)? Thanks for the feedback.

Great apps btw, Did a small donation on the google play apps store to thank the dev. ;-)

100x better than their web portal ...

mbarakattclg commented 7 years ago

+1 I have the same issue. Btw, setup of the app was a breeze!

tegibson commented 7 years ago

Great app. Also seeing the same problem though.

michaelkourlas commented 7 years ago

Going forward, the best I can do is add an option to configure the sync timeout.

superbigjay commented 7 years ago

I think that is probably the only solution and there isn't really any other way to get around it.

Unless there is a way for the apps to recheck at a later time if the message was indeed accepted by the voip.ms server, but I think that the way the handshake is done between your app and the voip.ms server, that option wouldn't work.

So I don't have any better solution to propose on my side. Having the timeout option configurable could be helpful.

Thanks Jay

singpolyma commented 7 years ago

Could you maybe check for the message in the voip.ms logs and know it has been sent if you find it there?

UkropCanada commented 7 years ago

Same issue here. Happens a lot. I have Nexus 4 which has only H+ speed (no LTE)...

michaelkourlas commented 7 years ago

Support for setting the timeout has been added to 0.5.0, which should be released soon.

@singpolyma: The app needs the initial response from the VoIP.ms API because it contains the ID of the newly sent message. This ID is used to match up the sent message with the retrieved messages during future syncs.