Bug 3151

Summary: loaded vCalendar plugin "disables" gnome-shells calendar view entries
Product: Claws Mail (GTK 2) Reporter: swbraun
Component: Plugins/vCalendarAssignee: users
Status: RESOLVED FIXED    
Severity: normal    
Priority: P3    
Version: 3.9.3   
Hardware: PC   
OS: Linux   
URL: https://bugs.debian.org/683283
Attachments:
Description Flags
debug run of vCalendar loading and unloading none

Description swbraun 2014-04-22 11:09:35 UTC
In gnome-shell, when you click on the "date/time" in the top panel, a calendar view of the current month opens. When there are any appointments in the Evolution calendar (also true with connected online calendars like Google), a list of the upcoming appointments is shown on the right of the calendar view.

As soon as the vCalendar plugin is loaded into ClawsMail, the upcoming appointment list in the gnome-shell calendar view disappears (only the calendar itself stays, but days with appointments are also no longer highlighted).
After unloading the vCalendar plugin, the gnome-shell calendar view shows the appointments again.

Loading/unloading the plugin is enough to trigger the bug, no restart of ClawsMail is required.
Comment 1 Colin Leroy 2014-04-22 11:46:07 UTC
They probably have changed the Dbus interface used to fetch events. Can you run claws-mail --debug to see if there is any hint of something going wrong ?
Comment 2 swbraun 2014-04-22 12:28:42 UTC
Created attachment 1366 [details]
debug run of vCalendar loading and unloading

This is the relevant debug output of loading and unloading the plugin.
Comment 3 Colin Leroy 2014-04-22 12:33:18 UTC
Comment on attachment 1366 [details]
debug run of vCalendar loading and unloading

Sorry, I meant at the time you click on the calendar, with the vCalendar plugin loaded.

Thanks!
Comment 4 Colin Leroy 2014-04-22 12:33:47 UTC
Also, which version of gnome-shell is this?
Comment 5 swbraun 2014-04-22 12:49:25 UTC
it's in the log output. This is what gets logged, when I open the gnome-shell calendar:

====== start ======
vcal_folder.c:498:fetching
vcal_folder.c:501:no uri!
vcal_folder.c:498:fetching
vcal_folder.c:501:no uri!
====== end ======

The same gets logged when I then click on one date.

System is Debian Sid
gnome-shell: 3.8.4-8
state of Gnome in Debian Sid: a mixture of Gnome 3.8 up to 3.12

BTW the bug is there for quite some time, but I'm not sure with which gnome-shell version I got it first. I never figured out what the problem was and hoped that it would be gone when Debian finally brings Gnome 3.12 to Sid.

I just accidently found out today that the vcalendar plugin triggered it, when I cleaned up ClawsMail from no longer used plugins.
Comment 6 Ricardo Mones 2014-04-22 13:27:26 UTC
Looks like another variant of https://bugs.debian.org/683283.
Comment 7 Ricardo Mones 2015-10-19 16:20:10 UTC
(In reply to comment #6)
> Looks like another variant of https://bugs.debian.org/683283.

I've (finally) forwarded the Debian bug to this one, as it's the same bug.

Looking at vCalendar code seems the simplest way to fix this is to offer an option on vCalendar config to allow vCalendar to act as a the GNOME calendar server, disabled by default.

Better ideas welcome, of course :-)
Comment 8 swbraun 2015-10-20 08:31:52 UTC
After looking into vcal_dbus.c it looks like the plugin is "hijacking" the gnome shell calendar server functionality on purpose.
This should not be the case since CM is mostly a MUA and I don't expect any application to change my desktop environments default behaviour without my knowledge.
So the default for the vcal-plugin should be not to export the calendar with an option to do so if anyone (is there really anyone how needs that?) doesn't want the gnome shell calender be handled by the shell.
Comment 9 Colin Leroy 2015-10-20 08:57:44 UTC
Yeah, probably the best would be a preference to turn this off.

I was thinking that D-Bus interfaces were meant to have multiple users and that Gnome-Shell would then be able to get events from multiple sources.
Comment 10 Ricardo Mones 2015-10-20 10:20:38 UTC
(In reply to comment #9)
> Yeah, probably the best would be a preference to turn this off.
> 
> I was thinking that D-Bus interfaces were meant to have multiple users and
> that Gnome-Shell would then be able to get events from multiple sources.

I've not started anything with this, so if you want to implement this fix it would be superb :-)
Comment 11 users 2015-10-21 20:56:02 UTC
Changes related to this bug have been committed.
Please check latest Git and update the bug accordingly.
You can also get the patch from:
http://git.claws-mail.org/

++ ChangeLog	2015-10-21 22:56:02.251323707 +0200
http://git.claws-mail.org/?p=claws.git;a=commitdiff;h=7658f37a6879cafccaa8bdbbb66407989e195cb8
Merge: 3b1a919 ffd9bc6
Author: Colin Leroy <colin@colino.net>
Date:   Wed Oct 21 22:56:01 2015 +0200

    Merge branch 'master' of file:///home/git/claws

http://git.claws-mail.org/?p=claws.git;a=commitdiff;h=ffd9bc6151435337ee70f87496ef5d5def24d20c
Author: Ricardo Mones <ricardo@mones.org>
Date:   Wed Oct 21 22:54:47 2015 +0200

    Fix bug #3151 ‘loaded vCalendar plugin "disables"…
    
    …gnome-shells calendar view entries’