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]

Reply via email to