pptx-react-viewer 2.19.4 → 2.19.5

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.
Files changed (50) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{chunk-PY4526QN.mjs → chunk-3WR2D4AJ.mjs} +1 -1
  3. package/dist/chunk-3WR2D4AJ.mjs.br +0 -0
  4. package/dist/chunk-3WR2D4AJ.mjs.gz +0 -0
  5. package/dist/{chunk-V7GPBZKH.js → chunk-C4LQ7ZWL.js} +54 -54
  6. package/dist/chunk-C4LQ7ZWL.js.br +0 -0
  7. package/dist/chunk-C4LQ7ZWL.js.gz +0 -0
  8. package/dist/{chunk-FBXLCEK7.js → chunk-FDZNVVQ7.js} +1 -1
  9. package/dist/chunk-FDZNVVQ7.js.br +0 -0
  10. package/dist/chunk-FDZNVVQ7.js.gz +0 -0
  11. package/dist/{chunk-6GRIVSUK.mjs → chunk-GNSYA6W3.mjs} +2 -2
  12. package/dist/chunk-GNSYA6W3.mjs.br +0 -0
  13. package/dist/chunk-GNSYA6W3.mjs.gz +0 -0
  14. package/dist/index.js +11 -11
  15. package/dist/index.js.br +0 -0
  16. package/dist/index.js.gz +0 -0
  17. package/dist/index.mjs +2 -2
  18. package/dist/index.mjs.br +0 -0
  19. package/dist/index.mjs.gz +0 -0
  20. package/dist/internals.js +73 -73
  21. package/dist/internals.js.br +0 -0
  22. package/dist/internals.js.gz +0 -0
  23. package/dist/internals.mjs +1 -1
  24. package/dist/internals.mjs.br +0 -0
  25. package/dist/internals.mjs.gz +0 -0
  26. package/dist/viewer/index.js +14 -14
  27. package/dist/viewer/index.js.br +0 -0
  28. package/dist/viewer/index.js.gz +0 -0
  29. package/dist/viewer/index.mjs +2 -2
  30. package/dist/viewer/index.mjs.br +0 -0
  31. package/dist/viewer/index.mjs.gz +0 -0
  32. package/dist/{y-websocket-DCTJ76B7.mjs → y-websocket-HUEA7LH7.mjs} +27 -6
  33. package/dist/y-websocket-HUEA7LH7.mjs.br +0 -0
  34. package/dist/y-websocket-HUEA7LH7.mjs.gz +0 -0
  35. package/dist/{y-websocket-DQLOWGV6.js → y-websocket-YRPS7AFF.js} +27 -6
  36. package/dist/y-websocket-YRPS7AFF.js.br +0 -0
  37. package/dist/y-websocket-YRPS7AFF.js.gz +0 -0
  38. package/package.json +3 -3
  39. package/dist/chunk-6GRIVSUK.mjs.br +0 -0
  40. package/dist/chunk-6GRIVSUK.mjs.gz +0 -0
  41. package/dist/chunk-FBXLCEK7.js.br +0 -0
  42. package/dist/chunk-FBXLCEK7.js.gz +0 -0
  43. package/dist/chunk-PY4526QN.mjs.br +0 -0
  44. package/dist/chunk-PY4526QN.mjs.gz +0 -0
  45. package/dist/chunk-V7GPBZKH.js.br +0 -0
  46. package/dist/chunk-V7GPBZKH.js.gz +0 -0
  47. package/dist/y-websocket-DCTJ76B7.mjs.br +0 -0
  48. package/dist/y-websocket-DCTJ76B7.mjs.gz +0 -0
  49. package/dist/y-websocket-DQLOWGV6.js.br +0 -0
  50. package/dist/y-websocket-DQLOWGV6.js.gz +0 -0
@@ -16,7 +16,7 @@ var readAuthMessage = (decoder, y, permissionDeniedHandler2) => {
16
16
  // ../../node_modules/.bun/lib0@0.2.117/node_modules/lib0/url.js
17
17
  var encodeQueryParams = (params) => chunkZYQT7I5C_js.map(params, (val, key) => `${encodeURIComponent(key)}=${encodeURIComponent(val)}`).join("&");
18
18
 
19
- // ../../node_modules/.bun/y-websocket@3.0.0+48ebd0cf55a3d4ab/node_modules/y-websocket/src/y-websocket.js
19
+ // ../../node_modules/.bun/y-websocket@3.1.0+48ebd0cf55a3d4ab/node_modules/y-websocket/src/y-websocket.js
20
20
  var messageSync = 0;
21
21
  var messageQueryAwareness = 3;
22
22
  var messageAwareness = 1;
@@ -76,10 +76,16 @@ var readMessage = (provider, buf, emitSynced) => {
76
76
  }
77
77
  return encoder;
78
78
  };
79
+ var defaultShouldReconnect = (event) => !(event.code >= 4400 && event.code < 4500);
79
80
  var closeWebsocketConnection = (provider, ws, event) => {
80
- if (ws === provider.ws) {
81
+ if (ws !== null && ws === provider.ws) {
81
82
  provider.emit("connection-close", [event, provider]);
82
83
  provider.ws = null;
84
+ ws.onmessage = null;
85
+ ws.onopen = null;
86
+ ws.onclose = null;
87
+ ws.onerror = () => {
88
+ };
83
89
  ws.close();
84
90
  provider.wsconnecting = false;
85
91
  if (provider.wsconnected) {
@@ -95,8 +101,12 @@ var closeWebsocketConnection = (provider, ws, event) => {
95
101
  provider.emit("status", [{
96
102
  status: "disconnected"
97
103
  }]);
98
- } else {
99
- provider.wsUnsuccessfulReconnects++;
104
+ }
105
+ provider.wsUnsuccessfulReconnects++;
106
+ let terminalClose = null;
107
+ if (event != null && !provider.shouldReconnect(event, provider)) {
108
+ provider.shouldConnect = false;
109
+ terminalClose = { code: event.code, reason: event.reason };
100
110
  }
101
111
  setTimeout(
102
112
  setupWS,
@@ -106,6 +116,9 @@ var closeWebsocketConnection = (provider, ws, event) => {
106
116
  ),
107
117
  provider
108
118
  );
119
+ if (terminalClose !== null) {
120
+ provider.emit("closed", [terminalClose, provider]);
121
+ }
109
122
  }
110
123
  };
111
124
  var setupWS = (provider) => {
@@ -117,6 +130,7 @@ var setupWS = (provider) => {
117
130
  provider.wsconnected = false;
118
131
  provider.synced = false;
119
132
  websocket.onmessage = (event) => {
133
+ if (provider.ws !== websocket) return;
120
134
  provider.wsLastMessageReceived = chunkZYQT7I5C_js.getUnixTime();
121
135
  const encoder = readMessage(provider, new Uint8Array(event.data), true);
122
136
  if (chunkZYQT7I5C_js.length(encoder) > 1) {
@@ -124,16 +138,17 @@ var setupWS = (provider) => {
124
138
  }
125
139
  };
126
140
  websocket.onerror = (event) => {
141
+ if (provider.ws !== websocket) return;
127
142
  provider.emit("connection-error", [event, provider]);
128
143
  };
129
144
  websocket.onclose = (event) => {
130
145
  closeWebsocketConnection(provider, websocket, event);
131
146
  };
132
147
  websocket.onopen = () => {
148
+ if (provider.ws !== websocket) return;
133
149
  provider.wsLastMessageReceived = chunkZYQT7I5C_js.getUnixTime();
134
150
  provider.wsconnecting = false;
135
151
  provider.wsconnected = true;
136
- provider.wsUnsuccessfulReconnects = 0;
137
152
  provider.emit("status", [{
138
153
  status: "connected"
139
154
  }]);
@@ -181,6 +196,7 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
181
196
  * @param {number} [opts.resyncInterval] Request server state every `resyncInterval` milliseconds
182
197
  * @param {number} [opts.maxBackoffTime] Maximum amount of time to wait before trying to reconnect (we try to reconnect using exponential backoff)
183
198
  * @param {boolean} [opts.disableBc] Disable cross-tab BroadcastChannel communication
199
+ * @param {(event: CloseEvent, provider: WebsocketProvider) => boolean} [opts.shouldReconnect] Decide whether to reconnect after the server closed the connection. By default, close codes in the 4400-4499 range are permanent - we stop reconnecting and emit a `closed` event. This is never called for connections that were closed locally (e.g. via `provider.disconnect()`).
184
200
  */
185
201
  constructor(serverUrl, roomname, doc, {
186
202
  connect = true,
@@ -190,7 +206,8 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
190
206
  WebSocketPolyfill = WebSocket,
191
207
  resyncInterval = -1,
192
208
  maxBackoffTime = 2500,
193
- disableBc = false
209
+ disableBc = false,
210
+ shouldReconnect = defaultShouldReconnect
194
211
  } = {}) {
195
212
  super();
196
213
  while (serverUrl[serverUrl.length - 1] === "/") {
@@ -199,6 +216,7 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
199
216
  this.serverUrl = serverUrl;
200
217
  this.bcChannel = serverUrl + "/" + roomname;
201
218
  this.maxBackoffTime = maxBackoffTime;
219
+ this.shouldReconnect = shouldReconnect;
202
220
  this.params = params;
203
221
  this.protocols = protocols;
204
222
  this.roomname = roomname;
@@ -293,6 +311,9 @@ var WebsocketProvider = class extends chunkZYQT7I5C_js.ObservableV2 {
293
311
  set synced(state) {
294
312
  if (this._synced !== state) {
295
313
  this._synced = state;
314
+ if (state) {
315
+ this.wsUnsuccessfulReconnects = 0;
316
+ }
296
317
  this.emit("synced", [state]);
297
318
  this.emit("sync", [state]);
298
319
  }
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-react-viewer",
3
- "version": "2.19.4",
3
+ "version": "2.19.5",
4
4
  "description": "React PowerPoint viewer and editor component: render, edit, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "editor",
@@ -93,7 +93,7 @@
93
93
  "typescript": "^7.0.2",
94
94
  "vitest": "^4.1.10",
95
95
  "y-webrtc": "^10.3.0",
96
- "y-websocket": "^3.0.0",
96
+ "y-websocket": "^3.1.0",
97
97
  "yjs": "^13.6.32"
98
98
  },
99
99
  "peerDependencies": {
@@ -121,7 +121,7 @@
121
121
  "optionalDependencies": {
122
122
  "three": "^0.185.1",
123
123
  "y-webrtc": "^10.3.0",
124
- "y-websocket": "^3.0.0",
124
+ "y-websocket": "^3.1.0",
125
125
  "yjs": "^13.6.32"
126
126
  }
127
127
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file