@inditextech/weave-store-azure-web-pubsub 3.6.0-SNAPSHOT.112.1 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +2 -6
- package/dist/client.js +4 -22
- package/dist/server.d.ts +3 -7
- package/package.json +3 -3
package/dist/client.d.ts
CHANGED
|
@@ -134,7 +134,6 @@ type FetchClient = (input: string | URL | globalThis.Request, init?: RequestInit
|
|
|
134
134
|
type FetchInitialState = (doc: Doc) => void;
|
|
135
135
|
type PersistRoom = (roomId: string, actualState: Uint8Array<ArrayBufferLike>) => Promise<void>;
|
|
136
136
|
type FetchRoom = (roomId: string) => Promise<Uint8Array | null>;
|
|
137
|
-
type WeaveRoomData = Uint8Array | FetchInitialState;
|
|
138
137
|
type WeaveStoreAzureWebPubsubEvents = {
|
|
139
138
|
onConnect: WeaveStoreAzureWebPubsubOnConnectEvent;
|
|
140
139
|
onConnected: WeaveStoreAzureWebPubsubOnConnectedEvent;
|
|
@@ -230,7 +229,6 @@ type WeaveStoreAzureWebPubsubSyncHostOptions = {
|
|
|
230
229
|
attemptsLimit: number;
|
|
231
230
|
};
|
|
232
231
|
};
|
|
233
|
-
|
|
234
232
|
//#endregion
|
|
235
233
|
//#region src/client.d.ts
|
|
236
234
|
declare class WeaveStoreAzureWebPubSubSyncClient extends Emittery {
|
|
@@ -287,18 +285,16 @@ declare class WeaveStoreAzureWebPubsub extends WeaveStore {
|
|
|
287
285
|
private roomId;
|
|
288
286
|
private started;
|
|
289
287
|
private initialRoomData;
|
|
290
|
-
private actualStatus;
|
|
291
288
|
protected provider: WeaveStoreAzureWebPubSubSyncClient;
|
|
292
289
|
protected name: string;
|
|
293
290
|
protected supportsUndoManager: boolean;
|
|
294
291
|
protected awarenessCallback: (changes: any) => void;
|
|
295
|
-
constructor(initialRoomData:
|
|
292
|
+
constructor(initialRoomData: Uint8Array | FetchInitialState | undefined, storeOptions: WeaveStoreOptions, azureWebPubsubOptions: Pick<WeaveStoreAzureWebPubsubOptions, "roomId" | "url"> & Partial<Omit<WeaveStoreAzureWebPubsubOptions, "roomId" | "url">>);
|
|
296
293
|
setup(): void;
|
|
297
294
|
private loadRoomInitialData;
|
|
298
295
|
private init;
|
|
299
296
|
emitEvent<T>(name: string, payload?: T): void;
|
|
300
297
|
getClientId(): string | null;
|
|
301
|
-
switchToRoom(roomId: string, roomData: Uint8Array | FetchInitialState | undefined): Promise<void>;
|
|
302
298
|
connect(extraParams?: Record<string, string>): Promise<void>;
|
|
303
299
|
disconnect(): void;
|
|
304
300
|
simulateWebsocketError(): void;
|
|
@@ -308,4 +304,4 @@ declare class WeaveStoreAzureWebPubsub extends WeaveStore {
|
|
|
308
304
|
}
|
|
309
305
|
|
|
310
306
|
//#endregion
|
|
311
|
-
export { FetchClient, FetchInitialState, FetchRoom, Message, MessageData, MessageDataType, MessageHandler, MessageType, PersistRoom, WEAVE_STORE_AZURE_WEB_PUBSUB, WEAVE_STORE_AZURE_WEB_PUBSUB_CONNECTION_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_DESTROY_ROOM_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_CLIENT_DEFAULT_OPTIONS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_HOST_DEFAULT_OPTIONS, WEAVE_STORE_HORIZONTAL_SYNC_HANDLER_CLIENT_TYPE, WeaveAzureWebPubsubSyncHandlerOptions,
|
|
307
|
+
export { FetchClient, FetchInitialState, FetchRoom, Message, MessageData, MessageDataType, MessageHandler, MessageType, PersistRoom, WEAVE_STORE_AZURE_WEB_PUBSUB, WEAVE_STORE_AZURE_WEB_PUBSUB_CONNECTION_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_DESTROY_ROOM_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_CLIENT_DEFAULT_OPTIONS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_HOST_DEFAULT_OPTIONS, WEAVE_STORE_HORIZONTAL_SYNC_HANDLER_CLIENT_TYPE, WeaveAzureWebPubsubSyncHandlerOptions, WeaveStoreAzureWebPubSubSyncClientConnectionStatus, WeaveStoreAzureWebPubSubSyncClientConnectionStatusKeys, WeaveStoreAzureWebPubSubSyncClientOptions, WeaveStoreAzureWebPubSubSyncHostClientConnectOptions, WeaveStoreAzureWebPubsub, WeaveStoreAzureWebPubsubConfig, WeaveStoreAzureWebPubsubEvents, WeaveStoreAzureWebPubsubOnConnectEvent, WeaveStoreAzureWebPubsubOnConnectedEvent, WeaveStoreAzureWebPubsubOnDisconnectedEvent, WeaveStoreAzureWebPubsubOnStoreFetchConnectionUrlEvent, WeaveStoreAzureWebPubsubOnWebsocketCloseEvent, WeaveStoreAzureWebPubsubOnWebsocketErrorEvent, WeaveStoreAzureWebPubsubOnWebsocketJoinGroupEvent, WeaveStoreAzureWebPubsubOnWebsocketMessageEvent, WeaveStoreAzureWebPubsubOnWebsocketOpenEvent, WeaveStoreAzureWebPubsubOnWebsocketReconnectEvent, WeaveStoreAzureWebPubsubOptions, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatus, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatusKeys, WeaveStoreAzureWebPubsubSyncHostOptions };
|
package/dist/client.js
CHANGED
|
@@ -3974,6 +3974,7 @@ var WeaveStoreAzureWebPubSubSyncClient = class extends Emittery {
|
|
|
3974
3974
|
if (message.type === MessageType.System) return;
|
|
3975
3975
|
const messageData = message.data;
|
|
3976
3976
|
if (messageData.type === "heartbeat") {
|
|
3977
|
+
console.log("[Azure Web PubSub] received heartbeat, updating last heartbeat time.");
|
|
3977
3978
|
this._lastHeartbeatTime = Date.now();
|
|
3978
3979
|
return;
|
|
3979
3980
|
}
|
|
@@ -4044,6 +4045,7 @@ var WeaveStoreAzureWebPubSubSyncClient = class extends Emittery {
|
|
|
4044
4045
|
this._checkHeartbeatId = setInterval(() => {
|
|
4045
4046
|
const now = Date.now();
|
|
4046
4047
|
if (now - this._lastHeartbeatTime > this._synClientOptions.heartbeat.checkWindowTimeMs) {
|
|
4048
|
+
console.log(`[Azure Web PubSub] heartbeat not received in ${this._synClientOptions.heartbeat.checkWindowTimeMs}ms window, handling it...`);
|
|
4047
4049
|
this.disconnect();
|
|
4048
4050
|
this.createWebSocket();
|
|
4049
4051
|
}
|
|
@@ -4145,7 +4147,6 @@ var WeaveStoreAzureWebPubsub = class extends WeaveStore {
|
|
|
4145
4147
|
this.roomId = roomId;
|
|
4146
4148
|
this.initialRoomData = initialRoomData;
|
|
4147
4149
|
this.started = false;
|
|
4148
|
-
this.actualStatus = WEAVE_STORE_CONNECTION_STATUS.DISCONNECTED;
|
|
4149
4150
|
this.init();
|
|
4150
4151
|
}
|
|
4151
4152
|
setup() {
|
|
@@ -4159,8 +4160,7 @@ var WeaveStoreAzureWebPubsub = class extends WeaveStore {
|
|
|
4159
4160
|
}
|
|
4160
4161
|
init() {
|
|
4161
4162
|
const { url } = this.azureWebPubsubOptions;
|
|
4162
|
-
|
|
4163
|
-
this.provider = new WeaveStoreAzureWebPubSubSyncClient(this, patchedUrl, this.roomId, this.getDocument(), this.azureWebPubsubOptions.syncClientOptions);
|
|
4163
|
+
this.provider = new WeaveStoreAzureWebPubSubSyncClient(this, url, this.roomId, this.getDocument(), this.azureWebPubsubOptions.syncClientOptions);
|
|
4164
4164
|
const awareness = this.provider.awareness;
|
|
4165
4165
|
awareness.on("update", this.handleAwarenessChange.bind(this));
|
|
4166
4166
|
awareness.on("change", this.handleAwarenessChange.bind(this));
|
|
@@ -4172,11 +4172,7 @@ var WeaveStoreAzureWebPubsub = class extends WeaveStore {
|
|
|
4172
4172
|
this.handleConnectionStatusChange(WEAVE_STORE_CONNECTION_STATUS.DISCONNECTED);
|
|
4173
4173
|
});
|
|
4174
4174
|
this.provider.on("status", (status) => {
|
|
4175
|
-
|
|
4176
|
-
this.handleConnectionStatusChange(status);
|
|
4177
|
-
if (this.actualStatus === WEAVE_STORE_CONNECTION_STATUS.SWITCHING_ROOM && status === WEAVE_STORE_CONNECTION_STATUS.CONNECTED) this.instance.emitEvent("onRoomSwitchingEnd", { room: this.roomId });
|
|
4178
|
-
this.actualStatus = status;
|
|
4179
|
-
}
|
|
4175
|
+
this.handleConnectionStatusChange(status);
|
|
4180
4176
|
if (status === WEAVE_STORE_CONNECTION_STATUS.CONNECTED && !this.started) {
|
|
4181
4177
|
this.loadRoomInitialData();
|
|
4182
4178
|
this.started = true;
|
|
@@ -4190,23 +4186,9 @@ var WeaveStoreAzureWebPubsub = class extends WeaveStore {
|
|
|
4190
4186
|
if (this.provider) return this.provider.getClientId();
|
|
4191
4187
|
return null;
|
|
4192
4188
|
}
|
|
4193
|
-
async switchToRoom(roomId, roomData) {
|
|
4194
|
-
this.instance.emitEvent("onRoomSwitchingStart", { room: roomId });
|
|
4195
|
-
this.actualStatus = WEAVE_STORE_CONNECTION_STATUS.SWITCHING_ROOM;
|
|
4196
|
-
this.disconnect();
|
|
4197
|
-
this.restartDocument();
|
|
4198
|
-
await this.instance.switchRoom();
|
|
4199
|
-
this.roomId = roomId;
|
|
4200
|
-
this.initialRoomData = roomData;
|
|
4201
|
-
this.started = false;
|
|
4202
|
-
this.init();
|
|
4203
|
-
this.setup();
|
|
4204
|
-
this.connect();
|
|
4205
|
-
}
|
|
4206
4189
|
async connect(extraParams) {
|
|
4207
4190
|
const { fetchClient } = this.azureWebPubsubOptions;
|
|
4208
4191
|
this.provider.setFetchClient(fetchClient ?? window.fetch);
|
|
4209
|
-
this.instance.emitEvent("onStoreRoomChanged", { room: this.roomId });
|
|
4210
4192
|
await this.provider.connect(extraParams);
|
|
4211
4193
|
}
|
|
4212
4194
|
disconnect() {
|
package/dist/server.d.ts
CHANGED
|
@@ -42,18 +42,16 @@ declare class WeaveStoreAzureWebPubsub extends WeaveStore {
|
|
|
42
42
|
private roomId;
|
|
43
43
|
private started;
|
|
44
44
|
private initialRoomData;
|
|
45
|
-
private actualStatus;
|
|
46
45
|
protected provider: WeaveStoreAzureWebPubSubSyncClient;
|
|
47
46
|
protected name: string;
|
|
48
47
|
protected supportsUndoManager: boolean;
|
|
49
48
|
protected awarenessCallback: (changes: any) => void;
|
|
50
|
-
constructor(initialRoomData:
|
|
49
|
+
constructor(initialRoomData: Uint8Array | FetchInitialState | undefined, storeOptions: WeaveStoreOptions, azureWebPubsubOptions: Pick<WeaveStoreAzureWebPubsubOptions, "roomId" | "url"> & Partial<Omit<WeaveStoreAzureWebPubsubOptions, "roomId" | "url">>);
|
|
51
50
|
setup(): void;
|
|
52
51
|
private loadRoomInitialData;
|
|
53
52
|
private init;
|
|
54
53
|
emitEvent<T>(name: string, payload?: T): void;
|
|
55
54
|
getClientId(): string | null;
|
|
56
|
-
switchToRoom(roomId: string, roomData: Uint8Array | FetchInitialState | undefined): Promise<void>;
|
|
57
55
|
connect(extraParams?: Record<string, string>): Promise<void>;
|
|
58
56
|
disconnect(): void;
|
|
59
57
|
simulateWebsocketError(): void;
|
|
@@ -145,7 +143,6 @@ type FetchClient = (input: string | URL | globalThis.Request, init?: RequestInit
|
|
|
145
143
|
type FetchInitialState = (doc: Doc) => void;
|
|
146
144
|
type PersistRoom = (roomId: string, actualState: Uint8Array<ArrayBufferLike>) => Promise<void>;
|
|
147
145
|
type FetchRoom = (roomId: string) => Promise<Uint8Array | null>;
|
|
148
|
-
type WeaveRoomData = Uint8Array | FetchInitialState;
|
|
149
146
|
type WeaveStoreAzureWebPubsubEvents = {
|
|
150
147
|
onConnect: WeaveStoreAzureWebPubsubOnConnectEvent;
|
|
151
148
|
onConnected: WeaveStoreAzureWebPubsubOnConnectedEvent;
|
|
@@ -422,8 +419,7 @@ declare enum MqttDisconnectReasonCode {
|
|
|
422
419
|
* Description: The Server does not support Wildcard Subscriptions; the subscription is not accepted.
|
|
423
420
|
*/
|
|
424
421
|
WildcardSubscriptionsNotSupported = 162,
|
|
425
|
-
}
|
|
426
|
-
//#endregion
|
|
422
|
+
} //#endregion
|
|
427
423
|
//#region src/server/event-handler/enum/mqtt-error-codes/mqtt-v311-connect-return-code.d.ts
|
|
428
424
|
/**
|
|
429
425
|
* MQTT 3.1.1 Connect Return Codes.
|
|
@@ -1138,4 +1134,4 @@ declare class WeaveAzureWebPubsubServer extends Emittery {
|
|
|
1138
1134
|
}
|
|
1139
1135
|
|
|
1140
1136
|
//#endregion
|
|
1141
|
-
export { Certificate, ConnectErrorResponse, ConnectRequest, ConnectResponse, ConnectResponseHandler, ConnectedRequest, ConnectionContext, DisconnectedRequest, FetchClient, FetchInitialState, FetchRoom, Message, MessageData, MessageDataType, MessageHandler, MessageType, MqttConnectErrorResponse, MqttConnectErrorResponseProperties, MqttConnectProperties, MqttConnectRequest, MqttConnectResponse, MqttConnectResponseProperties, MqttConnectionContextProperties, MqttDisconnectPacket, MqttDisconnectReasonCode, MqttDisconnectedProperties, MqttDisconnectedRequest, MqttUserProperty, MqttV311ConnectReturnCode, MqttV500ConnectReasonCode, PersistRoom, UserEventRequest, UserEventResponseHandler, WEAVE_STORE_AZURE_WEB_PUBSUB, WEAVE_STORE_AZURE_WEB_PUBSUB_CONNECTION_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_DESTROY_ROOM_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_CLIENT_DEFAULT_OPTIONS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_HOST_DEFAULT_OPTIONS, WEAVE_STORE_HORIZONTAL_SYNC_HANDLER_CLIENT_TYPE, WeaveAzureWebPubsubServer, WeaveAzureWebPubsubSyncHandlerOptions,
|
|
1137
|
+
export { Certificate, ConnectErrorResponse, ConnectRequest, ConnectResponse, ConnectResponseHandler, ConnectedRequest, ConnectionContext, DisconnectedRequest, FetchClient, FetchInitialState, FetchRoom, Message, MessageData, MessageDataType, MessageHandler, MessageType, MqttConnectErrorResponse, MqttConnectErrorResponseProperties, MqttConnectProperties, MqttConnectRequest, MqttConnectResponse, MqttConnectResponseProperties, MqttConnectionContextProperties, MqttDisconnectPacket, MqttDisconnectReasonCode, MqttDisconnectedProperties, MqttDisconnectedRequest, MqttUserProperty, MqttV311ConnectReturnCode, MqttV500ConnectReasonCode, PersistRoom, UserEventRequest, UserEventResponseHandler, WEAVE_STORE_AZURE_WEB_PUBSUB, WEAVE_STORE_AZURE_WEB_PUBSUB_CONNECTION_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_DESTROY_ROOM_STATUS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_CLIENT_DEFAULT_OPTIONS, WEAVE_STORE_AZURE_WEB_PUBSUB_SYNC_HOST_DEFAULT_OPTIONS, WEAVE_STORE_HORIZONTAL_SYNC_HANDLER_CLIENT_TYPE, WeaveAzureWebPubsubServer, WeaveAzureWebPubsubSyncHandlerOptions, WeaveStoreAzureWebPubSubSyncClientConnectionStatus, WeaveStoreAzureWebPubSubSyncClientConnectionStatusKeys, WeaveStoreAzureWebPubSubSyncClientOptions, WeaveStoreAzureWebPubSubSyncHost, WeaveStoreAzureWebPubSubSyncHostClientConnectOptions, WeaveStoreAzureWebPubsubConfig, WeaveStoreAzureWebPubsubEvents, WeaveStoreAzureWebPubsubOnConnectEvent, WeaveStoreAzureWebPubsubOnConnectedEvent, WeaveStoreAzureWebPubsubOnDisconnectedEvent, WeaveStoreAzureWebPubsubOnStoreFetchConnectionUrlEvent, WeaveStoreAzureWebPubsubOnWebsocketCloseEvent, WeaveStoreAzureWebPubsubOnWebsocketErrorEvent, WeaveStoreAzureWebPubsubOnWebsocketJoinGroupEvent, WeaveStoreAzureWebPubsubOnWebsocketMessageEvent, WeaveStoreAzureWebPubsubOnWebsocketOpenEvent, WeaveStoreAzureWebPubsubOnWebsocketReconnectEvent, WeaveStoreAzureWebPubsubOptions, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatus, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatusKeys, WeaveStoreAzureWebPubsubSyncHostOptions, WebPubSubClientProtocol, WebPubSubEventHandler, WebPubSubEventHandlerOptions };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inditextech/weave-store-azure-web-pubsub",
|
|
3
|
-
"version": "3.6.0
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@azure/identity": "4.10.2",
|
|
59
59
|
"@azure/web-pubsub": "1.2.0",
|
|
60
|
-
"@inditextech/weave-types": "3.6.0
|
|
61
|
-
"@inditextech/weave-sdk": "3.6.0
|
|
60
|
+
"@inditextech/weave-types": "3.6.0",
|
|
61
|
+
"@inditextech/weave-sdk": "3.6.0",
|
|
62
62
|
"@syncedstore/core": "0.6.0",
|
|
63
63
|
"buffer": "6.0.3",
|
|
64
64
|
"reconnecting-websocket": "4.4.0",
|