Release strategy for parallel release support, <4.0.0, armv7, etc

The app is BikeMe, but wait I do have a 3.4 device too, my Jolla 1 :slight_smile:
So it actually installs fine on 3.4, @olf tried on SFOS 3.2.1, which is probably not worth investing too much time :grimacing:

Thanks for the answers :ok_hand:

Cool. I just cloned the code and it builds fine with the sdk 4.3 image but deploying arm to a 3.4 device. I’m not sure if everything works, but a log of things work :slight_smile: EDIT: on 3.4 no maps show up when, for instance, looking at a berlin co.

1 Like

Oh that’s probably because by default it uses HERE and you need to set the tokens (https://github.com/sthocs/harbour-bikeme/blob/master/qml/pages/InteractiveMap.qml#L51)
What’s cool is that on 3.4, the osm plugin works (can be set in the settings) :slight_smile:

Anyway many thanks for taking the time to double check! I’ll stop polluting the topic ^^

One last bit! On 3.4, selecting OSM was enough (and tinkering with providers) to get bikes showing in Berlin.

The SDK built 4.3 aarch64 installs fine. Select OSM works, too. However, tile loading seems a bit funky. Network errors appear. Still, mostly functional :slight_smile:

NOTE: Sailjail config stuff and the location of configs/cache and so on ARE NOT a concern. You can install just fine on 3.4 with those. I consider the parallel release issue closed for my purposes.

1 Like

However, tile loading seems a bit funky. Network errors appear.

Yeah I’ve replied on Github, Jolla broke the osm maps plugin with SFOS 4: Using QML map + osm not working?
I’ve let the option available because I was hoping it would be fixed soon enough :unamused:

I’ve tried to use the mapbox-gl-qml plugin yesterday to prepare the future but I wasn’t able to display anything on the map in a timely manner, copy-pasting the code from the example didn’t work as-is :see_no_evil:

Thanks, I’ll have a look when I have a minute. I’m debugging some QML Location problems with Sailjail so it’s kinda ball-park :wink:

1 Like

Please let me know what failed with mapbox-gl-qml plugin. Maybe some simple failing example? If you can, file an issue at the repository .

It looks like it’s just an old default value for tile host. tile.openstreetmap.org is the new default according to: Tile servers - OpenStreetMap Wiki

I’m trying something like:

        Plugin {
            name: "osm"
            PluginParameter { name: "osm.useragent"; value: "harbour-bikeme" }
            PluginParameter { name: "osm.mapping.host"; value: "https://tile.openstreetmap.org" }
        }

I’ve posted this in the github ticket, but here also in the hope that @rinigus has an idea:)

Adding the PluginParameter to set the osm.mapping.host

   Plugin {
       name: mapPlugin // dynamically set to osm
       parameters: [
                PluginParameter { name: "osm.mapping.host"; value: "https://tile.openstreetmap.org" },
                PluginParameter { name: "app_id"; value: "" },
                PluginParameter { name: "app_code"; value: "" }
            ]
   }

Seems to work (the old static host isn’t asked, but we get:

Cannot connect (null)::copyrightsChanged(QImage,QPoint) to QDeclarativeGeoMapCopyrightNotice::copyrightsChanged(QImage,QPoint)

I don’t use those build-in Qt plugins as I switched over to vector tiles

Ah, cool to know. Presumably to reduce bandwidth? Or better rendering?

It is rendering using GPU, follows rotation of the device (no more labels upside-down), allows you to insert your own objects (like route or POIs) in addition to the ones given by tiles. For example, Pure Maps shows route under labels with street names. Those are few advantages of switching over to MapboxGL tiles

1 Like

Haha I didn’t really want to ping you (yet), as I haven’t invested enough time (just copied the /// Location support part basically). I’ll take more time another day and start by trying to run the example, and ping you if needed, thanks :pray:

And thanks for the investigation @poetaster! (even though it should be Jolla’s role if they want more map-based apps) I didn’t meant to hijack the topic like that initially :smiley:

1 Like

Hey! No worries. I was actually done with this thread as one of my reasons for opening it turned out to be a mistaken understanding of sailjail (and sfos < 4).

As for the location stuff, I’m doing some debugging in that domain anyway so it’s ‘cross-pollination’ dev.

1 Like

Hi again! So I’ve tried to simply clone and build your mapbox-demo-sfos with the SDK but it doesn’t work as-is. I know I need to install opt-gcc6 and qmapboxgl on the build target but I haven’t found how in a timely manner :frowning_face: (I remember it was well explained in the old docs, but haven’t found anything in the new docs :man_shrugging: )

So I’ve created a new project and just replaced the content of the FirstPage.qml with a MapboxMap (the Mapbox’s accessToken needs to be set). The map shows but not the location icon.
Here is the repo if you want to have a look at what I have missed! https://github.com/sthocs/mapbox-test

1 Like

You were close, very close. Try to swap the order of coordinates in https://github.com/sthocs/mapbox-test/blob/master/qml/pages/FirstPage.qml#L33 - GeoJSON is in different order.

In general, approach is correct. Use QML plugin directly without a mess involved with qmapboxgl. That will allow you to follow MapboxGL QML development without doing much. See Pure Maps SPEC for bundling all needed components with the app for Jolla Store submission. If you distribute via Chum or OpenRepos, you could just require Mapbox GL QML plugin package and it will be pulled from corresponding repo. I would recommend from Chum, though :slight_smile:

That SFOS demo is rather old and no wonder it is broken.

When working with the sources, I would suggest to use
addSourcePoint method to add it and later updateSourcePoint. In Pure Maps there is a touch of complexity added to allow smooth location change indication, but it could still be used as an example. See https://github.com/rinigus/pure-maps/blob/master/qml/PositionMarker.qml

PS: And we hijacked the thread

1 Like

It indeed works by swapping the coordinates! :smiley:

Thank you for checking and for the additional info! On my side I only wanted to see what it would take to use the plugin if at some point the QtLocation’s HERE plugin stops working too.
But I won’t invest much more for now, It’s been 8 years that I’m waiting for Jolla to provide an official way to develop map-based apps in a Harbour-compatible way, I’m not impatient anymore :sweat_smile:

PS: And we hijacked the thread

Hehe, he said “no worries” :stuck_out_tongue_winking_eye: . It was an interesting discussion, thanks both!

In this sense Mapbox GL QML is Harbour compatible now - see Pure Maps in the Store :). Great that we managed to get that demo working

1 Like

… and now for something completely different, belonging to the “etc.” category (and maybe also the “<4.0.0” one) of the OP:

Via this comment I became aware of @slava’s harbour-lib, which provides backward compatibility functions like this (among other features), which eases to support a broad range of SFOS releases with a single code base.

When combining this with building per SailfishOS:Chum-OBS, automated compilation and distribution of apps for many SailfishOS releases becomes much easier than it ever was before.

1 Like