Migrate to GTK 4 and libshumate
When libshumate is deemed suitable to replace libchamplain (and other dependencies can be met) we should migrate.
Things that can be done beforehand
-
Cleanup GTK deprecations that can be done already in GTK 3 to ease the transition (#305 (closed)) -
Remove usage of Champlain.BoundingBox and .ensure_visible (#325 (closed)) -
Upgrade libgweather to a version not depending on GTK 3 (this might be possible to do before if GTK widgets are dropped from libgweather (libgweather#48 (closed)) (#438 (closed)) -
Upgrade WebKitGTK (used for the OSM editing sign-in dialog) to a new version supporting GTK 4 (blocking/depending on https://bugs.webkit.org/show_bug.cgi?id=210100)We will probably aim to replace OSM sign-in to use the preferred way of handing off OAuth setup to an external browser (instead of handling username/password directly in Maps) (#433 (closed))
Rewrite using GTK 4 and libshumate (these change would mostly be cross-dependent and need to be done together)
-
Change to use GTK 4 -
Replace libchamplain with libshumate -
Migrate from libhandy to the new libadwaita for GTK 4 (https://gitlab.gnome.org/GNOME/libadwaita) -
Update to the newer librest API (needed to migrate to libsoup 3, which will probably be required by libshumate in a stable release).As a first step we will build libshumate with libsoup 2 (in the Flatpak manifest), and afterward switch to libsoup 3.
Edited by Marcus Lundblad