-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add XIP-31: Message History request system (#65)
* first pass * Update XIPs/xip-31-message-history.md Co-authored-by: J-Ha <[email protected]> * XIP-31 updates * Remove question from XIP-31 --------- Co-authored-by: Ry Racherbaumer <[email protected]> Co-authored-by: Ry Racherbaumer <[email protected]>
- Loading branch information
1 parent
5028e6c
commit 38d3130
Showing
5 changed files
with
445 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
sequenceDiagram | ||
Participant B as Backup Requester | ||
Participant S as Backup Storage Provider | ||
Participant N as XMTP Network | ||
Participant M as Message Backup Provider | ||
B->>N: Send a MessageHistoryBackupRequest to each potential Message Backup Provider | ||
M->>N: Check for MessageHistoryBackupRequest | ||
N-->>M: Receive MessageHistoryBackupRequest | ||
M->>S: Upload backup file | ||
M->>N: Send MessageHistoryBackupResponse | ||
B->>N: Check for MessageHistoryBackupResponse | ||
N-->>B: Receive response | ||
B->>S: Request file from URL in response | ||
S-->>B: Receive file | ||
B-->>B: Decrypt and load file into database |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
classDiagram | ||
class R["Backup Requester"]{ | ||
The new installation requesting missing messages | ||
Responsible for selecting a Backup Storage Provider and obtaining authorization | ||
Creates MessageHistoryBackupRequests | ||
Reads MessageHistoryBackupResponses | ||
} | ||
class M["Message Backup Provider"]{ | ||
An existing installation that has access to message history | ||
Reads MessageHistoryBackupRequests | ||
Creates MessageHistoryBackupResponses | ||
Uploads Message Backup Files to the pre-selected storage provider | ||
Responsible for generating one-time encryption keys | ||
} | ||
class S["Backup Storage Provider"]{ | ||
A cloud service with durable storage | ||
Stores encrypted backups for a few days | ||
Responsible for authenticating requests to reduce abuse | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.