1. 20 Jun, 2018 1 commit
  2. 09 Mar, 2018 1 commit
  3. 30 Jun, 2017 1 commit
  4. 28 Jun, 2017 1 commit
  5. 05 Sep, 2016 1 commit
    • chriadam's avatar
      [buteo-sync-plugins-social] Fix upsync of Google Calendar event removal. Contributes to JB#36033 · e3e17150
      chriadam authored
      In some cases (where the last-sync timestamp falls within 999 msecs of
      when a downsynced event is stored to the database) a local deletion
      of that event wouldn't have been upsynced appropriately, due to mkcal
      deletedIncidences() semantics.  This commit works around that issue
      by ensuring that we retrieve all such locally-deleted events which
      were created within the 1-second timeslice around the sync timestamp.
      Contributes to JB#36033
  6. 04 Mar, 2016 1 commit
    • chriadam's avatar
      [buteo-sync-plugins-social] Enforce C locale when generating timestamp... · 9a0b2a86
      chriadam authored
      [buteo-sync-plugins-social] Enforce C locale when generating timestamp strings. Contributes to MER#1536
      When generating timestamps for consumption by remote servers, the
      server will expect the timestamps to be formatted as RFC-compliant
      datetime strings. Those invariably require Latin1 alphanumeric
      This commit ensures that we use the C locale when generating such
      strings, to avoid non-Latin1 number-characters from being used.
      Contributes to MER#1536
  7. 26 Feb, 2016 1 commit
  8. 01 Feb, 2016 1 commit
    • chriadam's avatar
      [buteo-sync-plugins-social] Fix Google Calendar synchronization issues. Contributes to JB#33080 · dd021f1a
      chriadam authored
      This commit fixes several issues related to both downsync and upsync
      with Google Calendar service.
      a) sequence (revision) field is now enforced by Google server.
         This commit ensures that we parse it correctly.
      b) updatedMin must be no older than about 20 days if we request
         deleted events from Google, otherwise Google will respond with
         a 410 GONE error.  This commit now handles this by triggering
         a clean sync in that case, and by ensuring that we store a
         better "last sync date" in the notebook metadata (previously,
         we just used the timestamp reported by Google - but then if
         a notebook wasn't modified for more than a month, we'd start
         spontaneously hitting this error).
      c) error reporting has been improved to work around the newline
         restriction in the journal.  Full error information should now
         be visible in the log.
      Contributes to JB#33080
  9. 28 Oct, 2015 4 commits
  10. 15 Sep, 2015 2 commits
  11. 17 Jul, 2015 1 commit
  12. 14 Jul, 2015 1 commit
    • chriadam's avatar
      [buteo-sync-plugins-social] Improve clean sync of Google Calendars. Contributes to MER#1162 · 44d90297
      chriadam authored
      This commit ensures that we don't delete the gcal.ini file on package
      upgrade, which we previously did (which would then trigger a clean
      sync cycle on next synchronization).
      It also ensures that when a clean sync does occur (eg, due to error)
      that we re-use the same notebook UID after recreating the notebook,
      to ensure uid continuity for other applications (eg Calendar App).
      Contributes to MER#1162
  13. 26 Jun, 2015 1 commit
    • chriadam's avatar
      [buteo-sync-plugins-social] Improve server-side change detection. Contributes to MER#1121 · e404d908
      chriadam authored
      This commit does two things:
      1) ignores changes if they're spurious (eg a change to something we
         don't sync)
      2) compares the last-seen etag of the event (as reported by the server)
         to the previously-seen one, to determine whether the change is more
         recent than the previous sync.
      We need to do (2) because of the loss of precision of mKCal::Notebook
      syncDate() versus the last-modified timestamp reported by Google.
      Contributes to MER#1121
  14. 05 Jun, 2015 1 commit
  15. 29 Apr, 2015 1 commit
    • chriadam's avatar
      [buteo-sync-plugins-social] Remove libsocialcache usage from Google Calendar... · 77c4c903
      chriadam authored
      [buteo-sync-plugins-social] Remove libsocialcache usage from Google Calendar sync. Contributes to MER#916
      This commit removes any usage of libsocialcache from the Google
      Calendar sync adapter.  This means that sync is more robust and
      less prone to problems due to improved atomicity.
      Contributes to MER#916
  16. 20 Apr, 2015 1 commit
  17. 13 Apr, 2015 1 commit
    • chriadam's avatar
      [buteo-sync-plugins-social] Set summary+description info into Google... · 7d744e2c
      chriadam authored
      [buteo-sync-plugins-social] Set summary+description info into Google Calendars. Contributes to MER#884
      Previously, we hardcoded calendar summary information for calendars
      synced from Google.  Instead, we should use the summary and description
      provided by the server.
      Contributes to MER#884
  18. 30 Mar, 2015 1 commit
  19. 15 Jan, 2015 2 commits
  20. 14 Jan, 2015 1 commit
    • Chris Adams's avatar
      [buteo-sync-plugins-social] Fix Google Calendar recurrence sync · ad41bcc7
      Chris Adams authored
      When a single occurrence of a recurring event is deleted on device,
      it is marked as an exception datetime for the original event.
      Previously, we only upsynced EXDATE values, not EXDATETIME values,
      and similarly we only upsynced RDATE and not RDATETIME values.
      This commit ensures that all four are upsynced correctly.
      This commit also ensures that when recurrence rules are parsed for
      an event, the recurrence information for the event is cleared before
      setting the parsed data, to avoid RRULE duplication after sync.
  21. 13 Jan, 2015 3 commits
    • aseppala's avatar
    • aseppala's avatar
    • aseppala's avatar
      [sociald] Use server timestamps when delta-syncing google calendar events · 4ade9d22
      aseppala authored
      Google calendar sync plugin uses timestamp from previous completed buteo sync
      round when requesting events for delta sync. This causes problems if the
      device clock is behind the server clock. Say the following takes place:
      user creates an event on device, upsyncs it at which point the sync plugin
      saves a local timestamp. Then user edits the same event and saves it,
      which triggers sync. Sync plugin requests changed events by using the timestamp
      from previous round. As that timestamp is behind the server clock, the response
      also includes the event user just edited. Sync plugin thinks that both
      local and server side versions of the event have changed.
      In that case, the server side version wins, effectively canceling the
      changes user just did.
      This commit takes timestamps from server responses, stores them
      per-calendar basis to libsocialcache database and uses those values when
      requesting events for delta sync.
  22. 09 Jan, 2015 2 commits
  23. 19 Jun, 2014 1 commit
    • chriadam's avatar
      [sociald] Use CleanUpPurge mode for cleanUp() codepath. Contributes to JB#20682 · 64cf0b4b
      chriadam authored
      This commit ensures that the plugin is aware that it is performing a
      purge for the cleanUp() account-removal case.  In that case, the sync
      function will NOT have been called, and so any setup / initialization
      which would normally be performed in that function, needs to be done
      prior to the purge, and any state finalization needs to be committed
      In practice, this means that calendar data gets correctly purged from
      the databases when the account is deleted.
      Contributes to JB#20682
  24. 13 Jun, 2014 1 commit
  25. 15 Apr, 2014 1 commit
  26. 07 Apr, 2014 1 commit
    • chriadam's avatar
      [sociald] Split monolithic sociald plugin. Contributes to JB#15786 · 66725b7f
      chriadam authored
      Previously, the sociald plugin was a monolithic plugin which handled
      sync of all different data types.
      This commit splits it up into multiple different plugins, which means
      that each one can be an independent out-of-process plugin, and that
      each one can handle per-account sync profiles.
      Contributes to JB#15786
  27. 01 Apr, 2014 1 commit
    • chriadam's avatar
      [sociald] Automatically time out stuck network requests. Contributes to JB#16704 · d8dacdbf
      chriadam authored
      This commit adds code to time out network requests after a certain
      period of time.  This ensures that msyncd won't keep the device from
      entering suspend if a network request hangs.
      It also fixes a problem in the Twitter Home Timeline (Posts) sync
      adapter where a network error would cause the finished() handler to
      be skipped, which would cause the semaphore to remain undecremented,
      which caused the plugin to hang.
      Contributes to JB#16704
  28. 20 Mar, 2014 1 commit
  29. 19 Mar, 2014 1 commit
  30. 14 Feb, 2014 2 commits
  31. 13 Feb, 2014 1 commit