Signal-Android icon indicating copy to clipboard operation
Signal-Android copied to clipboard

Sharing contact adds the wrong country code

Open k3anton opened this issue 5 years ago • 15 comments

  • [x] I have searched open and closed issues for duplicates
  • [x] I am submitting a bug report for existing functionality that does not work as intended
  • [x] I have read https://github.com/signalapp/Signal-Android/wiki/Submitting-useful-bug-reports
  • [x] This isn't a feature request or a discussion topic

Bug description

When sharing a contact using "Share" in Android Contacts, the contacts phone number gets altered and adds +1 in front of their phone number by Signal. This seems to happen if the contact does not have a country code added to their phone number.

Steps to reproduce

  • Go to your Android Contacts
  • Pick a contact without a country code in their phone number
  • Go to the More Options Menu (three dots)
  • Tap 'Share' and select a Signal Contact
  • Notice that the number has now changed format and a +1 has been added to the number.

Please note: This has been tested on Samsung S9 and a Nokia 7 as well, both up to date running the

Additionally, this bug may relate to #9439?

Actual result: The contacts number has been modified with a +1 in front. Causing the contact information to be invalid. Expected result: The contact information should remain it's integrity when shared with Signal.

Screenshots

signal-attachment-2020-06-01-092314_002 signal-attachment-2020-06-01-092314_001

Device info

Device: Pixel 3A Android version: 10 Signal version: 4.59.9

Link to debug log

N/A

k3anton avatar Jun 01 '20 08:06 k3anton

What is the correct country code for this number?

Also, is your own country code not +1?

alan-signal avatar Jun 24 '20 15:06 alan-signal

What is the correct country code for this number?

The number in the screenshots is fake. It it just to prove the bug exists. Feel free to reproduce the bug by following my instructions.

The bug has most likely to do with Signal trying to guess or change the number into an American number (+1), when it reality, it shouldn't edit the number at all without user interaction.

k3anton avatar Jun 24 '20 17:06 k3anton

Please answer: is your own country code not +1?

alan-signal avatar Jun 24 '20 18:06 alan-signal

Please answer: is your own country code not +1?

My country code is not +1.

k3anton avatar Jun 25 '20 05:06 k3anton

Is your device language set to "English (United States)"?

I'm not saying that changing that is the solution (although it should stop this happening), just trying to find the source of your issue.

That is where it is getting the +1.

alan-signal avatar Jun 25 '20 10:06 alan-signal

Is your device language set to "English (United States)"?

Yes, my system language is set to English.

k3anton avatar Jun 25 '20 11:06 k3anton

Sorry, the question wasn't so much about English as which country you have set.

The country dictates the country code. Do you have it set to "English (United States)"?:

image

alan-signal avatar Jun 25 '20 13:06 alan-signal

Right, I do have English (United States) set in my phone. I still strongly suggest that this automated country code editing is removed or at least not done without user being prompted about it. The way it works today is sneaky and not very clear to the user.

k3anton avatar Jun 25 '20 16:06 k3anton

I just had the same issue. However it changed the international dialling code to +44 (UK) one of the other languages I have listed lower down in Android, this despite when I sent it my Signal was showing +1 (had English US as first language).

Update: her Samsung Android phone has language set as English UK, so that is why Signal added the +44 dialling code. However we are both in Australia!

Changing defalt language to Australian on both phones fixed issue. Though guess just changing her phone to Australian would have given her correct international dialling code, ie Australian.

When sharing with Whatsapp the correct Australian code was set as +61, this was before we made any changes to default language (perhaps you can use their method)

Can't Signal deduce country from the country code that it already has from user registration? I can see this becoming a larger issue given recent user base growth, user who are probably less technically savvy than most older Signal users.

(I have another app which only works with language set to English US 😕)

PS. I'm on Beta 5.5.5

IronJunkie avatar Apr 01 '21 09:04 IronJunkie

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

stale[bot] avatar Jan 26 '22 16:01 stale[bot]

this is still an issue. if I share a contact without a leading country code Signal will add that oft the country I have currently set in settings -> language

ristein avatar Apr 04 '22 16:04 ristein

In https://github.com/signalapp/Signal-Android/pull/13004 I try to circumvent the issue by using NATIONAL formatting, when the defaultRegion has been used while parsing. It could be argued that providing a defaultRegion doesn't make sense in the first place. Unfortunately I currently don't have a local toolchain available to build and test the changes. Maybe a contributor can tell if this solution might be a viable option and if it makes sense to take this further.

d2weber avatar Jun 16 '23 08:06 d2weber

another thing: I just mentioned I can not share a contact including birth date. This could be fixed when looking into here anyway...

ristein avatar Jun 16 '23 09:06 ristein

another thing: I just mentioned I can not share a contact including birth date. This could be fixed when looking into here anyway...

Although unrelated a bit: i do have notes and e.g. URLs added to contacts. Last week I wanted to share the contact of a pizzeria next to me to a friend so he would be able to bring pizzas. Menu card is on the homepage... in the end i had to retype the url. -.-

Same with notes, which includes bank account information, for another use case. Don't have to be active by default as long as I can share these bits.

dennisroczek avatar Jun 26 '24 13:06 dennisroczek

Sorry, the question wasn't so much about English as which country you have set.

The country dictates the country code. Do you have it set to "English (United States)"?:

image

Can confirm that this is due to the language settings. Sharing a contact without an explicit country code with my wife will show up as +44 on my end (language set to english uk) and +1 on her end (language set to english us). We live in Germany (+49). When saving the contact it will be saved without the country code.

Sharing a contact that has a country code included shows up correctly.

I don't think it is a good idea to tie the country code to the phone language settings. This is just bound to cause confusion. The chance of someone having their phone language not set to their country of residency is quite high.

Jasper-Ben avatar Aug 24 '24 08:08 Jasper-Ben

Just to bump this up, it is still an issue, I got a french contact shared to my phone where the language is English UK, got a +44 as country code instead of +33.

4SH-gaupee avatar Aug 05 '25 07:08 4SH-gaupee

Bumping too. I'm in the Philippines, there is no language setting "English (Philippines)" and so all PH contacts without country code are being shared with +44 prefix, the language I have set. Sharing the same contact through WhatsApp correctly sets the country code to +63

dub4u avatar Aug 30 '25 23:08 dub4u