Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stopka/icsmw
ICal middleware
https://github.com/stopka/icsmw
Last synced: about 23 hours ago
JSON representation
ICal middleware
- Host: GitHub
- URL: https://github.com/stopka/icsmw
- Owner: Stopka
- License: gpl-3.0
- Created: 2024-03-14T20:27:23.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-01T14:17:20.000Z (5 months ago)
- Last Synced: 2024-06-01T16:18:10.773Z (5 months ago)
- Language: TypeScript
- Size: 66.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ics Middleware
Small middleware fetching ics files from remote urls and returning it with all UIDs postfixed.
It was built as a workaround to Nextcloud architecture bug storing local and subscribed calendar event in single table with globally unique UIDs.
This architecture does not allow subscribing to remote calendar containing same events as in local calendar.## Use case
I have my personal calendar on Nextcloud
My partner has her own personal calendar on google for example.
We subscribe to each other calendars to see each others program.
From time to time we invite each other to a common event.Here is the problem. I receive event invitation, but I already have the same event in the subscribed calendar.
Nextcloud can't handle this.Solution: I subscribe to partner's calendar through this middleware. This adds postfix to all event UIDs.
When invitation comes, there is no id collision with existing event as invitation has the original UID,
and stored events from subscribed calendar has postfixed UID## Settings
App requires env variable `CALENDARS` containing a json object of absolute path as a key and ics calendar as value.
```env
CALENDARS={"/partner":"https://some.server/calendar.ics"}
```Optionaly you can define a postfix that will be added to all event UIDs by env variable `POSTFIX`. Default to value `@icsmw`
```env
POSTFIX=@icsmw
```