[GUI] Messaging functions
Messaging only works in the console right now. Over the last weeks, multiple users requested GUI features for messaging.
I'd like to propose the following:
-
Receiving: add an envelope icon on top of an asset in the asset overview when a message arrived in the wallet. Like the image below (curtesy of @seatbelts#9804 on discord)

-
Sending: Accordingly, I would like to request a trumpet icon on ownership assets that opens a window to send a message (
sendmessage "channel_name" "ipfs_hash" (expire_time)). -
Remaining functions: I would like to request a dropdown menu named "messaging" with the following drop down menu options:
- Subscribe... (
subscribetochannel): popup selection menu with available assets that are in the wallet - Channels... (
viewallmessagechannels): popup selection menu with available assets that are in the wallet. Add an X icon on the asset list to unsubscribe from channels (unsubscribefromchannel) - Refresh Inbox. (
viewallmessages): forced recheck to see new messages. - Compose... (
sendmessage "channel_name" "ipfs_hash" (expire_time)): alternative for the above. In this case an asset needs to be selected.
- Subscribe... (
Menu functions should be greyed out and unresponsive if they cannot be used by the wallet. I.e. when there are no assets and/or admin assets.
These updates would bring a massive influx of functionality that I very much need! Thank you @jeroz1!
I ran two different message transactions (same message) - one using the asset admin token, one using a channel token:
6994c648644d2b6b610b18fb5b4ddb3e960ed6e2dfa030df7ef301aec28d8939 and 0329138c7626534200223b733d124becce834c0e8859aba7c5a690a12ab0a445
then ran viewallmessages from the console: 09:29:50  [ { "Asset Name": "NOMX!", "Message": "QmWPpghUGZNvJX89krPaKW66DkLK94CS4qESUSPpHPaXbf", "Time": "2021-05-24 20:37:26", "Block Height": 734436, "Status": "UNREAD" }, { "Asset Name": "NOMX~MESSAGES", "Message": "QmWPpghUGZNvJX89krPaKW66DkLK94CS4qESUSPpHPaXbf", "Time": "2021-05-24 19:44:20", "Block Height": 734374, "Status": "UNREAD" } ]
Ideally user would be see an alert if any "Status": "UNREAD" exist in an "Asset Name" they have in their wallet. Clicking it would load list of messages, clicking on a message opens the ipfs link or a way to view it, and changes status to READ or whatever the protocol calls for.