elementary / calendar

Desktop calendar app designed for elementary OS
https://elementary.io
GNU General Public License v3.0
130 stars 39 forks source link

Events link property are not displayed #693

Open andirsun opened 3 years ago

andirsun commented 3 years ago

What Happened

My meetings events have a URL property but the link are not displayed in elementary calendar app.

Event in browser calendar

Screenshot from 2021-08-20 17-27-15

Same Event in elementary calendar

Screenshot from 2021-08-20 17-29-01

Example of .ics event generated in my calendar provider.

BEGIN:VCALENDAR
PRODID:-//Zoho Corporation//Zoho Calendar-US//EN
VERSION:2.0
X-WR-CALNAME:Test
X-WR-TIMEZONE:America/Bogota
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Event Test
DESCRIPTION:
DTSTART:20210821T001500Z
DTEND:20210821T003000Z
LOCATION:
CLASS:PUBLIC
IMPORTANT:0
STATUS:CONFIRMED
UID:29015d59db9c4cf49d0decf29426b7df@zoho.com
TRANSP:TRANSPARENT
PRIORITY:5
CREATED:20210820T224126Z
LAST-MODIFIED:20210820T224126Z
DTSTAMP:20210820T224141Z
ORGANIZER;CN=Anderson CEO:MAILTO:a@slinqer.com
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DURATION;RELATED=START:-PT5M
END:VALARM
URL:https://google.com
END:VEVENT
END:VCALENDAR
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/101159482-events-link-property-are-not-displayed?utm_campaign=plugin&utm_content=tracker%2F60388692&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F60388692&utm_medium=issues&utm_source=github).
mcclurgm commented 3 years ago

I'm not aware of any link property in the calendar standard we use, so it must be stored somewhere special by your calendar service. Would you mind uploading an ICS file of an event that shows this issue so I can look at it?

andirsun commented 3 years ago

Sure! let me upload the ICS. Actually mac os calendar display the join link correctly.

andirsun commented 3 years ago

@mcclurgm this is a .ics file generated by my calendar provider zohomail calendar.ics.zip

mcclurgm commented 3 years ago

Thanks. This is interesting--it looks like zohomail is using a newer version of the calendar spec than our library supports. RFC 5545 (which libical uses) doesn't contain the URL: tag, which was apparently added in RFC 7986. It's possible that libical still outputs a property, but not a built-in one. If it's not handled well by libical, then we'll have to decide what we're going to do about this.

At any rate, this will need some design, since we don't have a URL field in the editor. Also, since we're basing our app on RFC 5545, we'd need to figure out how to deal with RFC 7986 without breaking compatibility--probably using a URL field only if one already exists in the event, or something like that.

mcclurgm commented 3 years ago

FWIW, I've found that Apple calendar also supports this field, but Google does not. Those are the only other services/apps I use, so there's almost certainly more, but just to add some more data to how common this field is.

mcclurgm commented 3 years ago

Ok, this isn't directly supported by libical, but it is by libecal. We could probably also query a custom property using libical. So this should be workable to implement code wise, but could use some design work for implementing the UI.