Tell "no TLS answer in time" apart from "no TLS"; offer a retry #77
No reviewers
Labels
No labels
area/ci
area/desktop
area/packaging
area/protocol
area/reading
area/ui
area/web
area/writing
kind/bug
kind/feature
kind/infra
kind/request
needs/user
parked
perf
security
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
littlefox/neokom!77
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-76-tls-no-answer"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #76 (the wording/retry part; the flakes stay open there).
🤖 Generated with Claude Code
https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
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