rich0
July 15, 2026, 5:45am
1
I logged a few PRs for an enhancement to Calendar, and while Iâve seen a few reviews assigned, there hasnât been any activity. I realize that everybody is busy, but I wasnât sure if I had failed to do a necessary step. If this is just one of those things that somebody will eventually get around to thatâs fine, but if I did mess up and not do a necessary step, please let me know.
The PRs relate to being able to set more than one default reminder and the reminder type on a calendar.
main â rich0:upstreampr/pluralcalendardefaults
opened 02:49PM - 05 Jul 26 UTC
This PR is hand-written (other than the commit comment below, which was edited b⊠y 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:
https://github.com/nextcloud/cdav-library/pull/1066
https://github.com/nextcloud/server/pull/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)
- [x] The content of this PR was partly or fully generated using AI
master â rich0:upstreampr/pluralcalendardefaults
opened 03:03PM - 05 Jul 26 UTC
## Summary
This PR is hand-written (other than the commit comment below, whic⊠h 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 and the design 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. Within the server component, updates from legacy apps will update the notification time on the first defined alarm if there are multiple alarms, and legacy apps will be able to read the notification time on the first alarm. This should generally result in the new properties taking precedence if both are getting updated consistently.
The data migration itself does not have unit testing coverage, but I think this is the norm. As long as the schema changes are made, both the read and write paths in the server should migrate data as it is used if the migration did not complete.
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.
Related to:
https://github.com/nextcloud/calendar/pull/8567
https://github.com/nextcloud/cdav-library/pull/1066
Commit comment:
Add default_alarms_pday/fday TEXT columns and CalDAV properties default-alarms-part-day/full-day for alarm templates with trigger and DISPLAY|EMAIL action. Legacy integer columns remain in sync for NC34 clients. Includes migration from existing single-int defaults.
Assisted-by: Grok:grok-4
## Checklist
- Code is [properly formatted](https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/continuous_integration.html#linting)
- [Sign-off message](https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md) is added to all commits
- [x] Tests ([unit](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#unit-tests), [integration](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#integration-tests), api and/or acceptance) are included
- [x] Screenshots before/after for front-end changes (n/a? - only visible changes are in app)
- [ ] Documentation ([manuals](https://github.com/nextcloud/documentation/) or wiki) has been updated or is not required
- [x] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes) (n/a)
- [ ] [Labels added](https://github.com/nextcloud/server/labels) where applicable (ex: bug/enhancement, `3. to review`, feature component)
- [ ] [Milestone added](https://github.com/nextcloud/server/milestones) for target branch/version (ex: 32.x for `stable32`)
## AI (if applicable)
- [x] The content of this PR was partly or fully generated using AI
main â rich0:upstreampr/pluralcalendardefaults
opened 02:53PM - 05 Jul 26 UTC
This PR is hand-written (other than the commit comment below, which was edited b⊠y me), but the code changes were created by AI.
I am a novice at PHP and new to Nextcloud development so I invite scrutiny. 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. This library should work with both the current stable app and the revised app, though the revised app does require this update.
This is related to:
https://github.com/nextcloud/calendar/pull/8567
https://github.com/nextcloud/server/pull/61832
Commit comment:
Expose defaultAlarmsPartDay/defaultAlarmsFullDay on the Calendar model with JSON array parsing and PROPPATCH serialization for the new CalDAV properties default-alarms-part-day and default-alarms-full-day.
Assisted-by: Grok:grok-4
## đ€ AI (if applicable)
- [x] The content of this PR was partly or fully generated using AI
(They are one change - it just requires implementation across three components.)
@rich0 welcome to the Nextcloud community
youâve made those PRâs in the right place, but the devs donât usually hang out on the community forum!
recommend you comment directly on your PRâs.
rich0:
I realize that everybody is busy, but I wasnât sure if I had failed to do a necessary step. If this is just one of those things that somebody will eventually get around to thatâs fine, but if I did mess up and not do a necessary step, please let me know.
the devs may be busy, but theyâre always inclusive and very appreciative
Hey!
Thank you for contributing code! Reviewing code takes some time. You can make it a bit easier by providing screenshots and perhaps a screencast of the feature in action. That way, designers can already take a look without having to build anything
rich0
July 15, 2026, 12:25pm
4
Thanks for the suggestion. I just added the UI screenshot here:
main â rich0:upstreampr/pluralcalendardefaults
<img width="1228" height="1180" alt="image" src="https://github.com/user-attachm⊠ents/assets/120684c4-1213-4093-8705-ff4346936c97" />
Screenshot of new UI for default reminders attached.