Clean up account callback when the loopback listener fails #9

Closed
opened 2026-09-21 23:51:15 +02:00 by rexlManu · 1 comment
Owner

Source review found existing behavior in openAccountCallback: a listener error rejects the outer setup promise but leaves the key promise and five-minute timeout active. The TypeScript port in b8ed52b preserves this behavior. Reproduce with a controlled listen failure, settle both promises, clear the timer, and close the server without changing successful login or cancellation. Do not use a real account. Deferred behind source reconstruction.

Source review found existing behavior in openAccountCallback: a listener error rejects the outer setup promise but leaves the key promise and five-minute timeout active. The TypeScript port in b8ed52b preserves this behavior. Reproduce with a controlled listen failure, settle both promises, clear the timer, and close the server without changing successful login or cancellation. Do not use a real account. Deferred behind source reconstruction.
Author
Owner

Fixed in 1a4da94. Setup failure settles opening/key promises, clears the timer and closes connections/listener. Added cases for emitted and synchronous listen errors, invalid address, timeout before listening, and listener errors after setup. All 11 callback tests and desktop typecheck pass, including unchanged successful login/cancel/timeout comparisons. Only fixture keys and local loopback listeners used.

Fixed in https://git.it-lampe.de/rexlManu/garmith-app/commit/1a4da94. Setup failure settles opening/key promises, clears the timer and closes connections/listener. Added cases for emitted and synchronous listen errors, invalid address, timeout before listening, and listener errors after setup. All 11 callback tests and desktop typecheck pass, including unchanged successful login/cancel/timeout comparisons. Only fixture keys and local loopback listeners used.
rexlManu 2026-09-22 00:53:58 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rexlManu/garmith-app#9
No description provided.