Skip to content

fix(web): treat CR-only line endings as property record separators - #7121

Open
NUAAwqy wants to merge 2 commits into
apache:rocketmq-studiofrom
NUAAwqy:fix/msg-props-cr-split
Open

NUAAwqy wants to merge 2 commits into
apache:rocketmq-studiofrom
NUAAwqy:fix/msg-props-cr-split

Conversation

@NUAAwqy

@NUAAwqy NUAAwqy commented Oct 19, 2026

Copy link
Copy Markdown

What does this PR do?

Batch-pasted message properties separated only by carriage returns (classic Mac text and some clipboard flows) were swallowed into the previous value because the parser split on \r?\n only. The split now treats CR, LF and CRLF alike as record separators, and a new unit test covers mixed line endings.

Fixes #7106

The bulk message-property paste parser split only on LF and CRLF, so a
CR-only paste such as "traceId=one\rtenant=demo" was parsed as one
property whose value silently swallowed the second key=value pair.
Split on CR, LF and CRLF (and any mix) so every pasted line becomes its
own record. Commas and extra equals signs inside values stay intact.

Fixes apache#7106
@NUAAwqy

NUAAwqy commented Oct 20, 2026

Copy link
Copy Markdown
Author

The Backend Tests (Java 21) failure on this PR looks flaky, not caused by these changes.

  • Out of 3834 backend tests, the single error is ResourceOwnershipGuardTest.migrationConcurrentStartupIsIdempotentTest, caused by a java.util.ConcurrentModificationException inside the embedded H2 engine (org.h2.engine.SessionLocal.addTableToDependencies) while the test runs schema migrations concurrently — a race in H2 session state, not in the code under test.
  • This PR only touches frontend files (web/src/utils/messageProperties.ts + its test); no backend code is modified, and the frontend job is green.
  • The baseline push run on rocketmq-studio @ 127c47b0 (https://github.com/apache/rocketmq-dashboard/actions/runs/39257998487) has Backend Tests passing, confirming this is intermittent.

I don't have permission to re-run the workflow from a fork (the API returns 404). Could a committer please re-run the failed job for run https://github.com/apache/rocketmq-dashboard/actions/runs/39276947373 ? Thanks!

@NUAAwqy

NUAAwqy commented Oct 22, 2026

Copy link
Copy Markdown
Author

The Backend Tests (Java 21) job failed here, but it passes on the base commit (127c47b0) and on the sibling PRs, and this PR only touches frontend TypeScript files (web/src/utils/messageProperties.ts + its test), so the failure looks unrelated / flaky. Could a maintainer re-run the failed job? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant