Skip to content

Commit 36d2324

Browse files
authored
Merge branch 'main' into drain-param
2 parents d24d28a + ac3df9a commit 36d2324

33 files changed

Lines changed: 2958 additions & 130 deletions

File tree

.github/workflows/ci.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
node-version:
2323
- 18
2424
- 20
25-
- 22
25+
- 22.17.1 # experimental TS type striping in 22.18.0 breaks the build
2626

2727
services:
2828
redis:
@@ -35,6 +35,18 @@ jobs:
3535
ports:
3636
- 6379:6379
3737

38+
postgres:
39+
image: postgres:14
40+
env:
41+
POSTGRES_PASSWORD: changeit
42+
options: >-
43+
--health-cmd pg_isready
44+
--health-interval 10s
45+
--health-timeout 5s
46+
--health-retries 5
47+
ports:
48+
- 5432:5432
49+
3850
steps:
3951
- name: Checkout repository
4052
uses: actions/checkout@v4

docs/engine.io-protocol/v4-test-suite/test-suite.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,25 @@ describe("Engine.IO protocol", () => {
332332

333333
expect(pollResponse.status).to.eql(400);
334334
});
335+
336+
it("closes the session upon cancelled polling request", async () => {
337+
const sid = await initLongPollingSession();
338+
const controller = new AbortController();
339+
340+
fetch(`${URL}/engine.io/?EIO=4&transport=polling&sid=${sid}`, {
341+
signal: controller.signal,
342+
}).catch(() => {});
343+
344+
await sleep(5);
345+
346+
controller.abort();
347+
348+
const pollResponse = await fetch(
349+
`${URL}/engine.io/?EIO=4&transport=polling&sid=${sid}`,
350+
);
351+
352+
expect(pollResponse.status).to.eql(400);
353+
});
335354
});
336355

337356
describe("WebSocket", () => {

package-lock.json

Lines changed: 230 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)