Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/edge.js
Original file line number Diff line number Diff line change
Expand Up @@ -485,9 +485,9 @@ export class DocRoom {
* @param {WebSocket} webSocket
*/
// eslint-disable-next-line class-methods-use-this
webSocketClose(webSocket) {
async webSocketClose(webSocket) {
const { docName } = webSocket.deserializeAttachment();
handleWebSocketClose(webSocket, docName);
await handleWebSocketClose(webSocket, docName);
}

/**
Expand All @@ -496,9 +496,9 @@ export class DocRoom {
* @param {Error} error
*/
// eslint-disable-next-line class-methods-use-this
webSocketError(webSocket, error) {
async webSocketError(webSocket, error) {
logError(error, '[docroom] WebSocket error', error);
const { docName } = webSocket.deserializeAttachment();
handleWebSocketClose(webSocket, docName);
await handleWebSocketClose(webSocket, docName);
}
}
4 changes: 2 additions & 2 deletions src/shareddoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -912,9 +912,9 @@ export const handleWebSocketMessage = async (conn, docName, env, storage, messag
* @param {WebSocket} conn - The WebSocket connection
* @param {string} docName - The document name
*/
export const handleWebSocketClose = (conn, docName) => {
export const handleWebSocketClose = async (conn, docName) => {
const doc = docs.get(docName);
if (doc) {
closeConn(doc, conn);
await closeConn(doc, conn);
}
};
6 changes: 3 additions & 3 deletions test/edge.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1144,7 +1144,7 @@ describe('Worker test suite', () => {
const m = setYDoc(docName, testYdoc);

const dr = new DocRoom(makeCtx(null), {});
dr.webSocketClose(mockConn, 1000, 'Normal', true);
await dr.webSocketClose(mockConn, 1000, 'Normal', true);

assert.deepStrictEqual(['close'], closeCalled);
assert(!m.has(docName), 'Doc should be removed when no connections remain');
Expand All @@ -1167,7 +1167,7 @@ describe('Worker test suite', () => {
const m = setYDoc(docName, testYdoc);

const dr = new DocRoom(makeCtx(null), {});
dr.webSocketError(mockConn, new Error('connection reset'));
await dr.webSocketError(mockConn, new Error('connection reset'));

assert.deepStrictEqual(['close'], closeCalled);
assert(!m.has(docName), 'Doc should be removed on error');
Expand All @@ -1184,7 +1184,7 @@ describe('Worker test suite', () => {
};

const dr = new DocRoom(makeCtx(null), {});
dr.webSocketClose(mockConn, 1000, 'Normal', true);
await dr.webSocketClose(mockConn, 1000, 'Normal', true);
// No assertion needed — test passes if close() is not called
});

Expand Down