GNOME Photos issueshttps://gitlab.gnome.org/GNOME/gnome-photos/-/issues2021-08-03T16:48:27Zhttps://gitlab.gnome.org/GNOME/gnome-photos/-/issues/152Port to Tracker 32021-08-03T16:48:27ZSam ThursfieldPort to Tracker 3See https://gitlab.gnome.org/GNOME/Initiatives/-/issues/17 for background.
Photos makes heavy use of Tracker and there are several changes we'll need to make for it to work with Tracker 3. Here's what I think we need to do:
* [x] Por...See https://gitlab.gnome.org/GNOME/Initiatives/-/issues/17 for background.
Photos makes heavy use of Tracker and there are several changes we'll need to make for it to work with Tracker 3. Here's what I think we need to do:
* [x] Port to libtracker-sparql 3.x API
* [x] Account for file & dataobjects being different resources in Tracker 3.x (modify photos-query-builder.c to query both the nmm:Photo and the nfo:FileDataObject resource)
* [x] Honour [graph separation](https://wiki.gnome.org/Projects/Tracker/Documentation/Graphs)
* [x] Modify queries to only look at the tracker:Pictures graph
* [x] Set corresponding policy in the [xdg-tracker-portal Flatpak portal](https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/180)
* [x] Store albums and favourites in a private Tracker database (in 2.x they were stored in the session-wide Tracker store, which no longer exists in 3.x) -- queries will need to updated too.
* [x] Replace TrackerMinerManager usage with direct call to IndexFile
* [ ] Add a way to monitor progress of IndexFile call, so we can display a notification without trying to contact the Miner over D-Bus (which won't be possible in a sandbox)
* [x] Update Flatpak manifest to use Tracker from GNOME SDK (we might still include tracker-miners ... i'm not sure if it's useful or not inside the sandbox)
Also, we need a way to export albums and favourites from the Tracker 2 database, and import them to the new Photos app database. My initial attempt is here: https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/262 and https://gitlab.gnome.org/sthursfield/tracker-data-migration-tools/
Some things I would like to do as part of this porting effort, but are not required:
* https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/59 (use TrackerNotifier instead of monitoring GraphUpdated signal)
* https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/83 (make online miners private to gnome-photos and include them in the Flatpak bundle)
* improve testing
* the dogtail test is currently broken
* there's no test for any Tracker related codepathsGNOME 3.38