[#850] Fix EventSource reconnect storm/leak in useStreamEvents #819
pr-test-gate.yml
on: pull_request
Contracts cargo test
1m 12s
Backend npm test
1m 21s
Annotations
10 errors and 2 warnings
|
tests/integration/stream-lifecycle.test.ts > Stream Lifecycle Integration Tests > Indexer → stream_resumed: isPaused = false, accrual resumes > sets isPaused=false and accrual resumes correctly:
backend/src/workers/soroban-event-worker.ts#L1021
TypeError: Cannot mix BigInt and other types, use explicit conversions
❯ src/workers/soroban-event-worker.ts:1021:36
❯ Proxy._transactionWithCallback src/generated/prisma/runtime/client.js:103:4800
❯ SorobanEventWorker.handleStreamResumed src/workers/soroban-event-worker.ts:1011:5
❯ SorobanEventWorker.processEvent src/workers/soroban-event-worker.ts:309:9
❯ tests/integration/stream-lifecycle.test.ts:404:7
|
|
tests/integration/stream-lifecycle.test.ts > Stream Lifecycle Integration Tests > Indexer → stream_paused: isPaused = true, claimable stops growing > sets isPaused=true and stops accrual:
backend/tests/integration/stream-lifecycle.test.ts#L358
Error: expected 200 "OK", got 500 "Internal Server Error"
❯ tests/integration/stream-lifecycle.test.ts:358:10
❯ Test._assertStatus ../node_modules/supertest/lib/test.js:309:14
❯ ../node_modules/supertest/lib/test.js:365:13
❯ Test._assertFunction ../node_modules/supertest/lib/test.js:342:13
❯ Test.assert ../node_modules/supertest/lib/test.js:195:23
❯ localAssert ../node_modules/supertest/lib/test.js:138:14
❯ Server.<anonymous> ../node_modules/supertest/lib/test.js:152:11
|
|
tests/integration/stream-lifecycle.test.ts > Stream Lifecycle Integration Tests > Indexer → stream_topped_up: depositedAmount updated > updates depositedAmount in DB and API reflects the change:
backend/tests/integration/stream-lifecycle.test.ts#L309
Error: expected 200 "OK", got 500 "Internal Server Error"
❯ tests/integration/stream-lifecycle.test.ts:309:10
❯ Test._assertStatus ../node_modules/supertest/lib/test.js:309:14
❯ ../node_modules/supertest/lib/test.js:365:13
❯ Test._assertFunction ../node_modules/supertest/lib/test.js:342:13
❯ Test.assert ../node_modules/supertest/lib/test.js:195:23
❯ localAssert ../node_modules/supertest/lib/test.js:138:14
❯ Server.<anonymous> ../node_modules/supertest/lib/test.js:152:11
|
|
tests/integration/stream-lifecycle.test.ts > Stream Lifecycle Integration Tests > Indexer → stream_created: stream appears in GET /v1/streams/:id > processes stream_created event and makes stream available via API:
backend/src/services/sse.service.ts#L133
TypeError: Do not know how to serialize a BigInt
❯ SSEService.broadcast src/services/sse.service.ts:133:52
❯ SSEService._localBroadcastToStream src/services/sse.service.ts:166:10
❯ SSEService.broadcastToStream src/services/sse.service.ts:146:12
❯ SorobanEventWorker.handleStreamCreated src/workers/soroban-event-worker.ts:551:16
❯ SorobanEventWorker.processEvent src/workers/soroban-event-worker.ts:297:9
❯ tests/integration/stream-lifecycle.test.ts:241:7
|
|
tests/integration/stream-actions.test.ts > stream action routes > POST /v1/streams/:streamId/withdraw withdraws the claimable amount for the recipient:
backend/tests/integration/stream-actions.test.ts#L209
AssertionError: expected 400 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 400
❯ tests/integration/stream-actions.test.ts:209:29
|
|
tests/integration/admin-metrics.test.ts > GET /v1/admin/metrics > caches the response for 60 seconds:
backend/tests/integration/admin-metrics.test.ts#L167
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ tests/integration/admin-metrics.test.ts:167:26
|
|
tests/integration/admin-metrics.test.ts > GET /v1/admin/metrics > preserves precision for very large i128 withdrawn sums:
backend/tests/integration/admin-metrics.test.ts#L159
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ tests/integration/admin-metrics.test.ts:159:24
|
|
tests/integration/admin-metrics.test.ts > GET /v1/admin/metrics > returns the snake_case summary required by the public contract:
backend/tests/integration/admin-metrics.test.ts#L137
AssertionError: expected 500 to be 200 // Object.is equality
- Expected
+ Received
- 200
+ 500
❯ tests/integration/admin-metrics.test.ts:137:24
|
|
tests/soroban-event-worker.test.ts > SorobanEventWorker > Event processing idempotency > should not double-apply depositedAmount/endTime when a stream_topped_up event is re-processed:
backend/tests/soroban-event-worker.test.ts#L578
AssertionError: expected 1700000120n to be 1700000120 // Object.is equality
- Expected:
1700000120
+ Received:
1700000120n
❯ tests/soroban-event-worker.test.ts:578:31
|
|
tests/indexer-state.test.ts:
backend/src/lib/indexer-state.ts#L1
Error: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
❯ src/lib/indexer-state.ts:1:1
Caused by: Caused by: ReferenceError: Cannot access 'mockFindUnique' before initialization
❯ tests/indexer-state.test.ts:9:19
❯ src/lib/indexer-state.ts:1:1
|
|
Contracts cargo test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Backend npm test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|