[Feature request] Message enhancements
Some enhancements that would make the DM features more powerful:
- Support for images rather than just text (still encrypted)
- Recipient-read indicators (to know if you've been ghosted lol)
- "X is typing" indicators
- (frontend feature) Indicate to the user that their DMs are end-to-end encrypted
Also as an aside @maebeam or @diamondhands0 I'd love to understand the encryption mechanism a bit better. I see in the code here in seedHexEncryptionKey we're creating a random 32-byte key and saving in local storage or cookie storage. However, what I don't understand is how I'm able to decrypt the same messages on multiple clients, e.g. in my CloutFeed mobile app or on bitclout.com on my laptop, I can read the DMs in both places. What's the mechanism for sharing my encryption key? For end-to-end-encrypted apps like WhatsApp, they use QR code mechanism to share encryption credentials from your phone to your desktop apps.
Once I grok this better, I'd be happy to add a section about this in the public docs for new developers.
Your mnemonic generates your seedHex which is your private key material. This private key lets you decrypt messages on any device / app. We encrypt the seedHex with 32 random bytes because certain browsers (Safari, Brave, etc) don't allow local storage access from the iframe that signs transactions / decrypts messages.