emqx / MQTTX

A Powerful and All-in-One MQTT 5.0 client toolbox for Desktop, CLI and WebSocket.
https://mqttx.app
Apache License 2.0
3.64k stars 428 forks source link

feat(desktop): handle the large data on the messages #1685

Closed ysfscream closed 4 weeks ago

ysfscream commented 4 weeks ago

PR Checklist

If you have any questions, you can refer to the Contributing Guide

What is the current behavior?

No special handling is performed when a large message is received, causing lag or a white screen during rendering.

Issue Number

Example: #1232

What is the new behavior?

Set a maximum length of 512KB. When the payload size exceeds this limit, the message content is truncated and partially displayed. The collapsed message can be clicked to view the full message or the large data can be saved to a local file for viewing, optimizing performance and interaction.

Note: The current optimization is only for the rendering layer, not the data layer, so performance improvements are limited.

image

image

image

Does this PR introduce a breaking change?

Specific Instructions

Are there any specific instructions or things that should be known prior to review?

Other information