apache / apache/rocketmq-dashboard

Message Explorer hides the message properties returned by the backend

Open
#3,282 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1.4k
Forks
683
Avg merge
2d 14h
Merged PRs (30d)
58

Description

## Problem

The backend already returns message properties with each `MessageRecordVO`:

```java
private Map properties;
private boolean propertiesTruncated;
```

The provider deliberately limits this data to 64 properties and 1,024 characters per value, and exposes `propertiesTruncated` when that contract shortens the display payload.

However, the Message Explorer does not show this data anywhere:

- the message detail modal shows only basic metadata and the body;
- the queue browser message cards show Message ID, Tag, Key, store time, size, born host, and body;
- the frontend `MessageRecord` type omits `propertiesTruncated`, even though `properties` is already present.

As a result, an operator investigating delivery headers, trace flags, retry context, or business user properties must use another tool. The data is already delivered by the backend but is invisible in the UI.

## Expected behavior

- Add `propertiesTruncated` to the frontend message record contract.
- Show message properties in the message detail modal in a readable, bounded area.
- Show properties in queue-browser message cards as well.
- When `propertiesTruncated` is true, show a warning that the server shortened the property payload.
- Keep body display and existing metadata behavior unchanged.

## Why this matters

Message properties are commonly used for routing metadata, trace identifiers, deduplication keys, retry context, and business headers. During incident triage, seeing them alongside the body avoids guessing why a message was routed, retried, or traced.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the frontend MessageRecord type, the message detail modal, and the queue-browser message cards described in the issue. Trace how properties and the backend's propertiesTruncated value reach those entry points. Done means both views show bounded properties, warn when the payload was truncated, and preserve the existing body and metadata display.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.