tju-yxq commented on PR #3770: URL: https://github.com/apache/rocketmq-dashboard/pull/3770#issuecomment-5584161714
Thank you for the review — all four points are addressed in 44e0a1fd (also rebased onto the current `rocketmq-studio`): 1. **Firefox download trigger** — the page now uses the shared `downloadBlob` helper (`web/src/utils/download.ts`), which appends the anchor to `document.body` before clicking and removes it afterwards. The duplicated manual anchor code is gone. 2. **Unused `message_content`** — removed from `findExportPage`'s SELECT list. The export query no longer fetches the payload column it never wrote to the CSV. 3. **JSON-wrapped CSV** — the endpoint now returns `ResponseEntity<byte[]>` with `produces = "text/csv;charset=UTF-8"` and a `Content-Disposition: attachment` header. The frontend requests `responseType: 'blob'` and passes the response straight to `downloadBlob`, so there is no JSON escaping/re-encoding round trip and curl consumers get raw CSV. 4. **Header naming** — renamed `attempts` to `attemptCount` in the CSV header (both backend constant and mock-mode frontend header), matching the VO field and the rest of the camelCase columns. Validation on the rebased branch: - `mvn '-Dtest=NotificationOutboxServiceTest,SystemAlertControllerTest' test` — 38 tests passed - `mvn checkstyle:check` — 0 violations - `npm test -- NotificationDeliveriesPage.test.tsx --run` — 4 tests passed - `npm run lint -- --quiet` — 0 errors - `npm run build` — passed The controller test now asserts the CSV content type, the attachment filename header, and the raw UTF-8 bytes; the page test asserts the blob is passed through the shared download helper and the object URL is revoked. -- 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]
