Soak test: a session kept alive for hours, with drops #66

Closed
opened 2026-10-17 17:54:18 +00:00 by littlefox · 1 comment
Owner

Reconnecting (#52) is only trustworthy if it's tested over time, not just once.

What:

  • A test client logged in for a long time while another client posts, sends messages and logs in and out.
  • The connection is cut at random times (kill the relay connection or the TCP socket), as a phone or laptop would.
  • Afterwards, checks that unread counts, the reading position and the event log are right, and that memory use stayed flat.

Done when:

  • A scheduled workflow runs it nightly for an hour (like the fuzzing), and a short version runs on PRs that touch the engine.

Helps: #52.

From docs/ROADMAP.md, "Under the hood"; filed for 0.2.

Reconnecting (#52) is only trustworthy if it's tested over time, not just once. What: - A test client logged in for a long time while another client posts, sends messages and logs in and out. - The connection is cut at random times (kill the relay connection or the TCP socket), as a phone or laptop would. - Afterwards, checks that unread counts, the reading position and the event log are right, and that memory use stayed flat. Done when: - A scheduled workflow runs it nightly for an hour (like the fuzzing), and a short version runs on PRs that touch the engine. Helps: #52. From docs/ROADMAP.md, "Under the hood"; filed for 0.2.
Author
Owner

Merged in #88; follow-up fix in #89. soak.spec.ts: one minute in every e2e run (desktop), an hour nightly (soak.yml). The first CI failure turned out to be the test counting a post that wasn't made (app 52 = fresh login 52); it now waits for a new post number.

Merged in #88; follow-up fix in #89. soak.spec.ts: one minute in every e2e run (desktop), an hour nightly (soak.yml). The first CI failure turned out to be the test counting a post that wasn't made (app 52 = fresh login 52); it now waits for a new post number.
Sign in to join this conversation.
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
littlefox/neokom#66
No description provided.