nextcloud / nextcloud/contacts

Contacts geo: URI Support uses semicolon instead of comma

Open
#1,720 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

Describe the bug

First many thanks for providing the geo URI feature in NextCloud. You are once more ahead of your users and I am astonished that it is already implemented!

I checked this feature in NextCloud Contacts, it allows to add the "Ort" / Geolocation attribute to a VCard.
Unfortunately there are several shortcomings:

  1. NextCloud uses semicolon as coordinate separator: 90.000;0.000 RFC 5870 uses comma for coordinates (x,y and optional ,z) and semicolon for other optional attributes, e.g. CRS system, uncertainty

  2. The Contacts in the NextCloud UI provide a link to open in a new Window / Tab.
    It leads to https://90.000;0.000/ and an expected 404 error on my browser. According to RFC 5870 it should lead to geo:90.000,0.000 (ie. Geographic Northpole) which can be linked to the Geo Application of Choice, e.g. Gnome Maps under Linux.

  3. The NextCloud implementation in the VCard does add the GEO location tag as following
    GEO;VALUE=FLOAT:90.000,0.000
    The site https://geouri.org describes an example for different types of Geo Tags according to RFC 2426 and follows the RFC 5870 specification by preferring lowercase for geo: URIs.
    GEO;TYPE=work:geo:90.000,0.000

Would you be willing to switch to comma separator and add the geo: prefix to the VCard and Link instead of https:// ?

To Reproduce
Go to Contacts

  1. Add a Geo / "Ort" geolocation attribute to the Contact
    See the example provided for true geographic north (90.000;0.000)
  2. Click on Link icon in the Geo tag entry
  3. See error 404 https://90.000;0.000/ not found

Expected behavior
It should open a new window with geo:90.000,0.000
The new window will ask which application to open the geo URI with, e.g. Gnome Maps under Linux

Actual behavior
It directs me to https:///90.000;0.000/ and displays a error server not found

Screenshots
image

image

Server Not Found

Hmm. We’re having trouble finding that site.
We can’t connect to the server at 90.000;0.000.
If that address is correct, here are three other things you can try:
Try again later.
Check your network connection.
If you are connected but behind a firewall, check that Firefox has permission to access the Web.

Server configuration

Operating system: Linux,
Web server: Apache,
Database: MySQL,
PHP version: 7.2/3
Nextcloud version: 19
unfortunately this is not available for the average user I am testing with under User Profile > About.
Maybe a feature request would be necessary to show the NextCloud version for non-Admin users.
Contacts version: current
Updated from an older Nextcloud or fresh install: Upgrade from NextCloud 12

Client configuration

Browser: Firefox
Operating system: Linux Mint 20 Ulyana
CardDAV-clients: iOS, Thunderbird

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in the Contacts UI and inspect the generated VCard GEO value and the link target for the reported coordinates. Compare both against RFC 5870, then verify that comma-separated coordinates and the geo: prefix are used consistently and that the link opens the intended geo application.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.