Skip to content

Releases

Trobar for Garmin 0.3.0

Choose a tag to compare

@missingfoss missingfoss released this 18 Aug 15:53

Trobar for Garmin 0.3.0 — two real bug fixes, one of which made the app unusable for most selections, plus a correction to what 0.2.0 told you about stuck sync screens.

Fixed

  • Playback was broken for almost every selection. Syncing an album, an artist, or anything else not covered by a playlist crashed the app mid-sync as soon as two or more tracks were involved: the play order was never written, so nothing was playable, and the sync was never reported as complete even though the tracks had downloaded. Only playlist-only selections and single tracks escaped it. Present since the sync engine landed in 0.1.0.
  • Server URLs with a trailing slash now work. A URL copied from a browser address bar — https://trobar.example.com/ — produced double-slashed requests that some servers accept and others reject, so pairing worked or failed depending on how your server is set up rather than on anything you did. URLs are now normalized before use: trailing slashes and stray whitespace are stripped, and a capitalised Https:// (which phone keyboards like to produce) is accepted. A URL with no http:// or https:// at all is now reported as not configured, pointing at the settings field, instead of failing later as a generic network error.

Changed

  • The server URL setting is now a proper URL field in Garmin Connect Mobile, so the phone offers a URL keyboard.
  • Real bard-and-lute artwork for the in-app launcher icon, replacing the placeholder.
  • The app name is now defined for French, which previously fell back to English.

Installing this version

This release has a new application ID, so your watch treats it as a different app. It installs alongside an existing Trobar rather than over it — nothing is migrated, and the older copy keeps whatever it had until you delete it. Pair this one, confirm a sync completes, then remove the old app.

Nothing will be playable until the first sync runs — this is expected. The watch syncs on its own at the next opportunity once it's paired, and the queue fills then. If you install this, open the app straight away and find nothing to play, that isn't the fix failing.

If your server URL has no http:// or https:// in front of it, the watch will now say "not configured" rather than reporting a network error. Nothing that worked before stops working — a URL without a scheme never worked — but the message now points at the setting instead of at your network. Add the scheme in Garmin Connect Mobile and re-sync.

Correction to the 0.2.0 notes

0.2.0 said the watch's native sync screen getting stuck at 0% was "a confirmed Connect IQ platform limitation, not something fixable in app code". That is no longer certain. The crash fixed above happened immediately before the app reports sync completion, so on any sync it hit, that report never happened at all — the same symptom, from a cause that was in this app's code.

It isn't a straight retraction either: two of the three cases originally observed couldn't have been caused by that crash, so the platform-limitation finding still stands for those. The remaining case still needs re-testing on a real watch.

The practical advice from 0.2.0 is unchanged and still worth following: if the screen sticks, check the Trobar server's web UI for the device's actual sync status rather than trusting the watch's screen.

Testing

No behaviour change, but this is where most of the work went: a unit-test suite of 57 tests covering .m3u8 parsing, play-order computation, enrollment-response handling, playback navigation and status text. It found the crash above on its first run.

Running it needs the Connect IQ SDK and the simulator, so it runs through dev/verify.sh rather than in the repository's own CI, which checks what the source can answer for on its own: version consistency between VERSION and manifest.xml, that no test server URL or enrollment code is baked into properties.xml, a secret scan, and per-file licensing. A green CI run here is necessary but not sufficient — run dev/verify.sh before opening a pull request.

Install

Sideload only — no Connect IQ Store listing. Download trobar-garmin.prg below and copy it into the watch's GARMIN/APPS folder over USB. See the docs site for pairing and sync setup.

Supported device: fenix5plus only.