pull down to refresh

You can use a Github Action for this. You could trigger a script to run every time events.db is updated. The script could handle all the formatting, changing the dates (if that is still the best option), adding the recurring rule, and then generate the .ics file, and commit it back to the repo automatically.