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]
