Web calendar (Teamup) not visible in Calendar

Good day,

with the 3.3.0 release Rokua the possibility to add web calendars as an account was introduced [see 1].

After successfully adding such an account my expectation was that the events of the corresponding calendar are shown in the sailfish calendar.

I am using Teamup as a web calendar (https://www.teamup.com/). Teamup is offering different links for different user rights of the calendar [see 2].

So I added one (later on all) of the links from my Teamup calendar as accounts in Sailfish what was successful. I got the following picutre [see 3] everythime in the account view and I could see the Teamup calendar in the “manage calendars” section of the Sailfish calendar [see 4]. I also tried to select the option “Follow HTTP redirect” even all my links are https. But no difference either.

But sadly I do not see any of the events entered in the Teamup calendar in the Sailfish calendar.

Has anybody of you successfully added a web calendar (maybe a Teamup calendar) and is able to see events in the Sailfish calendar?

As a new user I am only allowed to add one picture. Thats the reason you see a collage of pictures.

I am looking forward to reading your experiences and advices how to get this feature working.

Best regards

Finlandia

I contributed to this part of code and I’m happy it could be useful for you. Too bad that it’s not working out of the box. I’m using it with various web calendar sources without problem myself.

Would you send me privately the link your using so I can debug your issue ? Or does it contains too many private data you cannot share ? If you can, send me the link to dcaliste A free.fr.

If you cannot, can you follow this link to see how to debug sync issue : https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions

Anyway, thanks for the report, and hopefully we can sorted this out quickly.

Hi dcaliste,
nice that you as a contributer for that feature here and reading about my issue!
I will not send my calendar link, because yes it is too private and also not realy necessary. For debugging you can also easily and quickly create a own calendar by yourself.
Teamup offers basic calendars for free, to “register” you only need to enter a email adress: https://teamup.com/calendars
I am looking forward to reading your analysis and hope you could give a few hints…

Sorry @Finlandia, I forgot about your bug report. I’ve been to the teamup website and tried the demos. It succesfully imported Linda’s calendar from https://ics.teamup.com/feed/ksfqsr5dnv8jmravgj/8715663.ics

The creation wizard in the setting page succesfully doenload the iCal data after entring the URL and proposed to creation the account for Linda’s calendar. After acceptence, waiting one or two minutes for the sync daemon to run it, the calendar appeared in the calendar app.

From your report, it seems to me that it’s an issue with the sync daemon not the account creation. If you cannot share the data, I would suggest you to follow the link in my previous post to retrieve sync logs. Follow the instructions to run msyncd in log mode, go to the setting application in the account page, open the web calendar account page and with the pull down menu trigger a manual sync.

The problem is solved. I am able to import my Teamup calendar to the Sailfish calendar.

What was wrong: I did not use the ics link, but the link to the calendar web application itself.
So spoken in the demo example for Linda I have to use this link:
https://ics.teamup.com/feed/ksbca5v4sr26p35ahm/8716592.ics
And not that link:
https://teamup.com/ksbca5v4sr26p35ahm

So there was no error in the Sailfish desgin.
There might be room for improvments in the setting section for setting up online calendars via accounts in the Sailfish setting. Maybe Jolla could mention that the ics link has to be used. With German language settings there is just text “URL of the online calendar” in the field where to enter the URL. And it should not work resp. be possible to add a calendar without a valid ics link.
For me as a user who has not that deep knowledge these hints would have supported.

Anyway thanks dcaliste, your post led me to the solution.

Good that it’s now working.

About your suggestion, I agree. Currently the code was proposing to create the account if the destination URL contains data, whatever the data themselves. I’ve added a simple check to see if those data could look like ICS data. If not, an error message is raised and the account cannot be created. The merge request is not in the public repositories though, I cannot show it to you. It’s going under review. I’ll tell you more after the process.

Basically the diff looks like this:

diff
--- a/extensions/ui/webcal.qml
+++ b/extensions/ui/webcal.qml
@@ -127,7 +127,13 @@ AccountCreationAgent {
                                     label = calRequest.responseText.slice(at + 13, end)
                                 }
                             }
-                            pageStack.animatorPush(settingComponent, {"calendarLabel": label})
+                            if (calRequest.responseText.indexOf("BEGIN:VCALENDAR") >= 0) {
+                                pageStack.animatorPush(settingComponent, {"calendarLabel": label})
+                            } else {
+                                busy.state = "info"
+                                //% "Cannot find a calendar. Check that the given URL points to ICS data."
+                                busy.infoExtraDescription = qsTrId("accounts-settings-lb-webcal_no_calendar_data")
+                            }
                         } else {
                             busy.state = "info"
                             //% "Cannot find any data at given URL."