As mentioned in
there is a need for signalling protocol. I would like to propose
Chat Provider for Blockstack users
User profile is extended and defines next to hub_url:
userSession.chat.listInvitations(callback) - connects to an API that lists all pending invitations
userSession.chat.setNewMessageCallback(callback) - connects to an API and runs the callback for all unread messages and waits for new message from any user for the app
userSession.chat.sendMessage(username, json) - if required creates a private room with the current user and the user username for the app. Then a message is send to user username.
userSession.chat.disconnect() - disconnects from the chat provider.
- Notify a group of friends that a new version of a file/document/data is ready.
- Work together on a file/document
Possible Chat Protocols
- matrix.org (my preferred solution )
- Each user has a (different) username on the chat for each app, the name is derived from the username and the app domain, similar to appPrivateKeys, could be appPublicKey(?) or @oi-timesheet.com#friedger.id. The name is mapped to a user of the chat provider.
- On logout, connection to chat provider is ended.
- A user has chat rooms for each app and each group of users