here we go - new friends release with encryption right from the first friendship request live on mainnet now
I did some tests to validate everything runs as expected. the new friends release does generate a 2048bit RSA key to encrypt/decrypt (a 256bit AES key and with that) friendship requests and handshake data during the WebRTC handshake
updated state:
dweb watermarkroute upgrades as per dwebs upgradeopening friends avatars in larger modalshowing your own avatar pic in the messenger somewhere (on the left side above your friends maybe ..?)revisiting translations / locations where text is visibleInterface Languages: English, Deutsch, Français, Español, Български, 日本語, 한국어, 中文scrolling when too many friendsusing asymmetric encryption to exchange encrypted messages (offer/answer/offline messages) in the public scratchpadsprivacy anonymity with friends - chapter in readme; graphic to show message flow/connections what is communicated where? (thank you @Toivo)spinner for sending/answering friendship requests- ‘last seen online’ display for friends
- simplifying and documenting external stylesheets for easier theming of friends
- implementing plugins (loaded from autonomi) as JavaScript Webcomponents.
- more extensive profile pages
- code cleaning
- extended states (free for chat, afk, DND, show offline)
- SDK for plugins
- offline messages (simply utilizing the handshake scratchpads - message encrypted via public key of a asymmetric public key read from friends profile)
- optionally persisting chat history with friends via scratchpads
- separate view in chat with persisted files - maybe categorized by type (pictures / audio / video / others)
- display ANT/gas balance (just here this late because I hope for @happybeing to implement the needed route before I reach this point
I guess I’ll go for a PR for dweb if it is not implemented here
)
- upload avatar in-app (same as point above)
- releasing a python version of smokesigns (name already reserved)
- and creating a simple demo on how to use it to connect (from everywhere in the world) via WebRTC to e.g. a locally running Raspberry Pi with a camera and fetching a picture it takes with a pi-camera
- python terminal chat (friends compatible - only selecting friends and chatting with them as text only; no adding/removing of friends etc)
- the whole Friends app as JS WebComponent
- import and use root private key (different from the one generally used by dweb)
- create invite (send coin to a private key and encrypt it) → share a link leading to the info
- Friends bundled with dweb via Tauri as standalone app
- Friends bundled with dweb via Tauri as standalone app for mobile (thank you for this task @happybeing
)
- multi session / multi user chats (chat groups!)
- in-app feedback (anonymously writing to feedback-scratchpad that I then will check for new feedback
)
- audio chat
- video chat (@Tom1 that’s you ;D )
- screen sharing on audio/video chat
- account recovery through multiple other friends (multisig/multi-decrypt of owner-secret)
- revisiting the need for a companion app to break into symmetric nat
- checking the possibility to route messages through autonomi via its kademlia routing client → client if direct messaging is not available or not desired
- checking the possibility to route messages through autonomi via its kademlia routing client → client if direct messaging is not available or not desired
since it’s not the most positive user experience to always start with empty chat history and to not be able to send messages to other people because people on friends are rarely online these days … I’m seriously thinking about moving up offline messages/chat history persisting in my priority list and doing that immediately after the ‘last seen’ feature.
ps: to have the best user experience I recommend using self compiled dweb from the branch
or to wait a bit until this is part of main and officially released