After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 775699 - Only latest 100 tasks downloaded from the Google
Only latest 100 tasks downloaded from the Google
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Tasks
3.22.x (obsolete)
Other Linux
: Normal major
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 777573 (view as bug list)
Depends on: 775813
Blocks:
 
 
Reported: 2016-12-06 11:51 UTC by Antoine Saroufim
Modified: 2017-02-27 10:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Antoine Saroufim 2016-12-06 11:51:05 UTC
On openSUSE Tumbleweed and Archlinux gnome-todo and evolution can upload tasks to Google but cannot download the already existing Google tasks.
Comment 1 André Klapper 2016-12-06 13:20:19 UTC
Steps to reproduce highly welcome.
Comment 2 Antoine Saroufim 2016-12-06 13:29:54 UTC
1 - Sign in to Google via gnome-online-accounts and grant GNOME full access
2 - open gnome-todo
3 - Add a task to the gmail task list
4 - navigate through a browser to https://mail.google.com/tasks/canvas
5 - Mark the task you entered through gnome-tasks as complete
6 - Add several tasks
7 - Check a 3rd party app to make sure that it's syncing properly
8 - open gnome-todo and notice that the task you initially entered is not marked as complete and the several other tasks you have entered are also not there
9 - Add another task from gnome-todo
10 - Check https://mail.google.com/tasks/canvas  and 3rd party sync app and notice that the task added from gnome-todo and those added directly via web are there
11 - open Evolution and navigate to Tasks tab and notice that it has the same exact content as gnome-todo

NB: tasks that already existed before the initial sync are not downloaded to gnome-todo either
Comment 3 Milan Crha 2016-12-06 18:58:57 UTC
Thanks for a bug report and steps. Both gnome-todo and evolution are using the evolution-calendar-factory, which is provided by the evolution-data-server (eds), thus they share the same data. As far as I know, there is no good checking for changes implemented on the eds side, thus all the updates are done either manually, of periodically. You can set the refresh interval in the Properties of the task list (it can be found in the context menu of the task list). The same menu also offers a 'Refresh' item, which is used to initiate the refresh manually.

That you do not see older tasks is weird. Maybe the initial update (check of available tasks) failed for some reason, or had been just stopped earlier). I cannot test it right now, due to "Daily Limit Exceeded" error returned by the Task List.
Comment 4 Milan Crha 2016-12-08 11:33:03 UTC
I retried this and once the "Daily Limit Exceeded" error is gone the Tasks work just as expected with respect of the update itself.

I also discarded my local cache and before that entered more than 100 tasks to the task list, when I realized that there are downloaded only the latest 100 tasks currently. I'll fix it.
Comment 5 Milan Crha 2016-12-08 15:57:22 UTC
After some investigation, the problem is that the Google server changed something and defaults to max 100 results when "too large" number is used. The GTasks service implements a very different pagination, which is not covered in the current libgdata. I filled a bug #775813 for the libgdata part.
Comment 6 Milan Crha 2016-12-08 16:28:21 UTC
I made this work with the changes proposed in the bug #775813, but please note that they are unreleased yet (even not approved), thus the evolution-data-server tests in the build time whether it can use the code and when it's not available, then it fallbacks to the old behaviour. That also means that it's not enough to get a newer libgdata, but the evolution-data-server should be rebuilt against that newer libgdata, to take the changes into effect, because it's determined in the configure time whether the new code can be used or not.

Created commit f87e020 in eds master (3.23.3+)
Created commit abe0188 in eds gnome-3-22 (3.22.3+)
Comment 7 Antoine Saroufim 2016-12-08 16:33:55 UTC
Thank you for the amazingly fast support and continued contributions to the fantastic GNOME stack.
Comment 8 Milan Crha 2017-01-24 06:39:59 UTC
*** Bug 777573 has been marked as a duplicate of this bug. ***
Comment 9 Milan Crha 2017-01-24 06:47:25 UTC
I'm reopening this, because the change in bug #775813 was not accepted (the changes I committed, see comment #6, require those changes proposed in bug #775813). It means that this will be re-done once the libgdata bits are finished.
Comment 10 Milan Crha 2017-02-27 10:29:20 UTC
I updated the eds changes according to libgdata bits and I also made it smart enough to fetch the cache automatically when eds is built against patched libgdata, thus the tasks will appear without any special intervention by the user. And as I made a mistake it's divided into two commits:

Created commit afdb2bc in eds master (3.23.91+)
Created commit 4f797ae in eds master (3.23.91+)

Created commit 682e275 in eds gnome-3-22 (3.22.6+)
Created commit e3c177c in eds gnome-3-22 (3.22.6+)