implemented TypeScript workflows using tsc without vite
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Jan 13 2026
Jan 11 2026
Jan 7 2026
I'm not sure, how to reproduce this. On gpg4win-5.0.0-beta479 @ win11 I quit Kleopatra with a smartcard inserted, the process exits with code 0, so it looks fine and I'm setting this to resolved.
completed: draft all gpg key function names
I decided to prioritize developer experience and provide simplified, high-level functional abstractions instead of maintaining 1:1 parity with the underlying gpgme library functions. See example in T8021
I may have misinterpreted what The GnuPG UI Server Protocol is. Instead, I will provide high-level functions to all of gpgme's underlying features
Jan 4 2026
Published to NPM as gpgmejs, which provides disambiguation from gpgme, gpgmepp, gpgmepy, etc.
completed working test and repo:
https://github.com/anthumchris/gpgmejs/
Jan 2 2026
Jan 1 2026
Completed working base repository with developer workflows for watching files and rebuilding/retesting:
https://github.com/anthumchris/node-addon
Dec 31 2025
- --experimental-addon-modules stability for javascript ESM import syntax
Dec 30 2025
Dec 28 2025
Dec 16 2025
Thanks, I'll start here and see how it was done with JS for the browser: https://dev.gnupg.org/source/gpgme/browse/master/lang/js/
Dec 15 2025
Note that we have moved almost all bindings out of gpgme into separate repos. I suggest to develop such bindings externally. And you'll have to find external resources to learn how to create nodejs bindings for gpgme.
Dec 14 2025
Dec 12 2025
Nov 28 2025
I would say this is done.
Nov 26 2025
Here is my analysis.
Nov 25 2025
Nov 24 2025
Yes, sorry, a typo, I corrected it.
In T7759#208677, @timegrid wrote:Forgot to note: Setting S/MIME debug level in kleopatra via GnuPG System will write the right key to gpg.conf (if I understood it right, this was also a problem)
Nov 21 2025
Looks good to me on gpg4win-5.0.0-beta413 @ win11.
The error message in debugview is gone.
Forgot to note: Setting S/MIME debug level in kleopatra via GnuPG System will write the right key to gpgsm.conf (if I understood it right, this was also a problem)
I think last time I didn't test the actual problem.
Nov 19 2025
Nov 17 2025
Nov 14 2025
Great, thanks!
I considered to make the --display argument optional but that still leads to the error. Thus better do not set or send it at all. I did this now for all gpgme engines.
Oct 29 2025
The API documentation of gpgme has been improved. And Kleopatra no longer tries to read the private key files of subkeys using combined algorithms (like Kyber+some curve) because (as of now) such keys are not stored on any smart cards (that are supported by GnuPG).
Oct 28 2025
Oct 8 2025
Oct 6 2025
Oct 1 2025
Sep 23 2025
Sep 8 2025
Looks good to me on gpg4win-5.0.0-beta369 @ win10.
Can't reproduce it anymore, message is S/MIME decrypted instantly:
Sep 5 2025
Uses gpgme-2.0.0 with the above mentioned patches. I have seen no problems in my quick tests.
Sep 1 2025
I fixed the problem (which I identified above) in gniibe/t7759 branch. There might be other causes/problems for the particular symptom, so, I don't know the fix resolves the symptom or not, though. Anyhow, I believe that this is an improvement.
Aug 27 2025
Similar situation could happen with gpgsm + gpg-agent, when gpg-agent is invoked by gpgsm.
(1) No gpg-agent.
(2) In gpgme, by engine-gpgsm, gpgsm is invoked with --logger.
(3) In gpgsm_keylist, it makes sure gpg-agent is available by GETINFO agent-check, using gpgsm_assuan_simple_command.
(4) In the server side, it tries to connect gpg-agent, invokes gpg-agent, and connect to the agent again.
(5) On Windows, it may takes time to invoke gpg-agent. And it may try to connect multiple times. Each trial may generate debug messages.
(6) When it takes too much time, the debug messages are too much. It may fill the pipe.
(7) And it blocks at log_string in my_libassuan_log_handler.
(8) ... it hangs.
Hypothetical scenario (gpgsm --server + dirmngr):
(0) It may hang when much debug messages are generated by libassuan to the pipe of --logger (diag_cb).
(1) In gpgme, by engine-gpgsm, gpgsm is invoked with --logger.
(2) If it's the case of standard gpgme interactions which uses gpgsm_io_event, no problem. Because the data on diag_cb is consumed well.
(3) In case of gpgsm_encrypt (or other commands), it uses gpgsm_assuan_simple_command which does not consume the data on diag_cb pipe at all.
(4) In particular, in set_recipients, gpgsm_assuan_simple_command is called by the number of recipients times.
(5) IIUC, in the server side, to handle RECIPIENT command, dirmngr is used by the call chain of:
- cmd_recipient
- gpgsm_add_to_certlist
- gpgsm_validate_chain...
- gpgsm_dirmngr_isvalid
(6) In gpgsm_dirmngr_isvalid function, libassuan is used as client side, it generates debug messages.
(7) When there are many recipients, the debug message may be big enough to fill the pipe.
(8) When pipe is filled, it blocks at log_string in my_libassuan_log_handler, waiting the data in pipe is consumed.
(9) ... it hangs.
Aug 13 2025
We decided that gpg should emit a status message for success, too.
gpgme should then look for that status message instead of only absence of error.
A quick check with passing ASSUAN_PIPE_CONNECT_DETACHED does not changed anything.
Aug 12 2025
I wonder whether rA3bccb33ccd9028ff505d9979fd6c8a37393b892d which changes Assuan's waitpid function for Windows is well aligned with the my_waitpid in gpgme's assuan-support.c (which does nothing). gpgme creates a detached process in most cases but for gpgsm assuan_pipe_connect is used without the ASSUAN_PIPE_CONNECT_DETACHED flag.
Another data point is that the faulty versions use libassuan 3 with a slightly changed API. May one of the follwing chnages cause the problem?
Aug 11 2025
Although in VSD 3.2.2 we get no warning when configuring S/MIME debugging wrong we then get a nice message "Configuration error" when trying to encrypt with S/MIME, instead of gpgsm hanging without any message at all:
Aug 8 2025
The issue also occurs in VSD-3.3.2 and 4win-4.4.1 but not in VSD 3.1.26
Jul 12 2025
I created a Go test program that runs several Go routines, each of which verifies a byte array loaded from a file in advance. Each go-routine is spawned with a configurable delay in milliseconds. I tested it with 100 iterations, which resulted in at least 50 parallel processes. Each verification process uses its own context, as Crio does. I didn't encounter any errors.
Here is my repository with a README containing more information: https://git.sr.ht/~kulbartsch/gpgmego-verify-load-test
Jun 30 2025
Ingo tested this and it worked.
Jun 26 2025
Jun 23 2025
Jun 20 2025
OK. I'll add a code for setting the fallback value in _gpgme_io_subsystem_init and use it from get_max_fds.
