taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit fbdab6656201010293d63c5b47775094f5f0e600
parent 6e034e739c1079b53bc004e824ea935f231552a5
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Tue,  7 Oct 2025 15:50:03 +0200

add friends list

Diffstat:
Mdesign-documents/070-alias-directory-mailbox.rst | 51+++++++++++++++++++++++++++++----------------------
1 file changed, 29 insertions(+), 22 deletions(-)

diff --git a/design-documents/070-alias-directory-mailbox.rst b/design-documents/070-alias-directory-mailbox.rst @@ -94,6 +94,7 @@ This initiates the Alias validation procedure (See also :ref:`Taldir API <api-t The registration procedure may succeed or fail. Alice may retry on failure to register the same Alias. Alice may also register other Aliases. +Alice may use this screen to display a QR code of her mailbox URI, see also US-4. US-2: Send Payment Request -------------------------- @@ -102,20 +103,17 @@ Prerequisites: Bob has installed Taler Wallet Bob wants to request money from Alice. He opens his Taler wallet and opens ``Taler Button->Send`` screen from the menu. -There, *Send to Alias* can be selected. -The *Send to Alias* screen consists of a search input and an Alias type selector. -Bob selects the Alias type (e.g. GitHub or Email) and inputs Alice's Alias. -This will initiate a lookup request to the :ref:`Taldir API <api-taldir>`. -If no results were found, Bob cannot use this feature. -If found, Bob will be able to proceed to create a payment request. A screen that allows to create a payment request is shown to Bob. -Once Bob has entered all necessary details, a payment request (:ref:`DD 13 <dd-13>`) is sent to Alice's Mailbox URI through the :ref:`Mailbox API <api-mailbox>`. +Once Bob has entered all necessary details, a payment request (:ref:`DD 13 <dd-13>`) is +created and the screen with QR code is shown. +This screen now also allows to send the request to a friend by using the friend list. +The *Request from Friend* screen brings up the friends list to select a friend. +Bob may also import a friend here ad-hoc, see US-4. +Bob selects the friend and the request is sent to Alice's Mailbox URI through the :ref:`Mailbox API <api-mailbox>`. This request may fail, for example if Alice's Mailbox is full. **Note**: Sending messages via Mailbox API may incur fees. - **Note**: It makes sense to use something like HPKE to encrypt the payment request - to Alice's Wallet Public Key. In general, the Payment Request payload is undefined. We require (probably) a unique request ID in order to properly handle resending payment requests in UC-4. US-3: Receive Payment Request ----------------------------- @@ -139,16 +137,24 @@ of payment requests. Alice creates a P2P payment based on the metadata in the payment request. She may also decline to pay. -US-4: Resend Payment Request ----------------------------- +US-4: Friend List +----------------- + +Prerequisites: Alice has installed Taler Wallet - **Note**: This US is possibly invalid / not required. +Alice opens ``Settings->Friends``. +The list of friends is empty in the beggining. +There is a button to *Add a friend* which opens a UI. +The UI consists of a search input and an Alias type selector. +Alice selects the Alias type (e.g. GitHub or Email) and inputs a friends Alias. +This will initiate a lookup request to the :ref:`Taldir API <api-taldir>`. +If no results were found, Alice cannot import this friend. +If found, Alice will be able to import this friend into the friend list. -Prerequisites: Bob has sent a Payment Request to Alice +Alternatively, the friend can also be imported using a QR code, see US-1. -Bob opens the screen in the Wallet that displays sent payment requests. -Bob may resend a payment request to Alice using a Button. -This sends the request to Alice's mailbox again. +The wallet periodically performs lookups for friends where their Taldir registrations +have expired and refresh accordingly. US-5: Send Money ---------------- @@ -157,14 +163,15 @@ Prerequisites: Alice has installed Taler Wallet, Alice has registered an Alias. Bob wants to directly send money to Alice (e.g. PayPal style). He opens his Taler wallet and opens ``Taler Button->Receive``. +A screen that allows to create a payment offer is shown to Bob. +Once Bob has entered all necessary details, the payment offer is created according to :ref:`DD 13 <dd-13>` and the screen with the QR code is shown. There he selects the *Receive from Alias*. The *Receive from Alias* screen consists of a search input and an Alias type selector. -Bob selects the Alias type (e.g. GitHub or Email) and inputs Alice's Alias. -This will initiate a lookup request to the :ref:`Taldir API <api-taldir>`. -If no results were found, Bob cannot use this feature. -If found, Bob will be able to proceed to create a payment. -A screen that allows to create a payment is shown to Bob. -Once Bob has entered all necessary details, the payment is made according to :ref:`DD 13 <dd-13>`. +This screen now also allows to send the request to a friend by using the friend list. +The *Send to Friend* screen brings up the friends list to select a friend. +Bob may also import a friend here ad-hoc, see US-4. +Bob selects the friend and the request is sent to Alice's Mailbox URI through the :ref:`Mailbox API <api-mailbox>`. +This request may fail, for example if Alice's Mailbox is full. **Note**: Sending messages via Mailbox API may incur fees. So does creating a purse in the offer. This should probably be done in a single user action.