Skip to content

Commit 43d7502

Browse files
authored
fix: we should call ephemeral destroy before free (#24)
* fix: we should call ephemeral destroy before free * chore:
1 parent 50d92bd commit 43d7502

File tree

4 files changed

+95
-108
lines changed

4 files changed

+95
-108
lines changed

packages/loro-adaptors/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"loro-protocol": "workspace:*"
1616
},
1717
"peerDependencies": {
18-
"@loro-dev/flock": "^1.1.0",
19-
"loro-crdt": "^1.8.5",
18+
"@loro-dev/flock": "^1.1.1",
19+
"loro-crdt": "^1.9.0",
2020
"yjs": "*"
2121
},
2222
"peerDependenciesMeta": {

packages/loro-adaptors/src/server/server-loro-persistent-store-adaptor.ts

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
import { EphemeralStore } from "loro-crdt";
2-
import {
3-
CrdtType,
4-
MessageType,
5-
JoinResponseOk,
6-
} from "loro-protocol";
2+
import { CrdtType, MessageType, JoinResponseOk } from "loro-protocol";
73
import type { CrdtServerAdaptor } from "../types";
84

95
export interface LoroPersistentStoreServerAdaptorConfig {
@@ -29,8 +25,8 @@ export class LoroPersistentStoreServerAdaptor implements CrdtServerAdaptor {
2925

3026
handleJoinRequest(
3127
documentData: Uint8Array,
32-
_clientVersion: Uint8Array,
33-
): { response: JoinResponseOk, updates?: Uint8Array[] } {
28+
_clientVersion: Uint8Array
29+
): { response: JoinResponseOk; updates?: Uint8Array[] } {
3430
const response: JoinResponseOk = {
3531
type: MessageType.JoinResponseOk,
3632
crdt: this.crdtType,
@@ -43,13 +39,9 @@ export class LoroPersistentStoreServerAdaptor implements CrdtServerAdaptor {
4339
return { response, updates };
4440
}
4541

46-
applyUpdates(
47-
documentData: Uint8Array,
48-
updates: Uint8Array[],
49-
): Uint8Array {
42+
applyUpdates(documentData: Uint8Array, updates: Uint8Array[]): Uint8Array {
5043
const store = new EphemeralStore(this.timeout);
5144
try {
52-
5345
if (documentData.length > 0) {
5446
store.apply(documentData);
5547
}
@@ -62,7 +54,8 @@ export class LoroPersistentStoreServerAdaptor implements CrdtServerAdaptor {
6254
const newDocumentData = store.encodeAll();
6355
return newDocumentData;
6456
} finally {
65-
store.inner.free()
57+
store.destroy();
58+
store.inner.free();
6659
}
6760
}
6861

@@ -85,4 +78,3 @@ export class LoroPersistentStoreServerAdaptor implements CrdtServerAdaptor {
8578
}
8679
}
8780
}
88-

packages/loro-websocket/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@
7272
"ws": "^8.18.3"
7373
},
7474
"devDependencies": {
75-
"@loro-dev/flock": "^1.1.0",
75+
"@loro-dev/flock": "^1.1.1",
7676
"get-port": "^7.1.0",
7777
"tsdown": "^0.14.1",
7878
"tsx": "^4.20.5",
7979
"typescript": "^5.9.2",
8080
"vitest": "^3.2.4"
8181
},
8282
"peerDependencies": {
83-
"loro-crdt": "^1.7.1"
83+
"loro-crdt": "^1.9.0"
8484
}
8585
}

0 commit comments

Comments
 (0)