Add the ability for users to subscribe to an external calendar using an ICS feed URL.
Users should be able to provide:
A name for the subscribed calendar
The external ICS feed URL
Stalwart should periodically retrieve and synchronize events from the feed, making them available through the user’s calendar account. The subscribed calendar should be treated as read-only, since changes must be made in the source calendar.
The feature should also allow users to:
View the last successful synchronization time
Manually refresh the calendar
Update the calendar name or feed URL
Enable or disable synchronization
Remove the subscription
See a useful error when the feed cannot be retrieved or parsed
Support for authenticated or private ICS URLs could be added separately if it is outside the initial scope.
Bulwark stores the subscription in the browser local storage, so unless you load that specific browser, it’s not going to pull down the feed. For someone who uses several different browsers regularly, that does not scale.
It does not. I can subscribe to these calendars on my mail server from other apps, like Thunderbird and they appear on my list of calendars in the Stalwart WebUI.
You are correct that they appear in the UI, but the browser is the one that does the sync, and only the original browser that you setup the calendar subscription on.
ICS subscription syncing is browser-driven. Bulwark’s backend only proxies the external .ics download; it does not run a background sync job.
Another computer using the same account should see the calendar and events already copied to the JMAP server. However, it will not know the source ICS URL because subscription configuration is not synchronized between browsers—even when Bulwark settings sync is enabled.
Hence, my request for this feature, to have it all driven from the server.
Yes, this would be incredibly useful, Bulwark subscriptions work in a very hacky way and a proper mechanism of subscribing to calendar feeds on the server would be much better