-
Notifications
You must be signed in to change notification settings - Fork 0
Description
This will keep track of all changes to the API Schema that need to happen to support a well-designed MVP, where you have:
- Authentication
- Conversation list
- Self user info
- Optionally other user info (without this you will often see IDs like F8290RJKCX99 for users, which is not user-friendly at all)
- Message loading
- Message sending
API elements that need to be created, expanded, or polished:
- PluginInit
- Auth Account
- Auth Account Response
- LoadConversation
- SendMessage
- LoadMessage
- LoadUser
- UpdateRequestStatus
More TBD.
For initiating anything associated with a request, the core should send a new request ID. The request ID will then be sent in all related requests. This will simplify associating updates and creations between what initiated it, and the result.
PluginInit should be used for all info about the plugin. It should not depend on network requests.
Every time in which the plugin has been disconnected from any realtime updates (polling, websockets, etc), the plugin should re-request necessary info, which will all be sent to the core.
It's likely better to send all info to the core instead of under-syncing. Out-of-sync states should be avoided.