tijder / SmsMatrix

A simple SMS <--> Matrix bridge.
https://matrix.to/#/#smsmatrix:matrix.org
GNU General Public License v3.0
213 stars 37 forks source link

Replies from Matrix -> SMS are slow #88

Open nx-3225 opened 1 year ago

nx-3225 commented 1 year ago

I'm using SmsMatrix version 0.0.16 on LineageOS 19 with Microg on a OnePlus 7 Pro.

When the device receives an SMS, it's transmitted to Matrix immediately (sometimes it even appears in Matrix before the Messaging app on the phone!) This is working great.

When I reply in a matrix client, it will take at least 20 minutes for the message to be sent to the recipient. If I restart the SmsMatrix service on the phone, the reply will be picked up from Matrix and relayed via SMS immediately.

The matrix client says the message is "received" almost immediately after the reply is sent (in the matrix client), but "Read" doesn't show up until the SMS is relayed.

Is there any way to troubleshoot further what the issue may be? I don't have any battery optimizations on as far as I can tell, and the SmsMatrix notification item is always on and showing in the notification bar.

Thanks in advance!

wokawoka commented 1 year ago

I'm following

johncarterofmars commented 1 year ago

What I discovered is that SMSMAtrix needs to be restarted frequently to pick up messages. I use Automate on Lineage to kill the app, wait a few seconds, and then restart it every 30 minutes. By doing this, I can reliably send and receive messages. The other issue this resolves for me is that if SMSMatrix is running for a long time a new number SMS messages me, I will get the alert in Element that X user wants to start a chat. I will join the room but it may take 30 minutes or more for their message to appear. Same with responding. But by scheduling this restart every 30 min, I don't have these issues. Unfortunately, this requires that your phone be rooted as Automate needs root access to kill apps. The real issue seems to be that SMSMatrix stops responding after X period of time and needs to be restarted.