wy471x commented on PR #6906: URL: https://github.com/apache/shenyu/pull/6906#issuecomment-6116563195
Follow-up pushed for the outstanding review points on \`8a02e0bf\` (Aias00, 2026-10-04) and the merge conflicts. - **Retained replay for wildcard filters.** Retained messages are now enumerated through the same matcher used for dispatch (\`TopicRepository.getMatchingTopics\`), so \`+\`/\`#\` subscriptions receive the retained messages whose concrete topic matches, and overlapping filters deliver a single copy. Added \`SubscribeTest\` cases for \`#\`, \`+\` and overlapping filters. - **Wildcard dispatch is now actually wired up.** \`SubscribeRepository.getChannelsByTopic\` was computed but never called by \`Publish.send\`, which still looked subscribers up with the exact-key \`get(topic)\`; a wildcard subscriber therefore received nothing. \`Publish.send\` now uses \`getChannelsByTopic\`. Added end-to-end \`PublishTest\` cases (multi-level, single-level and overlapping filters); all three fail if the wiring is reverted. - **Rebased onto current master.** Rebuilt on top of upstream \`9350d318\`, including the upstream client-session refactor (\`SessionRepository\`/\`ChannelRepository\`), so the branch is mergeable again. Invalid topic filters are still rejected with 0x80 in SUBACK and never stored. Local verification (JDK 21): \`./mvnw -o -B -pl shenyu-protocol/shenyu-protocol-mqtt -am test -Dmaven.javadoc.skip=true\` → 109 tests pass, checkstyle (\`validate\`) clean. -- 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]
