1. 23 Sep, 2020 4 commits
    • Sam Thursfield's avatar
      Port to Tracker 3 · 2eb92372
      Sam Thursfield authored
      Notable changes:
        * User data (favourites, albums) is now stored in a private database in
          ~/.local/share/gnome-photos. This is combined with the Tracker Miner
          FS index of photos at query time.
        * Inside Flatpak, the app connects to Tracker via the new
          xdg-tracker-portal instead of talking directly over D-Bus. Access is
          limited by the portal so the app can only see the Pictures graph.
        * The Flatpak build can use a bundled version of Tracker Miners, if a
          suitable version is not available on the host.
        * Change detection is done using TrackerNotifier instead of watching
          the GraphUpdated D-Bus signal directly.
      Closes #59
      Closes #152
    • Sam Thursfield's avatar
      Generate queries using SPARQL templates · 3d847ff8
      Sam Thursfield authored
      The code to generate SPARQL queries was split across many different
      source files, making it difficult to make big changes. Now the
      queries are written out as templates and we use template substitution
      to build the SPARQL that we send to Tracker.
    • Sam Thursfield's avatar
      Fix build failure due to undefined M_PI constant · f39a85bb
      Sam Thursfield authored
      The <math.h> header needs to be included.
      Previously I suppose libtracker-sparql.h pulled this in.
    • Debarshi Ray's avatar
      appdata: Add release notes for 3.38.0 · 5e2f06bd
      Debarshi Ray authored
  2. 22 Sep, 2020 3 commits
    • Sam Thursfield's avatar
      Switch to private instances of the Tracker 2.x daemons · fb31e2a8
      Sam Thursfield authored
      GNOME 3.38 is switching to Tracker 3.x by default [1]. However, Photos
      is not ready to switch this cycle.
      It's desirable to avoid having two sets of Tracker daemons indexing
      the same content as much as possible. One option is to start private
      instances of the Tracker 2.x daemons tied to the lifetime of the GNOME
      Photos application. Distributions can disable Tracker 2.x by default,
      and it will only be activated when needed by Photos.
      This also allows the Photos Flatpak to run Tracker 2.x daemons inside
      the sandbox, ensuring it works on systems which don't have Tracker 2.x
      Based on code written by Yi-Soo An.
      [1] Initiatives#17
    • Sam Thursfield's avatar
      application: Rename a function for clarity · 2debd8a9
      Sam Thursfield authored
      A subsequent commit will switch GNOME Photos to use private instances
      of the Tracker 2.x daemons, where the daemons will be tied to the
      lifetime of the application. This means that the application will be
      responsible for also starting the miners for local content.
      Therefore, it's necessary to clarify that this function only concerns
      the online miners.
    • Debarshi Ray's avatar
      flatpak: Remove unsed tracker-miner build option · 9bf3fec4
      Debarshi Ray authored
      The miner_apps build option was removed in tracker-miners-2.2.0 [1].
      [1] tracker-miners commit 8920540bc2cc859f
  3. 18 Sep, 2020 1 commit
  4. 14 Sep, 2020 1 commit
  5. 12 Sep, 2020 1 commit
  6. 11 Sep, 2020 5 commits
    • Sam Thursfield's avatar
      base-item, utils: Avoid CRITICALs when reading an item's metadata · d5525fcf
      Sam Thursfield authored
      If the Tracker extractor has not yet run for an item then various
      variables in the query will be unbound. This would led to things like:
        Tracker-CRITICAL **: tracker_sparql_cursor_real_get_integer:
          assertion 'tracker_sparql_cursor_get_value_type (self, column) ==
      These CRITICALs were more often (always?) triggered when using
      TrackerSparqlConnection's 'bus' backend that uses D-Bus to access the
      Tracker database. eg., the Flatpak builds that don't bundle the Tracker
      D-Bus services.
    • Sam Thursfield's avatar
      item-manager: Avoid CRITICALs when adding an item to a mode · b2fb7cfe
      Sam Thursfield authored
      The mtime is stored as nfo:fileLastModified or nie:contentLastModified
      in the Tracker database. These properties are of type xsd:dateTime,
      and are returned as strings, not booleans. Hence it led to:
        Tracker-CRITICAL **: tracker_sparql_cursor_real_get_boolean:
          assertion '_tmp0_ == TRACKER_SPARQL_VALUE_TYPE_BOOLEAN' failed
      These CRITICALs were more often (always?) triggered when using
      TrackerSparqlConnection's 'bus' backend that uses D-Bus to access the
      Tracker database. eg., the Flatpak builds that don't bundle the Tracker
      D-Bus services.
      Fallout from 3ad413e3
    • Debarshi Ray's avatar
      base-item, utils: Split out the code to get mtime from SparqlCursor · fa4c3ea9
      Debarshi Ray authored
      The subsequent commit will use this elsewhere in the codebase to avoid
      a CRITICAL.
    • Janvitus's avatar
      Update Italian translation · 90498299
      Janvitus authored
      (cherry picked from commit f94df8c6)
    • Alan01's avatar
      Updated Danish translation · f817c3ef
      Alan01 authored
  7. 08 Sep, 2020 4 commits
  8. 07 Sep, 2020 1 commit
  9. 05 Sep, 2020 1 commit
  10. 04 Sep, 2020 2 commits
  11. 03 Sep, 2020 1 commit
  12. 02 Sep, 2020 1 commit
  13. 01 Sep, 2020 1 commit
  14. 27 Aug, 2020 1 commit
  15. 26 Aug, 2020 2 commits
  16. 25 Aug, 2020 10 commits
  17. 24 Aug, 2020 1 commit