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 631073 - Task update operation has some delay
Task update operation has some delay
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Tasks
2.32.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-10-01 07:06 UTC by Ruchir Brahmbhatt
Modified: 2010-11-09 14:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (567 bytes, patch)
2010-10-20 10:38 UTC, Milan Crha
committed Details | Review

Description Ruchir Brahmbhatt 2010-10-01 07:06:55 UTC
OS: opensuse 11.3 x86_64
Evolution: 2.32.0
Account: Gmail IMAP+

Steps to reproduce:
1. Go to task view.
2. Change any task. Update any field or mark complete or perform any other operation on any task.

Actual result:
There's 3-5 seconds delay in reflection of changes.

Expected result:
Changes should reflect immediately.
Comment 1 Akhil Laddha 2010-10-01 11:09:16 UTC
It's there even when you delete an event or create an event in calendar view. I meant even in personal calendar.
Comment 2 Milan Crha 2010-10-20 10:03:21 UTC
Confirming. I see it's "only" about painting, it shows changes immediately when I "force" repaint of the table, like by choosing the preview panel or such. I'm searching what event got lost or what broke in the repaint function.
Comment 3 Milan Crha 2010-10-20 10:38:21 UTC
Created attachment 172824 [details] [review]
eds patch

for evolution-data-server;

Hrm, I realized it's not only about painting. This is a regression from my changes in bug #625115, which uncovered this behaviour.

It's funny how this behaves, because it does basically this:
a) you click on the checkbox in the Tasks view to complete/uncomplete the task
b) this is received, checkbox value is updated, and then is also updated
   the task in the e-calendar-factory
c) the factory backend behind this tasks list receives the change and if it
   updates its store then it notifies all views about the change
d) the model in the table receives this change notification
   from e-calendar-factory, and notifies table about row change, which finally
   repaints the row which was clicked on in a)

The all repaint fun goes through e-calendar-factory and GDBus. The difference before and after patch from bug #625115 is that before were notified all views immediately, but after it there was some timeout (about 2 seconds) to cumulate more updates and push them in once. I changed this to notify about changes in the 'done' view almost immediately. The 'done' view is a view where the initial populating of it was already done.
Comment 4 Milan Crha 2010-10-20 10:41:56 UTC
Created commit 8600073 in eds master (2.91.2+)
Created commit dec1d60 in eds gnome-2-32 (2.32.1+)