-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sending SMS is not working on a few contacts #380
Comments
Hmm, phone numbers are tricky, especially all the international variants. Depending on how small the change is I might be able to fix this from my phone though :P I can see that the messages are being entered in the SMS history which is good news. Textra seems to be free, but not open source, so it's hard to tell what it might be doing internally to futz with phone numbers. I'm sure Google uses libphonenumber, but I'm not sure if that's in Google Messages or built into Android's SMS libraries. Can you give a list of "changed" but not "censored" phone numbers that are working/not working? For example: "works: +33 1234 5678", "broken: 12345678" with correct lengths, spacing, special characters etc? The phone number comparison code did recently change to allow for non-numeric "addresses" and other things. |
Hello, I've tried two things for you. First the list (i just changed the lasts two digits by 5 for their own privacy):
From then on, two options, either old sms were the reason it was not working (due to an update from either gsconnect, kdeconnect, android or textra) OR it was simply the +33. I tried deleting all messages with 674379755, restart GSConnect and send another text. Still not received. So i updated this contact to add the +33 on android, it now looks like that : +33674379755 and i restarted GSConnect again, this time it worked ! My contact did receive the "test message". This raises a question, why on GSConnect's log, people i didn't text before have the prefix +33, while i haven't save them like that on my phone, but did not add the prefix for the "faulty" contact (674379755) ? I'm just curious :) So, is there a fix you can do, or do i have to update all my phone number ? :D (if it's linked to this, of course, i case it's not, i have all the logs saved on a file for you). |
Thanks, this is really helpful list.
Because of how complicated phone numbers can be, both KDE Connect and GSConnect decided on a very simple method for comparing phone numbers. Basically we remove special characters ( It gets even more complicated because when we sync contacts from the phone we get them in (very old) VCard 2.1 format, which can even have phone numbers in different formats depending on the version of Android. Heh, I guess it's kind of complicated to explain how complicated this all is. Probably what is happening, is if we send to a number like
I think if there is a fix, it might be simple, but to find out I would have to make a bunch of test Zips for you to try and that will have to wait until my new laptop arrives in the mail 😞. Even typing these answers on my tablet takes a really long time :P I would say to fix this now you probably have to change the numbers but it might be easier on https://contacts.google.com/ if you sync your contacts there. But you can definitely leave this bug open until I have a chance to try some things. |
Thanks for the explanation, I understand it can be a headache (just by going on contacts.google.com, the table displays phone number with the +33 while the detail modal shows with the leading 0). Anyways, i'll update only a few contacts, so i'll be able to tell if your ZIP will resolve the issue. |
Hi, sorry I haven't come back to this in awhile, but I have been looking through the related code since I was working on Contacts recently. Could you tell me in the file I tried adding a contact with a number like |
Wait, I think I got it :D Try this Zip please: |
Hello, I saw your message right away, but i needed to update my contact to remove the +33 and set the 06 instead. Then i had to check if it was still not working on the previous version, before i try this one. I had to dissociate my phone to my computer to do so, right ? No easier way ? Tested on 3 contacts. It works but it seems to work only if the contact has already a message from me (so it's already on the list, on the left of the message window). After i deleted all messages, i clicked on the icon "+" and write a text, it was never received. Then i write one with my phone (received) and one with your new version (by clicking the contact on the list) (received). On another contact i tried one message with old version : not received, with the ZIP it worked :) I also have a contact written as north american format on contact.google.fr (06x-xxx-xxxx) which is not a proper way to write a french phone number, but it's working on your new version, i tried a message yesterday with the previous version, and he did not received it. Apart from "new messages" your zip seems to have fixed the issue. |
Contacts should sync changes every time you press the + button now, maybe only the very latest though.
Hmm, that is strange because the number should come from the same place. Can you use the generate log feature and check the outgoing packet? The phone numbers for the conversation list come from the SMS history, while the new conversations get the number from the address book (eg. north american format). So maybe the ones that come from vCards aren't working after all. |
OK, so first of all, the way logs are generated was a bit confusing for me. Anyways, I got home and my phone paired with my computer, i deleted all messages and tried a fresh conversation (selecting contact on your view) : The message wasn't received, and i don't have the contact appearing on the left side of the window. Then i tried to write a few more messages (still nothing) until i unpair the device and paired it back (duh) and then it worked. Onto the log part now :
and then, the first message sent :
Message not received. As i wasn't sure, (at the time) on how the logs were fetched, i did not get any logs from the other texts i sent, but i bet they look the same. I received a message (no libnotify's notification, no message shown on your message view).
I then sent a last message (for today)
Received but shown in gray on gsconnect message list. Besides, during all this time, i saw no response on gsconnect message view, but the list is up to date with the latest message (i could see the line below the contact name in bold). I think you might have a refresh issue on the conversation list as well 😉, because i still got some logs of the missing messages :
I hope this helps. Now that i understand how the log is working it'll be easier. Oh and the + button is indeed refreshing. But i have a tiny issue with it (sorry, tell me if i am maddening). That's all for tonight, tell me if you need more. |
Because of frequent complaints about debug messages in the log being insecure and not wanting to provide logs because they were uncensored, that had to be removed. Even today someone complained because they forgot they had turned on debugging themselves. So unfortunately it had to go. Whenever the dialog is open, messages are still being printed to
This is just a warning from when you set a new keyboard shortcut, nothing wrong here.
This seems like it's definitely the wrong number being sent. If you start a conversation from the contacts list, it will send to the number in that row which should be the same number in the headerbar. Can you confirm the number in the contact row and headerbar are the same? I've added the ability to clear plugin cache data in the advanced settings, although there's a good chance I will remove this at some point. Here is an up to date ZIP:
That probably is the same number mismatch problem. The conversation should be destroyed properly, but if not there should be some warning or error in the log about it. |
Hum for the first time, i see that when i search for a contact, i have two lines (as if they had two phone number), for example : Also, the number formatted as 066-309-5050 as a second line as well 066305050. So, i select the contact : 06 74 37 50 50, i write a message, on the headerbar (above the message content) i have the number 06 74 37 50 50 and it's received Now i delete all messages with this contact, click the + button (the contact disappear from the list, normal), select the second line 0674375050 and write a message, on the headerbar the number is displayed as 06 74 37 50 50 (with space between numbers, unlike the number i clicked). The message is once again received. Also, the history is indeed empty now. It looks like there is no issue tonight. Maybe your zip fixed it ? I have waaaay more logs (i had some unrelated issues as well), i guess your logs starts here :
|
Oh and for the alert log, if you have other people confused, maybe juste changing the button label would help like : "I'm finished, show the log file now". |
I think you should now clear the contacts cache in Advanced before proceeding, then resync by pressing the [+] button. I guess that if everyone has this problem I should hold off on releasing v20 until I can find a fix for this. |
Hello, I pressed the cross icon on Advanced menu (for contacts AND SMS). Then resync with the + button. My contact received the message. |
Can you confirm you don't have two phone numbers defined for these contacts? Once the contacts are cleared each number is only added once to the list. If there are two phone numbers with different formats but the same spacing, it's likely that's how GSConnect is receiving them in the vCard dump.
Yes, it's normal for conversations to sync at the same time as contacts. |
I've split your duplicate numbers issue off into a new issue, since I think the original has been solved now and it was set for the v20 milestone, which has now been released. |
Hi, as I said yesterday here is the second bug (but good luck, this one is tricky)
Describe the bug
After a long serie of tests it seems that some contacts are not receiving my texts sent from GSConnect (while they receive those from my phone). I identified one contact with whom it's not working at all while it used to. (I don't want to bother asking for the others).
It is working fine for some, for instance i have a second phone number and i receive my messages properly.
The visual output is random I mean : Sometimes the message from GSConnect is displayed in gray (like if it's pending) and sometimes (most often) it's shown as if everything went smoothly.
For ALL messages i write on GSConnect, they ALL appear on my phone, like they were properly sent (textra latest version).
I activated the confirmation of "sent" a long time ago (on textra) and messages from GSConnect were never displayed as "Received" on textra before (even if they did), it has not changed.
To Reproduce
Hard to do :
Debug output
So, I've three differents output for you, the first one is an SMS not received.
The second is received
The third and last is two sms send (same content) the first contact did not received and the second got it.
I replaced the phone number with * of course.
First output :
Second output (message received)
And last output, first contact : nothing, second one OK
(sorry i should have checked the phone number and call them 1 and 2 before replacing them it seems important now ... I can do it again if you want)
System Details (please complete the following information):
GSConnect environment (if applicable):
Additional context
It seems that phones with +33 before the number are working unlike the other. I did not save any contact with +33 myself. (maybe i should remove all messages from textra with the contact without +33 and it'll work, (as if it'll be seen as new contact for GSConnect and prepend the +33 ?)
The contact i tried and with whom it's not working used to work fine before.
It worked from the version 16 and still worked fine with the latest version and out of the blue (without any action from my part (no upgrades) it stopped).
I know those kind of bugs are tough so i'll try my best to give you more logs if you need.
Thanks :)
The text was updated successfully, but these errors were encountered: