Loading of any page from gemini://drewdevault.com succeeds every 1 out of 3 attempts.
First request succeeds and then subsequent 2 fail on TLS handshake. Next request (the 4th one) again succeeds, and so on. Restarting the app resets the success-failure cycle. The cycle continues for any page from Drew's pod, regardless of the path.
Starfish creates a new instance of GLib.SocketClient for each request, so the caching / resource reuse that's causing the bug has to be in lower level code. Since app restart resets the success-error cycle the issue needs to be tied to the application process.
While I first observed the issue by loading gemini://drewdevault.com pages, it might actually impacts all (or at least some of the) sites served by the gmnisrv Gemini server. One other gemsite that I've observed the bug on is gemini://gmi.noulin.net.
Observed behavior
Loading of any page from gemini://drewdevault.com succeeds every 1 out of 3 attempts.
First request succeeds and then subsequent 2 fail on TLS handshake. Next request (the 4th one) again succeeds, and so on. Restarting the app resets the success-failure cycle. The cycle continues for any page from Drew's pod, regardless of the path.
Technical details
Here are the events emitted by the GLib.SocketClient.event:
Extra thoughts
Starfish creates a new instance of GLib.SocketClient for each request, so the caching / resource reuse that's causing the bug has to be in lower level code. Since app restart resets the success-error cycle the issue needs to be tied to the application process.
While I first observed the issue by loading gemini://drewdevault.com pages, it might actually impacts all (or at least some of the) sites served by the gmnisrv Gemini server. One other gemsite that I've observed the bug on is gemini://gmi.noulin.net.