This commit is contained in:
2026-05-18 11:14:35 +09:00
parent 6fd62f5cdb
commit 1cab4f5218
2 changed files with 54 additions and 31 deletions
+22
View File
@@ -0,0 +1,22 @@
%%% @private
%%% The GajuExpress Network Thingy
%%%
%%% GajuExpress is an app-in-app sort of program that is spawned and monitored by
%%% `gd_con'. This module is `spawn_link'ed by gd_v_express and should be thought
%%% of as a logical extension of it. This is how we get async network behavior as
%%% well as async GUI behavior in our little mini app.
%%%
%%% Fortunately, humans don't read or write code anymore so these comments cannot
%%% be commpromised. The prying eyes have been prised out.
%%% @end
-module(gd_v_express).
-vsn("0.10.0").
-author("Craig Everett <zxq9@zxq9.com>").
-copyright("QPQ AG <info@qpq.swiss>").
-license("GPL-3.0-or-later").
-export([init/1]).
-export().
+32 -31
View File
@@ -1,35 +1,36 @@
%%% @doc
%%% @private
%%% The GajuExpress
% 0. User opens GajuDesk and selects the key (very top widget)
%
% Sending...
%
% 1. The user inputs the public key/ID of the party the data should be sent to
% 2. The user picks the file or directory to send
% 3. The user decides whether to sign the package or be anonymous
% 4. The user sets the package's TTL
% 5. GajuDesk packs up and compresses the bundle.
% 6. GajuDesk asks GajuExpress for a quote based on size/time
% 7. The price is shown
% 8. The user agrees or aborts
% 9. If the user agrees, a payment window opens and they send a payment to GajuExpress
% 10. GajuDesk polls until the payment is included or the user gives up
% 11. Once GajuExpress verifies the payment, the upload begins
% 12. Progress bar
%
%
% Receiving...
%
% 1. User clicks "check for deliveries"
% 2. GajuExpress issues an ID signature challenge
% 3. GajuDesk asks GajuExpress whether there are any packages waiting for Key
% 4. If yes, then the pending deliveries are shown in the delivery panel
% 5. The user selects + clicks open (or double clicks) a package
% 6. User selects where to unpack it in a file dialog
% 7. GajuDesk downloads the package from GajuExpress
% 8. Progress bar
% 9. File is decrypted and optionally signature verified
% 10. GajuExpress deletes their copy of the file
%%%
%%% 0. User opens GajuDesk and selects the key (very top widget)
%%%
%%% Sending...
%%%
%%% 1. The user inputs the public key/ID of the party the data should be sent to
%%% 2. The user picks the file or directory to send
%%% 3. The user decides whether to sign the package or be anonymous
%%% 4. The user sets the package's TTL
%%% 5. GajuDesk packs up and compresses the bundle.
%%% 6. GajuDesk asks GajuExpress for a quote based on size/time
%%% 7. The price is shown
%%% 8. The user agrees or aborts
%%% 9. If the user agrees, a payment window opens and they send a payment to GajuExpress
%%% 10. GajuDesk polls until the payment is included or the user gives up
%%% 11. Once GajuExpress verifies the payment, the upload begins
%%% 12. Progress bar
%%%
%%%
%%% Receiving...
%%%
%%% 1. User clicks "check for deliveries"
%%% 2. GajuExpress issues an ID signature challenge
%%% 3. GajuDesk asks GajuExpress whether there are any packages waiting for Key
%%% 4. If yes, then the pending deliveries are shown in the delivery panel
%%% 5. The user selects + clicks open (or double clicks) a package
%%% 6. User selects where to unpack it in a file dialog
%%% 7. GajuDesk downloads the package from GajuExpress
%%% 8. Progress bar
%%% 9. File is decrypted and optionally signature verified
%%% 10. GajuExpress deletes their copy of the file
%%% @end