Skip to content

Commit 5961d2e

Browse files
committed
chore: drop unused adaptor hooks
1 parent b46cd62 commit 5961d2e

File tree

9 files changed

+9
-100
lines changed

9 files changed

+9
-100
lines changed

llms.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ The resolved room implements:
278278
to stay within limits.
279279
- On receiving `DocUpdate`/fragments, the client reassembles updates and passes
280280
them to `crdtAdaptor.applyUpdate`.
281-
- `Ack` messages invoke `crdtAdaptor.handleAck`/`handleUpdateStatus` if provided; non‑zero statuses indicate the update batch was rejected.
281+
- `Ack` messages are logged; non‑zero statuses indicate the update batch was rejected.
282282

283283
### 3.8 Ping/Pong Integration
284284

packages/loro-adaptors/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,12 @@ import { YjsAwarenessServerAdaptor } from "loro-adaptors/yjs";
107107
## API
108108

109109
- `loro-adaptors/loro`
110-
- `new LoroAdaptor(doc?: LoroDoc, config?: { onImportError?, onAck?, onRoomError?, onUpdateError? /* legacy alias for onAck */ })`
110+
- `new LoroAdaptor(doc?: LoroDoc, config?: { onImportError? })`
111111
- `new LoroEphemeralAdaptor(store?: EphemeralStore)`
112112
- `new LoroPersistentStoreAdaptor(store?: EphemeralStore)`
113-
- `new EloAdaptor(docOrConfig: LoroDoc | { getPrivateKey, ivFactory?, onDecryptError?, onAck?, onRoomError?, onUpdateError? /* legacy */ })`
113+
- `new EloAdaptor(docOrConfig: LoroDoc | { getPrivateKey, ivFactory?, onDecryptError? })`
114114
- `loro-adaptors/flock`
115-
- `new FlockAdaptor(flock: Flock, config?: { onImportError?, onAck?, onRoomError?, onUpdateError? /* legacy */ })`
115+
- `new FlockAdaptor(flock: Flock, config?: { onImportError? })`
116116
- `loro-adaptors/yjs`
117117
- `new YjsAwarenessServerAdaptor()`
118118

packages/loro-adaptors/src/elo-adaptor.ts

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ import { LoroDoc, VersionVector, decodeImportBlobMeta } from "loro-crdt";
22
import {
33
CrdtType,
44
JoinResponseOk,
5-
Ack,
6-
RoomError,
7-
UpdateStatusCode,
85
} from "loro-protocol";
96
import type { CrdtAdaptorContext, CrdtDocAdaptor } from "./types";
107
import {
@@ -27,10 +24,6 @@ export interface EloAdaptorConfig {
2724
err: Error,
2825
meta: { kind: "delta" | "snapshot"; keyId: string }
2926
) => void;
30-
onAck?: (ack: Ack) => void;
31-
onUpdateStatus?: (ack: Ack) => void;
32-
onRoomError?: (err: RoomError) => void;
33-
onUpdateError?: (ack: Ack) => void; // legacy naming
3427
}
3528

3629
export class EloAdaptor implements CrdtDocAdaptor {
@@ -233,18 +226,6 @@ export class EloAdaptor implements CrdtDocAdaptor {
233226
}
234227
}
235228

236-
handleAck(ack: Ack): void {
237-
this.config.onAck?.(ack);
238-
if (ack.status !== UpdateStatusCode.Ok) {
239-
this.config.onUpdateStatus?.(ack);
240-
this.config.onUpdateError?.(ack);
241-
}
242-
}
243-
244-
handleRoomError(err: RoomError): void {
245-
this.config.onRoomError?.(err);
246-
}
247-
248229
destroy(): void {
249230
if (this.destroyed) return;
250231
this.destroyed = true;

packages/loro-adaptors/src/flock-adaptor.ts

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
import { Flock } from "@loro-dev/flock";
22
import {
33
CrdtType,
4-
JoinError,
54
JoinResponseOk,
6-
Ack,
7-
RoomError,
8-
UpdateStatusCode,
95
} from "loro-protocol";
106
import type { CrdtAdaptorContext, CrdtDocAdaptor } from "./types";
117

@@ -99,10 +95,6 @@ function deserializeBundle(bytes: Uint8Array): FlockExportBundle {
9995

10096
export interface FlockAdaptorConfig {
10197
onImportError?: (error: Error, data: Uint8Array[]) => void;
102-
onAck?: (ack: Ack) => void;
103-
onUpdateStatus?: (ack: Ack) => void;
104-
onRoomError?: (err: RoomError) => void;
105-
onUpdateError?: (status: Ack) => void; // legacy
10698
}
10799

108100
/**
@@ -152,8 +144,6 @@ export class FlockAdaptor implements CrdtDocAdaptor {
152144
return compareVersions(this.flock.version(), remote);
153145
}
154146

155-
handleJoinErr?: (err: JoinError) => Promise<void>;
156-
157147
setCtx(ctx: CrdtAdaptorContext): void {
158148
this.ctx = ctx;
159149
if (this.unsubscribe) {
@@ -233,18 +223,6 @@ export class FlockAdaptor implements CrdtDocAdaptor {
233223
}
234224
}
235225

236-
handleAck(ack: Ack): void {
237-
this.config.onAck?.(ack);
238-
if (ack.status !== UpdateStatusCode.Ok) {
239-
this.config.onUpdateStatus?.(ack);
240-
this.config.onUpdateError?.(ack);
241-
}
242-
}
243-
244-
handleRoomError(err: RoomError): void {
245-
this.config.onRoomError?.(err);
246-
}
247-
248226
destroy(): void {
249227
if (this.destroyed) return;
250228
this.destroyed = true;

packages/loro-adaptors/src/loro-adaptor.ts

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
11
import { LoroDoc, VersionVector } from "loro-crdt";
22
import {
33
CrdtType,
4-
JoinError,
54
JoinResponseOk,
6-
Ack,
7-
RoomError,
8-
UpdateStatusCode,
95
} from "loro-protocol";
106
import type { CrdtAdaptorContext, CrdtDocAdaptor } from "./types";
117

128
export interface LoroAdaptorConfig {
139
onImportError?: (error: Error, data: Uint8Array[]) => void;
14-
onAck?: (ack: Ack) => void;
15-
onUpdateStatus?: (ack: Ack) => void;
16-
onRoomError?: (err: RoomError) => void;
17-
// Legacy hook
18-
onUpdateError?: (status: Ack) => void;
1910
}
2011

2112
export class LoroAdaptor implements CrdtDocAdaptor {
@@ -61,8 +52,6 @@ export class LoroAdaptor implements CrdtDocAdaptor {
6152
return this.doc.version().compare(vv) as 0 | 1 | -1 | undefined;
6253
}
6354

64-
handleJoinErr?: ((err: JoinError) => Promise<void>) | undefined;
65-
6655
getDoc(): LoroDoc {
6756
return this.doc;
6857
}
@@ -132,6 +121,10 @@ export class LoroAdaptor implements CrdtDocAdaptor {
132121
// Pending updates may occur when concurrent changes happen
133122
}
134123
} catch (error) {
124+
this.config.onImportError?.(
125+
error instanceof Error ? error : new Error(String(error)),
126+
updates
127+
);
135128
this.ctx!.onImportError(
136129
error instanceof Error ? error : new Error(String(error)),
137130
updates
@@ -148,18 +141,6 @@ export class LoroAdaptor implements CrdtDocAdaptor {
148141
}
149142
}
150143

151-
handleAck(ack: Ack): void {
152-
this.config.onAck?.(ack);
153-
if (ack.status !== UpdateStatusCode.Ok) {
154-
this.config.onUpdateStatus?.(ack);
155-
this.config.onUpdateError?.(ack);
156-
}
157-
}
158-
159-
handleRoomError(err: RoomError): void {
160-
this.config.onRoomError?.(err);
161-
}
162-
163144
destroy(): void {
164145
if (this.destroyed) return;
165146
this.destroyed = true;

packages/loro-adaptors/src/loro-ephemeral-adaptor.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ export class LoroEphemeralAdaptor implements CrdtDocAdaptor {
2222
return 0 as const;
2323
}
2424

25-
handleJoinErr?: undefined;
26-
2725
getStore(): EphemeralStore {
2826
return this.store;
2927
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ export class LoroPersistentStoreAdaptor implements CrdtDocAdaptor {
2222
return 0 as const;
2323
}
2424

25-
handleJoinErr?: undefined;
26-
2725
getStore(): EphemeralStore {
2826
return this.store;
2927
}

packages/loro-adaptors/src/types.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
import {
2-
CrdtType,
3-
JoinResponseOk,
4-
JoinError,
5-
Ack,
6-
RoomError,
7-
} from "loro-protocol";
1+
import { CrdtType, JoinResponseOk } from "loro-protocol";
82

93
export interface CrdtDocAdaptor {
104
crdtType: CrdtType;
@@ -45,16 +39,8 @@ export interface CrdtDocAdaptor {
4539
getAlternativeVersion?: (
4640
currentVersion: Uint8Array
4741
) => Uint8Array | undefined;
48-
/**
49-
* Handle update status/acks with context-specific logic
50-
* @param ack The ack details
51-
*/
52-
handleAck?: (ack: Ack) => void;
53-
handleUpdateStatus?: (ack: Ack) => void;
54-
handleRoomError?: (err: RoomError) => void;
5542
// Legacy hook retained for compatibility
5643
handleUpdateError?: (error: unknown) => void;
57-
handleJoinErr?: (err: JoinError) => Promise<void>;
5844
destroy: () => void;
5945
}
6046

packages/loro-websocket/src/client/index.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -808,9 +808,6 @@ export class LoroWebsocketClient {
808808
pending: PendingRoom,
809809
roomId: string
810810
) {
811-
// First, let adaptor handle the error for custom logic
812-
await pending.adaptor.handleJoinErr?.(msg);
813-
814811
if (msg.code === JoinErrorCode.VersionUnknown) {
815812
// Try alternative version format
816813
const currentVersion = pending.adaptor.getVersion();
@@ -1485,22 +1482,12 @@ class LoroWebsocketClientRoomImpl
14851482
}
14861483

14871484
handleAck(ack: Ack) {
1488-
// Prefer dedicated handlers; otherwise warn when a non-ok status arrives.
1489-
if (this.crdtAdaptor.handleAck) {
1490-
this.crdtAdaptor.handleAck(ack);
1491-
return;
1492-
}
1493-
if (this.crdtAdaptor.handleUpdateStatus) {
1494-
this.crdtAdaptor.handleUpdateStatus(ack);
1495-
return;
1496-
}
14971485
if (ack.status !== UpdateStatusCode.Ok) {
14981486
console.warn(`Ack status ${ack.status} for ${this.crdtType}:${this.roomId} (ref ${ack.refId})`);
14991487
}
15001488
}
15011489

15021490
handleRoomError(error: RoomError) {
1503-
this.crdtAdaptor.handleRoomError?.(error);
15041491
// Only mark destroyed for terminal errors; rejoin-suggested errors keep the room alive for retry.
15051492
if (error.code !== RoomErrorCode.RejoinSuggested) {
15061493
this.destroyed = true;

0 commit comments

Comments
 (0)