Skip to content

Customizable alarms per subscription #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
8 tasks done
rfc2822 opened this issue Nov 10, 2021 · 13 comments · Fixed by #78
Closed
8 tasks done

Customizable alarms per subscription #1

rfc2822 opened this issue Nov 10, 2021 · 13 comments · Fixed by #78
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@rfc2822
Copy link
Member

rfc2822 commented Nov 10, 2021

  • Support customizable alarms per subscription (for instance: add an alarm 10 min before the event for every event in the subscription)
    • Create UI for setting per subscription: "Add custom alarm" (Edit calendar activity)
    • Save setting per subscription: "Add custom alarm"
    • Actually make this setting work
  • Possibility to disable alarms which come with the .ics
    • Create UI for setting per subscription: "Ignore alarms from file" (Edit calendar activity)
    • Save setting per subscription: "Ignore alarms from file"
    • Actually make this setting work
@rfc2822 rfc2822 added the enhancement New feature or request label Nov 10, 2021
@rfc2822 rfc2822 added this to the 2.0 milestone Feb 7, 2022
@rfc2822 rfc2822 modified the milestones: 2.0, 2.1 Feb 16, 2022
@lvpha
Copy link

lvpha commented Apr 30, 2022

We really need such feature to just set the default reminder for a calendar. Just like G Cal has. When subscribing to a school/job calendar with back to back events. It is very inconvenient to have a 1 hour before notification.

@Zocker1999NET
Copy link

Hey, would also like to have this feature. Would also like to see another (hopefully simple) mini feature: If reminders are configured to be ignored from the subscribed calendar, do not overwrite/change the reminders which were added/changed by the calendar app.
The idea came to me because Etar Calendar (the app I use), lets me to add or change reminders to events of read only calendars, however these will be reseted when ICSx5 refreshes the calendar. And when ignoring all reminders from the remote is enabled, ICSx5 knows for sure, that the reminders which are configured locally must be from the user.

@ilikenwf
Copy link

ilikenwf commented Oct 5, 2022

I too would like to see this feature, MS removed the export of notification reminders in their ics files, or at least they don't seem to consistently export them....seems that sometimes they are exported when manually set by the user, but the value set by the organizer usually doesn't trigger a reminder or something.

@rfc2822 rfc2822 modified the milestones: 2.1, 2.2 Dec 1, 2022
@ArnyminerZ
Copy link
Member

A mock for the new UI

Screenshot_20221202-012507

@ArnyminerZ ArnyminerZ linked a pull request Dec 2, 2022 that will close this issue
2 tasks
@rfc2822
Copy link
Member Author

rfc2822 commented Dec 2, 2022

Thanks; do you have an UI idea @devvv4ever?

I think we can reduce the UI to two settings (switches):

  1. ignore Webcal alarms
  2. add custom alarm: xx minutes before event

with as little text as possible

@ArnyminerZ
Copy link
Member

Thanks; do you have an UI idea @devvv4ever?

I think we can reduce the UI to two settings (switches):

1. ignore Webcal alarms

2. add custom alarm: xx minutes before event

with as little text as possible

Okay, I can simplify it 😉

@ArnyminerZ
Copy link
Member

New UI:

Screenshot_20221202-120047
Screenshot_20221202-120051

@devvv4ever
Copy link
Member

devvv4ever commented Dec 2, 2022

I've tried to simpify it a bit :) After switching the option to "active" a dialog could appear where users can enter the "minutes". After clicking SET the user gets feedback in the supporting text of the switches title. To change the minutes, users switch the option off and on again.

image

What do you think?

@ArnyminerZ
Copy link
Member

@devvv4ever okay, I can work on that

@devvv4ever
Copy link
Member

devvv4ever commented Dec 2, 2022

Wow you're fast ;-) We'd need to re-download the events after the state of the switch is changing.

@ArnyminerZ
Copy link
Member

Wow you're fast ;-) We'd need to re-download the events after the state of the switch is changing.

Yup, I'm working on that. I don't know how you implemented alert disabling in DAVx5. If I remove all alerts with event.alerts.clear(), then if the switch to ignore alarms is turned back on, there's any way of recovering this information without re-downloading all the data.

I'm working on a custom property inside of event.unknownProperties called something like ALARMS-BAK. All the alarms get moved here, removing them from the normal alarms property. Then, if we enable the provider's alarms back again they get extracted from ALARMS-BAK and put back into the usual alarms field.

I'm just getting a quite stubborn error for converting a Trigger back to the alarm object. Somehow -PT15M cannot be parsed to a Duration.

@rfc2822
Copy link
Member Author

rfc2822 commented Dec 3, 2022

Yup, I'm working on that. I don't know how you implemented alert disabling in DAVx5. If I remove all alerts with event.alerts.clear(), then if the switch to ignore alarms is turned back on, there's any way of recovering this information without re-downloading all the data.

There's no problem with re-downloading the data… I'd add an option to the worker like "don't use cache", and then call the refresh worker without this option when the alarm settings are changed. The option would have to ignore the ETag and Last-Modified headers and then also every VEVENT must be actually written to the calendar.

I'm working on a custom property inside of event.unknownProperties called something like ALARMS-BAK. All the alarms get moved here, removing them from the normal alarms property. Then, if we enable the provider's alarms back again they get extracted from ALARMS-BAK and put back into the usual alarms field.

We want the subscriptions to be refreshed regulary neverthess, I'd save the work and just trigger a refresh (but without caching)… what do you think about that?

Saving reminders to CAL_SYNC7 and CAL_SYNC8 seems fine to me (I'd also do it like that); that can then be changed with #76.

@devvv4ever devvv4ever modified the milestones: 2.2, 2.0.4, 2.1 Dec 4, 2022
@ArnyminerZ
Copy link
Member

@rfc2822 take a look at #78. I believe it's all working correctly 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants