Plain text or user-added hyperlinks for videoconferencing URLs are not detected in the event description field
In recent versions of GNOME Calendar, videoconferencing links are detected in the location field, and in some cases in the description field. When it works, it provides a dedicated videoconferencing row that looks like this:
However, while it works for events where the description was autogenerated with the Google Meet (or others) videoconferencing details, it will not work in the case where the user manually created an event and pasted just the link into the description (instead of the location field).
Steps to reproduce
- Create a new event
- Paste
https://meet.jit.si/whatever
orhttps://meet.google.com/whatever
orBlah blah https://meet.google.com/whatever woohoo
into the description field, and save the event - Click the event's popover, and see that there is no hyperlinking and no "Join" button parsing happening:
Preliminary analysis
There is some meeting type (brand) indentification code in src/gui/gcal-meeting-row.c but I suspect the actual field parsing is happening somewhere else. Looking at the related files in the initial commit 68160348 that created that file, we can see src/gui/gcal-event-popover.c where you can look for what calls the add_meeting
method; namely, the setup_description_label
method seems to call the gcal_utils_extract_google_section
function from src/utils/gcal-utils.c, which seems to be where the parsing magic happens, but it's also… very specific to Google-generated events.
If there is a videoconferencing link (even as plaintext) somewhere in the description, and there is only one such link, I think GNOME Calendar should be able to figure out that the event has a videoconferencing button meant to be exposed?