32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# 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.
|
|
|