The GitHub Actions job "CI" on rocketmq-dashboard.git/rocketmq-studio has succeeded. Run started by GitHub user lizhimins (triggered by lizhimins).
Head commit for run: aaf1d367c58af9d7508ebb28d726c25b79c601fe / Apulupie <[email protected]> fix(studio): report unknown size and delay instead of zero (#5649) * fix(message): report an unknown cloud message size instead of a fabricated zero (#5649) Three call sites rendered a message whose body size the vendor API never reported as 0 bytes: Aliyun's ListMessages returns a nullable Integer BodySize, and Tencent's DescribeMessage / MessageItem models have no size getter at all (verified against aliyun 5.0.8 and trocket 3.1.1498). An operator reading "0 B" was told the message was empty. Carry MessageRecordVO.UNKNOWN_SIZE (-1) - the sentinel the repository already uses for QueueProgressVO.UNKNOWN_OFFSET and in web/src/utils/consumerLag.ts - and keep it out of every user-facing surface: format.ts gains UNKNOWN_MESSAGE_SIZE and formatOptionalBytes next to the existing formatOptionalTimeMs, wired into the message table, the detail drawer and QueueBrowser; message.yaml declares minimum: -1 with a description on all three size properties, following group.yaml; and docs/api-spec.md states that -1 means the vendor did not report a size. The AI contract records (MessageItem, MessageQueryOutput, RedeliverySource) keep the sentinel in structured output and document it, the same split #5291 applied to the reset-offset plan: structured fields carry the sentinel, prose never does. * fix(ai): stop publishing an unmeasurable consume delay as zero seconds (#6106) group.detail's delaySeconds was a primitive int, so a group whose delay could not be measured was published to the model as "0 seconds" - a fabricated fact rather than an absent one. Make it Integer and omit it when unknown, following retryMaxTimes in the same record, which is already an Integer that is null and absent from required. The catalog is regenerated for both this and the message.yaml change above in a single pass; make catalog-verify reports no drift. * fix(instance): surface the unique-name race as a duplicate-name error (#5297) Two concurrent creates can both pass requireUniqueInstanceName; the loser hits the uk_instance_name unique key and the catch in InstanceService only translated the cloud-credential foreign-key violation, rethrowing everything else into a bare 500. Walk the cause chain for that key and throw DuplicateInstanceNameException, so the raced path answers with the same 400 as the sequential one. Two of these needed work to land on the current baseline. #5297's test fixture predates #7353, which made nameserverId mandatory on the APACHE create path, so the fixture now supplies it; the new test method also gained the repository's Test suffix and the java.sql.SQLException import moved into the java.* group. #5649 conflicted with #7033 in TencentInstanceProvider (both kept, verified line by line) and in MessagePage.test.tsx, where this change and trunk each append a test to the same describe block - both are kept. Batch integration of three related fixes by the same contributor; #5297 and #6106 are closed as merged into this one. Verified on the combined branch after rebasing onto the current trunk: 4161 backend tests, 2019 frontend tests across 166 files, the production build and type check, license gate 8/8, eslint with no new warnings, and make catalog-verify / go build / go test / go vet / make fmt all clean. Report URL: https://github.com/apache/rocketmq-dashboard/actions/runs/40533917900 With regards, GitHub Actions via GitBox
