leits / MeetingBar

πŸ‡ΊπŸ‡¦ Your meetings at your fingertips in the macOS menu bar
https://meetingbar.app
Apache License 2.0
4.54k stars 203 forks source link

Feature: Allow to use link from ics LOCATION field #751

Closed oliverguenther closed 2 months ago

oliverguenther commented 4 months ago

Issue that this suggestion fixes

I recently stumbled upon MeetingBar and absolutely love it. Thanks a lot for your efforts!

We're using Open-Exchange, which in it's web form only offers a "Location" field, but does not populate it as a URL field. MeetingBar doesn't recognize this URL. The URL is also not a common known service name, as we host our own web conference tool using Big Blue Button.

Here is an exemplary ICS file from this tool:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Open-Xchange//7.10.6-Rev67//EN
BEGIN:VTIMEZONE
TZID:Europe/Berlin
TZURL:http://tzurl.org/zoneinfo-outlook/Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20240730T075335Z
CLASS:PUBLIC
CREATED:20240730T065406Z
DTEND;TZID=Europe/Berlin:20240730T103000
DTSTART;TZID=Europe/Berlin:20240730T100000
LAST-MODIFIED:20240730T075335Z
LOCATION:https://meet.ourdomain.org/b/somechannel
ORGANIZER;CN=redacted;EMAIL=foo@example.com
RECURRENCE-ID;TZID=Europe/Berlin:20240730T100000
RELATED-TO;RELTYPE=X-CALENDARSERVER-RECURRENCE-SET:0b33e03b-01de-4498-9232-
 ddb5db7ff2c3
SEQUENCE:38
SUMMARY:Daily meeting
TRANSP:OPAQUE
UID:33f05e0d-5e8d-48d9-a957-43bf61f88a05
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
X-MOZ-GENERATION:43
END:VEVENT
END:VCALENDAR

Solution description

Provide an opt-in to use a URL in the LOCATION field of the ICS, if it exists and is a web URL.

Alternatives considered

I'm not aware of any alternative that I could use, as I cannot register it as a custom service and it does not detect a URL in the meeting

Additional context

No response

oliverguenther commented 2 months ago

I don't know how I've possible been missing the regex for parsing URL, but that solves my problem! πŸŽ‰