btlqql opened a new issue, #2258:
URL: https://github.com/apache/rocketmq-dashboard/issues/2258

   ## Problem
   
   Alert rule notification channels are accepted as an unconstrained 
`List<String>`. A null element reaches `String.join` in the persistence adapter 
and produces a server error. Blank, whitespace-padded, and duplicate elements 
are also stored unchanged, so legacy or internal callers can create 
inconsistent channel lists and repeated destinations.
   
   ## Expected behavior
   
   Channel entries should be canonical at both server boundaries:
   
   - request validation rejects null and blank list elements;
   - DTO conversion trims entries and removes duplicates while preserving 
first-seen order;
   - persistence writes apply the same defensive normalization for internal 
callers;
   - legacy comma-separated rows are normalized when read.
   
   ## Proposed scope
   
   Add element-level request validation, canonicalize DTO-to-domain conversion 
and repository reads/writes, and cover request and persistence behavior with 
focused tests.
   
   I searched current and historical issues and pull requests for 
null/blank/duplicate alert channel entries and `String.join` failures, and 
checked all four target paths against open `rocketmq-studio` PRs. No matching 
implementation or file collision was found. Issue #2073 and closed PR #2091 
concern a different frontend failure where the entire `channels` list is null; 
this report concerns malformed elements inside a non-null server-side list and 
does not modify that submission.
   


-- 
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