block / block/buzz

flaky: sent-from-thread smoke tests (messaging.spec.ts:2049, :3679) fail run-scoped 3/3 then pass on same-SHA rerun

Open
#6,835 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

Two sent-from-thread smoke tests in `desktop/tests/e2e/messaging.spec.ts` show recurring run-scoped flakiness in Desktop Smoke E2E (3):

- `messaging.spec.ts:2049` — "sends a thread message to its parent channel with a root-thread link"
- `messaging.spec.ts:3679` — "a refused sent-from-thread link preserves the edit and retries after cancel"

**Evidence (all on PR #6590's branch; the spec file is byte-identical across all four SHAs below):**

| SHA | Run/Job | :2049 | :3679 |
|---|---|---|---|
| `e7220100e` | job 97915393211 | ✘✘✘ (3/3 fail) | pass |
| `fef7aee18` | job 97934954297 | ✓ first try (3.4s) | pass |
| `90f046d53` | job 97977094376 (1st run) | ✘✘✘ (3/3 fail) | ✘ then ✓ (flaky) |
| `90f046d53` | job 97983581661 (rerun, same SHA) | ✓ first try (4.0s) | ✘ then ✓ (flaky) |

Failure mode at :2049 is always the same assertion (`messaging.spec.ts:2241`, `expect.poll` for the shared row in the channel timeline, `Timeout 5000ms exceeded while waiting on the predicate`) — the sent-from-thread message row never appears in the parent-channel timeline within 5s.

**Key property: within a run it fails 3/3 retries; across runs of the identical tree it passes first-try.** That is not classic per-attempt flake — it looks like run-scoped state (runner timing, shard-local ordering, or a poisoned worker/webserver state) that makes the retry loop useless. The retry mechanism cannot save this test when the run is "bad".

Suggested angles for whoever picks this up:
- The 5000ms `expect.poll` default at :2241 is the tightest timeout in the flow; consider aligning with the suite's standard expect timeout.
- Check whether the scroll-to-latest fallback in the poll can livelock when the timeline virtualizer is mid-layout.
- :3679 (refused-link retry test) failing intermittently in the same file/flow suggests the sent-from-thread echo path itself is timing-sensitive in this shard.

Filed as a review residual from PR #6590 verification (Gauge). Not a blocker for #6590 — the code containing these tests has passed clean at two different SHAs including current head `90f046d53`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.