@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 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: WeaveRoomData | undefined, storeOptions: WeaveStoreOptions, azureWebPubsubOptions: Pick<WeaveStoreAzureWebPubsubOptions, "roomId" | "url"> & Partial<Omit<WeaveStoreAzureWebPubsubOptions, "roomId" | "url">>);
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, WeaveRoomData, WeaveStoreAzureWebPubSubSyncClientConnectionStatus, WeaveStoreAzureWebPubSubSyncClientConnectionStatusKeys, WeaveStoreAzureWebPubSubSyncClientOptions, WeaveStoreAzureWebPubSubSyncHostClientConnectOptions, WeaveStoreAzureWebPubsub, WeaveStoreAzureWebPubsubConfig, WeaveStoreAzureWebPubsubEvents, WeaveStoreAzureWebPubsubOnConnectEvent, WeaveStoreAzureWebPubsubOnConnectedEvent, WeaveStoreAzureWebPubsubOnDisconnectedEvent, WeaveStoreAzureWebPubsubOnStoreFetchConnectionUrlEvent, WeaveStoreAzureWebPubsubOnWebsocketCloseEvent, WeaveStoreAzureWebPubsubOnWebsocketErrorEvent, WeaveStoreAzureWebPubsubOnWebsocketJoinGroupEvent, WeaveStoreAzureWebPubsubOnWebsocketMessageEvent, WeaveStoreAzureWebPubsubOnWebsocketOpenEvent, WeaveStoreAzureWebPubsubOnWebsocketReconnectEvent, WeaveStoreAzureWebPubsubOptions, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatus, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatusKeys, WeaveStoreAzureWebPubsubSyncHostOptions };
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
- const patchedUrl = url.replace("[roomId]", this.roomId);
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
- if (this.actualStatus !== WEAVE_STORE_CONNECTION_STATUS.SWITCHING_ROOM || this.actualStatus === WEAVE_STORE_CONNECTION_STATUS.SWITCHING_ROOM && status === WEAVE_STORE_CONNECTION_STATUS.CONNECTED) {
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: WeaveRoomData | undefined, storeOptions: WeaveStoreOptions, azureWebPubsubOptions: Pick<WeaveStoreAzureWebPubsubOptions, "roomId" | "url"> & Partial<Omit<WeaveStoreAzureWebPubsubOptions, "roomId" | "url">>);
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, WeaveRoomData, WeaveStoreAzureWebPubSubSyncClientConnectionStatus, WeaveStoreAzureWebPubSubSyncClientConnectionStatusKeys, WeaveStoreAzureWebPubSubSyncClientOptions, WeaveStoreAzureWebPubSubSyncHost, WeaveStoreAzureWebPubSubSyncHostClientConnectOptions, WeaveStoreAzureWebPubsubConfig, WeaveStoreAzureWebPubsubEvents, WeaveStoreAzureWebPubsubOnConnectEvent, WeaveStoreAzureWebPubsubOnConnectedEvent, WeaveStoreAzureWebPubsubOnDisconnectedEvent, WeaveStoreAzureWebPubsubOnStoreFetchConnectionUrlEvent, WeaveStoreAzureWebPubsubOnWebsocketCloseEvent, WeaveStoreAzureWebPubsubOnWebsocketErrorEvent, WeaveStoreAzureWebPubsubOnWebsocketJoinGroupEvent, WeaveStoreAzureWebPubsubOnWebsocketMessageEvent, WeaveStoreAzureWebPubsubOnWebsocketOpenEvent, WeaveStoreAzureWebPubsubOnWebsocketReconnectEvent, WeaveStoreAzureWebPubsubOptions, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatus, WeaveStoreAzureWebPubsubSyncHandlerDestroyRoomStatusKeys, WeaveStoreAzureWebPubsubSyncHostOptions, WebPubSubClientProtocol, WebPubSubEventHandler, WebPubSubEventHandlerOptions };
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-SNAPSHOT.112.1",
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-SNAPSHOT.112.1",
61
- "@inditextech/weave-sdk": "3.6.0-SNAPSHOT.112.1",
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",