str4d/rage

Implement `confirm` command from latest version of plugin protocol

str4d opened this issue · 0 comments

str4d commented

Both recipient-v1 and identity-v1 now have an additional phase 2 command:

  • (confirm, Base64(YES_STRING) [Base64(NO_STRING)]; MESSAGE) - a request for confirmation that should be displayed to the user, for example to ask them to either plug in a hardware key or skip it.
    • MESSAGE is the request or call-to-action to be displayed to the user.
    • YES_STRING and (optionally) NO_STRING are strings that will be displayed on buttons or next to selection options in the user’s UI.
    • Response is one of the following:
      • (ok, yes) if the user selected the option marked with YES_STRING.
      • (ok, no) if the user selected the option marked with NO_STRING.
      • (fail) if the confirmation request could not be given to the user (for example, if there is no UI for displaying messages).

As this is a new addition, the age-plugin side needs to also handle an unsupported response, if it is talking to a client that implements an earlier version of the plugin protocol.