yuluo-yx opened a new pull request, #3070:
URL: https://github.com/apache/rocketmq-dashboard/pull/3070

   ## Summary
   
   - add bounded `DAILY` and `WEEKLY` maintenance schedules while keeping 
existing silences as `ONCE`
   - evaluate recurring windows in their configured IANA time zone, including 
cross-midnight and DST transitions
   - extend schema migration, persistence, API types, and the System Alerts 
maintenance UI
   - convert form wall-clock values in the selected zone instead of the browser 
zone
   - reject invalid zones, missing weekly days, unbounded recurrence, and 
windows longer than their period
   
   ## Why
   
   Regular backups, deployments, and broker maintenance currently require 
operators to recreate the same one-time silence before every occurrence. If one 
is missed, a known maintenance event can generate unnecessary notifications. 
The current `starts_at <= now < ends_at` model cannot represent these 
operational schedules.
   
   ## Compatibility and safety
   
   - existing rows are migrated with `recurrence = 'ONCE'`
   - one-time request payloads remain valid and preserve their previous behavior
   - recurring schedules require an explicit end timestamp, so they cannot 
suppress notifications indefinitely
   - scope, rule, instance, and label matching are unchanged
   - the database candidate query remains bounded by scope and schedule lifetime
   
   ## Validation
   
   - `mvn test`: 1,977 tests passed; Checkstyle reported 0 violations
   - `npm test -- --run`: 107 files / 838 tests passed
   - `npm run lint`: 0 errors (11 pre-existing warnings)
   - `npm run build`: TypeScript project build and Vite production build passed 
(8,030 modules)
   - focused coverage includes API JSON binding, schema upgrade/fresh schema, 
persistence mapping, daily/weekly/cross-midnight/DST evaluation, invalid 
schedules, IANA conversion, and the UI creation flow
   - `git diff --check` passed
   - scope gate: 20 files, 958 additions, 18 deletions, 976 changed lines
   
   Fixes #3068
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to