Add new methods supporting chat functionality to status api in DApp browser
bgits opened this issue · 6 comments
Some features that have been requested in the past and would enhance DApps in a unique way that only Status can provide is exposing the chat api to DApps.
Methods include being able to send messages on behalf of a user and reading conversations.
Because of the security and usability implications it would make sense to draft a specification first.
examples:
window.ethereum.status
.sendToPublicChat('room-name', 'message')
.then(data => {
console.log('message:', data.message)
})
.catch(err => {
// On user rejecting request or other reason
console.log('Error:', err)
})
window.ethereum.status
.getPublicChatMessages('room-name')
.then(data => {
// type messages :: [ { name, pubKey, message, timeStamp } ]
const { messages } = data
console.log('messages:', messages)
})
.catch(err => {
// On user rejecting request or other reason
console.log('Error:', err)
})
This is very important for the convergence of chat platform.
As being a web3 provider, Status is providing a new capability to web3: real-time messaging, which can be used by other web3 dapps to support chat, which is interoperable with the Status Network.
A more advanced use case I don't expect to be part of the initial spec. Having these initial methods will enable functionality such as incentivized DApp notifications.
High level: Any user that visits a DApp can see which events have not been sent to target users and can use this api to send notifications and submit proofs of sending for compensation.
@status-im/status-protocol @flexsurfer
I was referring specifically to browser based dapps as that is the largest type of dapp that exists today.
Cross post: status-im/status-mobile#10910 (comment)