Can't open CityStrides GPX on Garmin app

On Android I used to be able to “Download GPX” route on CityStrides. The raw GPX was shown in Chrome, and “Open with Garmin” allowed easy route import.

But from today the last step doesn’t work (nothing is imported.)

I figured out that the downloaded file is .gpx.xml. If I remove the .xml suffix, Garmin is able to import it.

I’m not sure if this new incompatibility is caused by CS or Gamin Connect App. Garmin released 5.29 on sept. 7 two days ago.

Would it be possible for CityStrides to set the download file extension to .gpx?

:thinking:
When I use this “Download GPX” button, I get a file named e.g. “route-name.gpx”

I consulted the wrong-answers-only machine, and got a suggestion that I’m looking into. I’ll reply again after a change is available for you to test…

Just wanted to share that in my experience, the route file downloads as [routename].gpx.xml from chrome on an Android phone, and I open with Garmin the file which goes right to courses, works just fine both historically and currently. I don’t need to change the suffix or edit the file.

Ah - in Safari on Mac I get routename.gpx files sent over.

I just updated the code that sends off the file … It should give you a routename.gpx file now, instead of a routename.gpx.xml - I’d be interested in hearing whether that actually worked. :sweat_smile:

Hi James,

I just tested again, and I’m still getting *.gpx.xml on Android.

On Chrome desktop I checked the response headers which contain:

Content-Disposition: attachment; filename="ROUTENAME.gpx"; filename*=UTF-8''ROUTENAME.gpx
Content-Transfer-Encoding: binary

My sometimes-right-answer-machine claims that Android is missing the content-type and its MIME sniffer adds .xml. It recommends return header:

Content-Type: application/gpx+xml

I found this OSM issue, and also application/gpx+xml listed in Wikipedia: GPS Exchange Format.

I belive that I have always received .gpx.xml from CityStrides, but the latest Garmin update only recognises .gpx.

I’ll spare you my journey. :sweat_smile: It turns out I was missing the MIME type registration.

I was able to test locally with Firefox, which didn’t have the Content-Type header in the response (Safari always displayed it). After the registration code was added, the response contained the header.

I’ll be able to get this released in a few minutes.
While I was in there, I also noticed that the GPX download button wasn’t displaying for anyone but the Route owner. I’ve updated that so the download button shows (and hopefully works :rofl:) for everyone on shared Routes.

Thanks James.
Unfortunately it still downloads .xml here.
Can anyone reproduce this on Android 16 Chrome 152.0.7977.82?

Let me know if there’s more i can debug om my end.

Sorry, I didn’t get around to sending out the update because a long city sync was blocking me

Great James, now it works!
Downloading as .gpx and opening in Garmin.

:thinking: I still haven’t released my changes :rofl:
I’ll reply again when they’re available, so you can make sure it still works :sweat_smile:

OK, now the code is updated (again … seems like my previous update did fix the issue, but this version is still a bit better & also fixes the download button issue)

Still works.