Kozea / Radicale

A simple CalDAV (calendar) and CardDAV (contact) server.
https://radicale.org
GNU General Public License v3.0
3.27k stars 426 forks source link

Unable to delete calendar entries using Thunderbird #541

Open lynix opened 7 years ago

lynix commented 7 years ago

Using Thunderbird (45.5.1) I am able to create events on my Radicale instance. But after deleting an event it just reappears at the next synchronization.

I have created DEBUG logs for each action (slightly anonymized):

The problem only affects Thunderbird (Android as client works well). I think this is not a duplicate of #344 as I don't see any error messages.

lynix commented 7 years ago

Mea culpa, forgot to mention I am using Radicale 0.9 on Debian Jessie on the server side.

pbiering commented 7 years ago

there is something very strange ongoing

event-create.log contains: GET request at /lynix/testcal.ics/ and receives the property of the calendar (multifilesystem layout I assume)

BEGIN:VCALENDAR
PRODID:-//Radicale//NONSGML Radicale Server//EN
VERSION:2.0
END:VCALENDAR

Then there is a PUT request, but this is missing a file name: PUT request at /lynix/testcal.ics/

Usually this should look like (in multifilesystem mode):

PUT /user/calendar.ics/UUID.ics

Which calendar interface implementation are you using?

I'm using Thunderbird with Sogo-Connector, mostly working fine.

If you, too, start Thunderbird on console, then Sogo will display some output

lynix commented 7 years ago

Very strange indeed...

I'm using Thunderbird 45.5.1 with Lightning 4.7.4, no other add-ons installed, so I assume Thunderbird comes with its own CalDAV implementation? I've been using Sogo a few years ago but dropped it when switching from ownCloud to Radicale for Cal-/CardDAV.

Maybe I should install Sogo again and give it a try.

pbiering commented 7 years ago

ICS implementation in Lighting is not compatible with Radicale afaik...I only use ICS calenders here for pulling read-only calenders like public holidays.

lynix commented 7 years ago

Oh, okay that's sad.

Tried installing the Inverse SOGo Connector but this seems to break network calendar functionality in Thunderbird: I can add calendars, and according to the server log they are queried, but Thunderbird does not display any entries.

How are you using the SOGo connector?

lynix commented 7 years ago

I think I should rephrase my question: what did you choose when subscribing to your calendar using SOGo in Thunderbird: "iCalendar (ICS)" or "CalDAV"? I chose the latter.

Strange thing is that installing SOGo did not add anything in this dialogue, so I'm not sure I'm even using the SOGo implementation internally...

pbiering commented 7 years ago

Sogo/Radicale is not working out-of-the-box for new calendars.

  1. create new calendar on server or at least know existing one
  2. configure in Sogo each calendar as "CalDAV" and insert URI, e.g. Name: RemoteSomething URL: https://cdav.server.example/user/calendar.ics/ <- trailing / in case Radicale is running in multifilesystem storage mode (which I assume is the case on your side) to be verified checking if on server side one ICS file per schedule is existing

BTW: if you're able to update Radicale I would recommend to use 2.x stream with my latest pull request...working well here since weeks, fixing several bugs and have good (selective) debugging capabilities

lynix commented 7 years ago

Thanks for the hints :) What exactly do you mean by "in Sogo"? Is this not the regular "Add new calendar" dialog of Thunderbird?

On the server I only see one .ics file per calendar - so I assume I'm not in multifilesystem storage mode then?

I'll try to pull the Radicale packages from Debian Testing (they've got 1.1.1) and see if that improves anything. If not, a hint concerning the incompatibility to Lightning would have been nice on the Radicale Client Page (this reads as there was no need for anything special for CalDAV).

Thanks for your help! :)

pbiering commented 7 years ago

yes, "in Sogo" means regular calendar entry, sorry.

If you have one ics per calender, you have single file store setup, I don't have experiences with that, using multifilesystem storage since beginning (even where it was mentioned as experimental)...and in 2.x it's default and single file storage was dropped for various reasons.

and regarding: http://radicale.org/user_documentation/#idcaldav-and-carddav-clients ...vcard sync is also mostly working well with Sogo connector meanwhile (tested with multifilesystem).

Perhaps main developers can still support you on the old version and old storage layout.

pbiering commented 7 years ago

BTW: tested here now with Radicale 2.x Thunderbird's native ICS connector. Now getting a clearer picture.. ICS connector only uses GET and PUT (no DELETE) and rewrite the whole ICS on each PUT (which in multifilesystem layout results in delete and recreate of the directory structure).

You should monitor on server side the filesystem after your "delete", the resulting ics file should be empty or having minimal content imho...if this is supported in singlefilesystem mode (perhaps deletion of the last remaining schedule is not supported because the PUT request would have no VEVENT anymore inside...)

Got PUT here after deletion of the last entry:

BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
X-WR-CALNAME:**** / peter / testical
X-WR-TIMEZONE:Europe/Berlin
END:VCALENDAR

But in multifilesystem layout, this content is not stored at all (also not really necessary).

DecoDogs commented 7 years ago

Could this be related to the (non-Radicale only) inability to dismiss reminders in Lightning? That thread is https://bugzilla.mozilla.org/show_bug.cgi?id=769118

liZe commented 7 years ago

Mea culpa, forgot to mention I am using Radicale 0.9 on Debian Jessie on the server side.

Wow, I wouldn't use such an old release! Could you try with a recent version to see if it fixes the problem?