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 %%% The GajuExpress
% 0. User opens GajuDesk and selects the key (very top widget) %%%
% %%% 0. User opens GajuDesk and selects the key (very top widget)
% Sending... %%%
% %%% 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 %%% 1. The user inputs the public key/ID of the party the data should be sent to
% 3. The user decides whether to sign the package or be anonymous %%% 2. The user picks the file or directory to send
% 4. The user sets the package's TTL %%% 3. The user decides whether to sign the package or be anonymous
% 5. GajuDesk packs up and compresses the bundle. %%% 4. The user sets the package's TTL
% 6. GajuDesk asks GajuExpress for a quote based on size/time %%% 5. GajuDesk packs up and compresses the bundle.
% 7. The price is shown %%% 6. GajuDesk asks GajuExpress for a quote based on size/time
% 8. The user agrees or aborts %%% 7. The price is shown
% 9. If the user agrees, a payment window opens and they send a payment to GajuExpress %%% 8. The user agrees or aborts
% 10. GajuDesk polls until the payment is included or the user gives up %%% 9. If the user agrees, a payment window opens and they send a payment to GajuExpress
% 11. Once GajuExpress verifies the payment, the upload begins %%% 10. GajuDesk polls until the payment is included or the user gives up
% 12. Progress bar %%% 11. Once GajuExpress verifies the payment, the upload begins
% %%% 12. Progress bar
% %%%
% Receiving... %%%
% %%% Receiving...
% 1. User clicks "check for deliveries" %%%
% 2. GajuExpress issues an ID signature challenge %%% 1. User clicks "check for deliveries"
% 3. GajuDesk asks GajuExpress whether there are any packages waiting for Key %%% 2. GajuExpress issues an ID signature challenge
% 4. If yes, then the pending deliveries are shown in the delivery panel %%% 3. GajuDesk asks GajuExpress whether there are any packages waiting for Key
% 5. The user selects + clicks open (or double clicks) a package %%% 4. If yes, then the pending deliveries are shown in the delivery panel
% 6. User selects where to unpack it in a file dialog %%% 5. The user selects + clicks open (or double clicks) a package
% 7. GajuDesk downloads the package from GajuExpress %%% 6. User selects where to unpack it in a file dialog
% 8. Progress bar %%% 7. GajuDesk downloads the package from GajuExpress
% 9. File is decrypted and optionally signature verified %%% 8. Progress bar
% 10. GajuExpress deletes their copy of the file %%% 9. File is decrypted and optionally signature verified
%%% 10. GajuExpress deletes their copy of the file
%%% @end %%% @end