zmuxuny opened a new issue, #5547: URL: https://github.com/apache/rocketmq-dashboard/issues/5547
### Before Creating the Bug Report - [x] I have searched the [open issues](https://github.com/apache/rocketmq-dashboard/issues) of this repository and believe that this is not a duplicate. - [x] This is a defect in RocketMQ Studio, not a usage question and not a defect in another Apache RocketMQ repository. - [x] I can reproduce this on the current `master` branch, or I have stated the exact version I am running below. ### Studio Version Originally reproduced on `rocketmq-studio@0228dad5` (2026-09-23), built from source. Current fix validation against `rocketmq-studio@6a68042fa73a513f40436ca721944b4de48181ec` is recorded in #5019 on 2026-10-04. ### Runtime Environment Frontend build using the repository npm/Vite pipeline, both directly and inside `docker build ./web`. The original report did not record a specific OS or browser. ### Connected RocketMQ Cluster Not applicable. The failure occurs during the frontend build before any cluster connection. ### Build Toolchain Repository Node.js/npm/Vite toolchain. The original report did not record exact Node.js/npm versions; no new toolchain version is inferred here. ### Describe the Bug A clean frontend build reaches the license gate and fails with `license gate: build artifact verification failed: assets/index-*.js`, without any application code changes. The same failure occurs inside `docker build ./web`, so the frontend Docker CI job cannot pass even after the workflow startup problem in #4136 is fixed. `distributionLicenses.generateBundle` hashes each chunk's `item.code` and emits `legal/manifest.json` before the final files are written. The entry chunk is subsequently changed by the build pipeline: its SHA-256 in `dist/assets/index-*.js` differs from the value in `manifest.outputFiles`, while every other output file matches. `checkDistribution` correctly rejects that mismatch, but the manifest recorded an intermediate chunk rather than the distributed bytes. ### Steps to Reproduce 1. Check out the reported `rocketmq-studio@0228dad5` baseline. 2. Run `cd web && npm ci && npm run build`. 3. Observe `license gate: build artifact verification failed: assets/index-*.js`. 4. Run `docker build ./web` from the repository root; its frontend build reaches the same failure. ### What Did You Expect to See? The manifest records checksums of the files actually written to `dist/`. The existing post-build tamper check must continue to reject any later modification. ### What Did You See Instead? The final entry chunk does not match the intermediate bytes hashed in the manifest, so a clean build fails its own license gate. ### Additional Context ### Previous report and current fix (2026-10-04) This replaces [#5018](https://github.com/apache/rocketmq-dashboard/issues/5018), automatically closed by `github-actions[bot]` for inactivity on 2026-10-04. That closure was a stale-workflow action, not a maintainer rejection of the reported defect. The existing fix PR is [#5019](https://github.com/apache/rocketmq-dashboard/pull/5019), which remains open. No new fix PR is needed. Fresh October 4 local validation and the dated GitHub CI results and limitations are recorded there; overall CI is not green. ### Regression scope Add a fixture where a later build hook changes a chunk and verify the written distribution passes the license gate; then modify the emitted file and verify the gate fails. Run `npm run license:test`, `npm run build`, and the frontend Docker build. ### Historical verification (2026-09-26) The earlier report recorded a regression that failed on the base branch, 5/5 license tests passing, and successful frontend and Docker builds on a combined local checkout with #5020 and #5029. These are historical results, not a claim that Docker was rerun on October 4. The current PR contains the fresh results. ### Are You Willing to Submit a Pull Request? - [x] Yes, I am willing to submit a pull request. -- 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]
