Skip to content

Flaky CI Failure: node-sdk Preferences 'should stream preferences' — expected 4 updates but got 3 #3831

Description

@github-actions

Flaky CI Failure: node-sdk Preferences 'should stream preferences' — expected 4 updates but got 3

Workflow: Test
Failed run: https://github.com/xmtp/libxmtp/actions/runs/29026036425
Commit: f46d623
Failed jobs: test-node-sdk / Test (node-sdk) shard 1

Summary

The Node SDK integration test Preferences > should stream preferences in test/Preferences.test.ts failed because the preference stream delivered only 3 updates instead of the expected 4. The test ran for 3337ms before the assertion fired. All other 182 tests in the shard passed. This is consistent with a race condition or timing issue in the streaming path where one preference update event was not delivered before the assertion ran.

Error Details

FAIL test/Preferences.test.ts > Preferences > should stream preferences
AssertionError: expected 3 to be 4 // Object.is equality

- Expected
+ Received

- 4
+ 3

 ❯ test/Preferences.test.ts:216:32
    214|       preferences.push(...update);
    215|     }
    216|     expect(preferences.length).toBe(4);
       |                                ^

 Test Files  1 failed | 14 passed (15)
       Tests  1 failed | 182 passed (183)
   Start at  14:42:56
   Duration  21.89s

error: recipe `test-node-sdk-ci` failed on line 37 with exit code 1

Analysis

The test collects preference update events via a stream and asserts that exactly 4 are received. Only 3 arrived, meaning one event was either dropped, delayed beyond the collection window, or the stream was closed before the final event was emitted. This is a test/code failure — likely a race condition in the streaming or preference-update delivery path in the Node SDK bindings. The pattern (N-1 events received) is typical of async stream tests that don't wait long enough for the final event.

Related area: sdks/js/node-sdk/test/Preferences.test.ts, Node SDK preference streaming.


Reported by Flaky Failure Watcher

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions