Tell "no TLS answer in time" apart from "no TLS"; offer a retry #77

Merged
littlefox merged 1 commit from issue-76-tls-no-answer into main 2026-10-17 19:28:12 +00:00
Owner

Refs #76 (the wording/retry part; the flakes stay open there).

  • tls: NoAnswer for the 10 s handshake timeout; relay close code 4003; WsTransport ServerNotTls { no_answer }.
  • Login: "no answer within 10 seconds" text, Försök igen first, no remember option.
  • Tests: unit test; tls.spec.ts retry case via e2e/silent-once.py; tls_front_end allows 30 s and logs the handshake time. e2e 35/35 locally.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

Refs #76 (the wording/retry part; the flakes stay open there). - tls: NoAnswer for the 10 s handshake timeout; relay close code 4003; WsTransport ServerNotTls { no_answer }. - Login: "no answer within 10 seconds" text, Försök igen first, no remember option. - Tests: unit test; tls.spec.ts retry case via e2e/silent-once.py; tls_front_end allows 30 s and logs the handshake time. e2e 35/35 locally. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Tell "no TLS answer in time" apart from "no TLS", and offer a retry
All checks were successful
ci / e2e (push) Successful in 11m2s
ci / check (push) Successful in 7m43s
ci / desktop (push) Successful in 12m3s
362e69da4b
A TLS handshake that got no answer within 10 s was reported as "the
server has no TLS", which offers plain text. lyskomd itself answers a
ClientHello at once ("%%LysKOM unsupported protocol."), so silence
more likely means a slow link. Now:
- tls::connect returns NoAnswer for the timeout; kom-relay closes with
  4003 for it, and WsTransport reports ServerNotTls { no_answer }.
- The login dialog says the server didn't answer within 10 seconds,
  offers "Försök igen" first, and never remembers plain text for it.

Tests: a unit test (silent peer -> NoAnswer, lyskomd-like reply ->
NotTls); tls.spec.ts gets a third relay through e2e/silent-once.py,
silent once and then forwarding to the TLS port, so "Försök igen"
succeeds over TLS. The tls_front_end integration test now allows 30 s
for its handshake and prints how long it took, since it timed out
twice on busy runners.

Refs #76

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Sign in to join this conversation.
No description provided.