This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Context
|
||||
The invitation process might be performed by file exchange (raw or maybe qr codes later) or though server.
|
||||
In the current code the first step provides first peer data without any encryption (invitation create), this has to be changed.
|
||||
|
||||
# Requested improvement
|
||||
## Library implementation
|
||||
An initial step shall be added befoe the current first step where the initiator will send almost only it's public key for initiating invitation. The required structure InvitationInitPayload is described in @pb/messages.proto. Invitation struct in the same file has also been adapted to the new flow.
|
||||
|
||||
Then the full workflow is described in @doc/invitation/sq_invitation.puml
|
||||
|
||||
this will allow to adapt the base invitation functions attached to the @client/identity.go that allow the invitation steps to be performed.
|
||||
|
||||
Then the helper functions @client/helpers/invitation*.go allow to implement the full flow, through files exchanges or through server invitation.
|
||||
|
||||
The "through server" flow is described in @doc/invitation/sq_srvinv*.puml
|
||||
|
||||
## Server implementation
|
||||
Most of the server code is in @server/router.go invitation process consistency with that code should be checked/upgraded
|
||||
|
||||
## Cli client implementation
|
||||
The cli client is available in @../meowcli/ it should also be adapted to the new process
|
||||
|
||||
# Constraints
|
||||
The functions should be renamed according to the sequence diagrams flow stps to improve clarity, instead od create/answer/finalize...
|
||||
|
||||
# Testing
|
||||
Already present test files should be adapted and improved to fit the changes, new test files may be created.
|
||||
|
||||
# Stop condition
|
||||
Once all changed have beed edited, and library unit testing performed, you will stop. I will then review and commit changes, integrate new lib in server and cli, and then we'll iterate over end to end tests.
|
||||
|
||||
Reference in New Issue
Block a user