MQTTX icon indicating copy to clipboard operation
MQTTX copied to clipboard

[Feature] Add ability to show delta in messages

Open mahyarmirrashed opened this issue 11 months ago • 1 comments

Motivation

I've been forced to use MQTT Explorer but, I really want to use MQTTX. What is stopping me is that there does not seem to be a way to show the delta between the second-most recent message and the latest message on the app. The motivation for this is that we have ROS nodes that publish status updates over MQTT and we want to see how the fields are changing over time.

Later on, some of the more advanced features like showing a graph of how the numerical values in the MQTT message change over time would be helpful too. Very much a stretch goal with this ticket, however.

Detailed design

Basically, first detect if the message received is indeed in some sort of JSON format (or equivalent). Then, show the different fields in a prettified view of the fields. Then, highlight the different field types (number, string, object) with different colours. After, when the message is updated, use something like Git's diff tracker to figure out the line differences in between the most recent two messages received. A - and + line to indicate what changed would be helpful.

Right now, the current system feels very much, chat-bot like which isn't closely aligned with our use of MQTT.

Alternatives

I have not really considered any alternatives because I have really never thought about it that hard. My motivation for asking for this now in MQTTX is that I can no longer use MQTT Explorer on MacOS because it is super slow. However, MQTTX seems to retain all the same speed as on Windows and Linux and has a very clean UI to boot. Perhaps, over time, a more people see this feature here, they can provide some more advice on different alternatives that can/should be considered.

More detail (optional)

It'd be helpful to be able to collapse some fields of the MQTT message that we are subscribing and watching for changes and permanently have them closed even if some fields in that sub-object are being updated. Some of our messages are pretty huge and that would help lots. It would also help to have a button to quickly copy the incoming watched MQTT message, record it, play it back, and fake it with some simple controls.

mahyarmirrashed avatar Sep 22 '23 02:09 mahyarmirrashed

@mahyarmirrashed Thank you for your detailed feature request! This has already been planned in our roadmap. We will strive to implement it in version 2.0! Thanks again for your suggestions and support!

image

ysfscream avatar Sep 27 '23 08:09 ysfscream