Skip to content

feat(calendar): plural default calendar reminders - #8567

Open
rich0 wants to merge 1 commit into
nextcloud:mainfrom
rich0:upstreampr/pluralcalendardefaults
Open

feat(calendar): plural default calendar reminders#8567
rich0 wants to merge 1 commit into
nextcloud:mainfrom
rich0:upstreampr/pluralcalendardefaults

Conversation

@rich0

@rich0 rich0 commented Jul 5, 2026

Copy link
Copy Markdown

This PR is hand-written (other than the commit comment below, which was edited by me), but the code changes were created by AI.

I am a novice at PHP and new to Nextcloud development so I invite scrutiny. I noted questions about nextcloud dev conventions below. Everything was reviewed and tested by me with both the stable server and the new app+lib, plus the stable app and the new server.

The intent of this feature is to extend the recent default calendar reminder feature by allowing multiple reminders to be set as well as the notification type for each. Only relative reminder intervals are supported as I didn't think absolute reminders made much sense in a template. This requires changes in server, cdav-library, and the calendar app.

The server revisions are backwards-compatible with the current stable app, and the app revisions are backwards-compatible with the current stable server. In the app the UI reflects a pre-v34 server, v34 (existing defaults functionality) and v35+ (new functionality). I'll describe server-side compatibility in the server PR.

The calendar app has a dependency on the updated cdav-library, which is not reflected in package.json as I'm not sure what the convention is for bumping these revisions in tandem.

This is related to:
nextcloud/cdav-library#1066
nextcloud/server#61832

Commit comment:
Add multi-alarm list editors in Edit Calendar settings for part-day and full-day default reminders, mirroring the event alarm editor pattern. Reads and writes plural CalDAV properties via update to cdav-library.

  • NC34: legacy single-dropdown UI unchanged
  • NC35+: DefaultAlarmsList with relative triggers and DISPLAY/EMAIL

Assisted-by: Grok:grok-4

馃 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Add multi-alarm list editors in Edit Calendar settings for part-day and
full-day default reminders, mirroring the event alarm editor pattern.
Reads and writes plural CalDAV properties via update to cdav-library.

- NC34: legacy single-dropdown UI unchanged
- NC35+: DefaultAlarmsList with relative triggers and DISPLAY/EMAIL

Assisted-by: Grok:grok-4
Signed-off-by: Richard Freeman <rich@rich0.org>
@rich0
rich0 force-pushed the upstreampr/pluralcalendardefaults branch from 69d675d to 2c5ec60 Compare July 5, 2026 15:36
@rich0
rich0 marked this pull request as ready for review July 5, 2026 15:38
@rich0

rich0 commented Jul 15, 2026

Copy link
Copy Markdown
Author
image Screenshot of new UI for default reminders attached.

@github-actions

Copy link
Copy Markdown

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

(If you believe you should not receive this message, you can add yourself to the blocklist.)

@FlominatorTM

FlominatorTM commented Aug 9, 2026

Copy link
Copy Markdown

Thank you for this. Any chance, you (or somebody else) could fix the things from the automated checks, @rich0. This is basically the blocker which keeps me from leaving my Google calendar.

@rich0

rich0 commented Aug 9, 2026

Copy link
Copy Markdown
Author

Thank you for this. Any chance, you (or somebody else) could fix the things from the automated checks, @rich0. This is basically the blocker which keeps me from leaving my Google calendar.

What things are you referring to? Apologies if I missed something but as far as I can tell all the automated check failures I've looked at are issues with the tests themselves. If there are any actual issues with the code I'm happy to fix them.

@FlominatorTM

Copy link
Copy Markdown

Thank you for this. Any chance, you (or somebody else) could fix the things from the automated checks, @rich0. This is basically the blocker which keeps me from leaving my Google calendar.

What things are you referring to? Apologies if I missed something but as far as I can tell all the automated check failures I've looked at are issues with the tests themselves. If there are any actual issues with the code I'm happy to fix them.

I have no clue about the processes around here, I just see that your branch has conflicts and there are pending checks. I assume, those will run, once the conflict is resolved.

@rich0

rich0 commented Aug 9, 2026

Copy link
Copy Markdown
Author

Thank you for this. Any chance, you (or somebody else) could fix the things from the automated checks, @rich0. This is basically the blocker which keeps me from leaving my Google calendar.

What things are you referring to? Apologies if I missed something but as far as I can tell all the automated check failures I've looked at are issues with the tests themselves. If there are any actual issues with the code I'm happy to fix them.

I have no clue about the processes around here, I just see that your branch has conflicts and there are pending checks. I assume, those will run, once the conflict is resolved.

I'll defer to a developer on whether that is the case. I'm happy to rebase this, but there were no conflicts when I created the PR and the checks did not run. It has been a little while but I believe there were conflicts within a day or so of creating the PR - I'm guessing the same will happen again after rebasing.

If one of the reviews asks for a rebase I'll be happy to do it but I don't want to keep doing this every few days for months.

@SebastianKrupinski

Copy link
Copy Markdown
Contributor

@rich0

Thank you for the PR's, don't worry about the merge conflicts in the calendar repo for now, this is the last part that will be merged.

As this feature spans 3 repositories the there is a order to how the PR's need to be merged. The first will be the server, then we'll have to work on the cdav-library, once that is merged I will need to release a new version, then we can make the changes in the the calendar and bump the cdav-library before we can merger the calendar PR.

Lets start with the server PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants