Skip to content

Linkify geo: URIs in message bodies - #14838

Closed
uzantome wants to merge 1 commit into
signalapp:mainfrom
uzantome:linkify-geo-URIs
Closed

uzantome wants to merge 1 commit into
signalapp:mainfrom
uzantome:linkify-geo-URIs

Conversation

@uzantome

@uzantome uzantome commented Jun 13, 2026 •

Copy link
Copy Markdown

First time contributor checklist

Contributor checklist

  • Virtual device system-images/android-36/google_apis_playstore/arm64-v8a, Android 16.0
  • My contribution is fully baked and ready to be merged as is
  • I ensure that all the open issues my contribution fixes are mentioned in the commit message of my first commit using the Fixes #1234 syntax

Description

geo: URIs (RFC 5870) were not linkified, and worse, the stock phone
number linkifier matched the coordinates, so "geo:52.5,13.4" rendered
as a tappable phone number.

This PR adds support for geo: to the new Linkifier added in Commit 5655fcf.

geo: is a platform-neutral scheme and leaves the choice of map app to the user.
It can be opened locally without disclosing the location to any web service.
It is also supported by Google Maps.
This PR doesn't change what Signal's own location-sharing sends (Google Maps links); it only makes received
geo: URIs behave.

This addresses

Tested

  • added some unit tests
  • tested it in the emulator (see screenshots) with useNewLinkifier set to true

geo URIs get linkified:
linkified_geo-uris

tapping a detected geo URI shows the maps-app chooser:
clicking_geo-URI_lets_user_choose_map-app

long-press copies the URI:
long-press_copies

geo:0,0?q=Eiffel+Tower opens in Google Maps with the query:

opens-in-googleMaps-with-query-only

geo URI opened with CoMaps:
geo-URI_opened_in_comaps

@greyson-signal

Copy link
Copy Markdown
Contributor

Hi there, I really appreciate the effort, but for now I don't think we're going to add this. I think it adds additional complexity to the linkifier, and I don't think there's currently demand for support for these types of links (nor does support seem to be present in any other messaging app I've tested). If something changes on that front, we can come back to it. Thanks!

@joe-123

joe-123 commented Sep 29, 2026

Copy link
Copy Markdown

Non-Maps-Apps that support it: Threema, Element (Mobile), FairEMail, Firefox, iMessage, ...
Whatsapp and Telegram do not support it currently, that's true.

For Maps apps: They should all be able to open geo: links. And most Google Maps alternatives are also able to share geo: ... links.
See here: https://wiki.openstreetmap.org/wiki/Geo_URI_scheme

I think it's a very important feature because by not supporting it you are pushing people towards Google Maps.

@Katzenminze

Copy link
Copy Markdown

Why was this closed? I was annoyed with the inclusion of Google Maps in signal for a while

@ArrayPirate

Copy link
Copy Markdown

Hi. Please merge this PR. Would be a great feature!

@realeatham

Copy link
Copy Markdown

Closing this because "other apps don't have this feature" is silly, supporting more features than competitors is great, especially when it's a small code change like this

@zyphlar

zyphlar commented Oct 27, 2026

Copy link
Copy Markdown

"Nobody else supports this open standard" is sorta like playing a game of Chicken with free open source. It's tautologically true until someone makes the first move. Unfortunately as you've said, as of today a perfectly fine and open standard is practically unusable, forcing vendor (and spying corporate) lock-in.

@realeatham

realeatham commented Oct 27, 2026 •

Copy link
Copy Markdown

Also to note, it's not that the standard is unsupported, all mobile map apps, FOSS and proprietary, support it. There is just a lack of IM support currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants