From 2466706098c93b2263d2cd4266f08bc5f18c0ed5 Mon Sep 17 00:00:00 2001 From: Aleksandr Volokhov Date: Wed, 29 May 2024 18:52:54 +0300 Subject: [PATCH 01/18] fix ws --- src/utils/WebSocket.js | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index e35fdb5..49c3ecd 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -1,21 +1,29 @@ import { baseUrl } from './API/config.js'; export class WebSocketManager { - constructor(responsehandler) { + constructor(responseHandler) { + this.responseHandler = responseHandler; + this.createWebSocket(); + } + + createWebSocket() { if (baseUrl === 'chatme.site/api/v1') { this.socket = new WebSocket(`wss://${baseUrl}/ws/sendMessage`); } else { this.socket = new WebSocket(`ws://${baseUrl}/sendMessage`); } - this.responseHandler = responsehandler; this.connect(); } connect() { - this.socket.onopen; + this.socket.onopen = () => { + console.log('WebSocket connection opened.'); + }; + this.socket.onerror = (error) => { console.error('WebSocket error:', error); }; + // Добавляем прослушивание входящих сообщений this.socket.onmessage = (event) => { const data = JSON.parse(event.data); @@ -23,15 +31,15 @@ export class WebSocketManager { this.responseHandler(data); } }; - this.socket.onclose = function (event) { + + this.socket.onclose = (event) => { if (!event.wasClean) { - if (baseUrl === 'chatme.site/api/v1') { - this.socket = new WebSocket( - `wss://${baseUrl}/ws/sendMessage`, - ); - } else { - this.socket = new WebSocket(`ws://${baseUrl}/sendMessage`); - } + console.warn( + 'WebSocket connection closed unexpectedly, reconnecting...', + ); + this.createWebSocket(); + } else { + console.log('WebSocket connection closed cleanly.'); } }; } @@ -40,9 +48,10 @@ export class WebSocketManager { if (this.socket.readyState === WebSocket.OPEN) { this.socket.send(JSON.stringify(data)); } else { - console.error('WebSocket error.'); + console.error('WebSocket is not open.'); } } + close() { if (this.socket) { this.socket.close(); From eee4b76ce471600f8b7d15a5357ca6f3ddfc2e4f Mon Sep 17 00:00:00 2001 From: Aleksandr Volokhov Date: Wed, 29 May 2024 19:01:21 +0300 Subject: [PATCH 02/18] fix ws --- src/utils/WebSocket.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index 49c3ecd..d755651 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -3,6 +3,9 @@ import { baseUrl } from './API/config.js'; export class WebSocketManager { constructor(responseHandler) { this.responseHandler = responseHandler; + this.reconnectAttempts = 0; + this.maxReconnectAttempts = 5; // Максимальное количество попыток переподключения + this.reconnectDelay = 1000; // Задержка перед переподключением в миллисекундах this.createWebSocket(); } @@ -18,6 +21,7 @@ export class WebSocketManager { connect() { this.socket.onopen = () => { console.log('WebSocket connection opened.'); + this.reconnectAttempts = 0; // Сбросить количество попыток переподключения }; this.socket.onerror = (error) => { @@ -37,13 +41,24 @@ export class WebSocketManager { console.warn( 'WebSocket connection closed unexpectedly, reconnecting...', ); - this.createWebSocket(); + this.reconnect(); } else { console.log('WebSocket connection closed cleanly.'); } }; } + reconnect() { + if (this.reconnectAttempts < this.maxReconnectAttempts) { + setTimeout(() => { + this.reconnectAttempts++; + this.createWebSocket(); + }, this.reconnectDelay); + } else { + console.error('Max reconnect attempts reached. Giving up.'); + } + } + sendRequest(data) { if (this.socket.readyState === WebSocket.OPEN) { this.socket.send(JSON.stringify(data)); From ccd84c1ad9471722eb445bcceef9a3290f7778dd Mon Sep 17 00:00:00 2001 From: Aleksandr Volokhov Date: Wed, 29 May 2024 19:14:53 +0300 Subject: [PATCH 03/18] fix ws --- src/utils/WebSocket.js | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index d755651..ff07971 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -3,9 +3,6 @@ import { baseUrl } from './API/config.js'; export class WebSocketManager { constructor(responseHandler) { this.responseHandler = responseHandler; - this.reconnectAttempts = 0; - this.maxReconnectAttempts = 5; // Максимальное количество попыток переподключения - this.reconnectDelay = 1000; // Задержка перед переподключением в миллисекундах this.createWebSocket(); } @@ -21,7 +18,6 @@ export class WebSocketManager { connect() { this.socket.onopen = () => { console.log('WebSocket connection opened.'); - this.reconnectAttempts = 0; // Сбросить количество попыток переподключения }; this.socket.onerror = (error) => { @@ -41,24 +37,15 @@ export class WebSocketManager { console.warn( 'WebSocket connection closed unexpectedly, reconnecting...', ); - this.reconnect(); + setTimeout(() => { + this.createWebSocket(); + }, 1000); // Запуск через 1 секунду (1000 миллисекунд) } else { console.log('WebSocket connection closed cleanly.'); } }; } - reconnect() { - if (this.reconnectAttempts < this.maxReconnectAttempts) { - setTimeout(() => { - this.reconnectAttempts++; - this.createWebSocket(); - }, this.reconnectDelay); - } else { - console.error('Max reconnect attempts reached. Giving up.'); - } - } - sendRequest(data) { if (this.socket.readyState === WebSocket.OPEN) { this.socket.send(JSON.stringify(data)); From 2d8a13c104945961c52227fadf17ab1c622e158a Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 02:03:29 +0300 Subject: [PATCH 04/18] fix ws --- src/utils/WebSocket.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index ff07971..68c3a99 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -39,7 +39,7 @@ export class WebSocketManager { ); setTimeout(() => { this.createWebSocket(); - }, 1000); // Запуск через 1 секунду (1000 миллисекунд) + }, 3500); } else { console.log('WebSocket connection closed cleanly.'); } From 1d11d97d5d093f9f1b51a2f72b29c9d502e36631 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 02:13:54 +0300 Subject: [PATCH 05/18] fix ws --- src/utils/WebSocket.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index 68c3a99..8d163cd 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -8,7 +8,11 @@ export class WebSocketManager { createWebSocket() { if (baseUrl === 'chatme.site/api/v1') { - this.socket = new WebSocket(`wss://${baseUrl}/ws/sendMessage`); + try { + this.socket = new WebSocket(`wss://${baseUrl}/ws/sendMessage`); + } catch (err) { + console.error(err); + } } else { this.socket = new WebSocket(`ws://${baseUrl}/sendMessage`); } @@ -39,7 +43,7 @@ export class WebSocketManager { ); setTimeout(() => { this.createWebSocket(); - }, 3500); + }, 5000); } else { console.log('WebSocket connection closed cleanly.'); } From e3dd4b7da563057c1215082870a42148ed262ddf Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 02:18:28 +0300 Subject: [PATCH 06/18] fix ws --- src/utils/WebSocket.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index 8d163cd..9358ff6 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -54,7 +54,10 @@ export class WebSocketManager { if (this.socket.readyState === WebSocket.OPEN) { this.socket.send(JSON.stringify(data)); } else { - console.error('WebSocket is not open.'); + console.error('WebSocket is not open. Please, wait...'); + setTimeout(() => { + this.socket.send(JSON.stringify(data)); + }, 5000); } } From a851ecace793abdfa3b8f712b230068e64c3fe29 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 02:26:09 +0300 Subject: [PATCH 07/18] fix ws --- src/utils/WebSocket.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index 9358ff6..bb9a681 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -54,7 +54,7 @@ export class WebSocketManager { if (this.socket.readyState === WebSocket.OPEN) { this.socket.send(JSON.stringify(data)); } else { - console.error('WebSocket is not open. Please, wait...'); + console.warn('WebSocket is not open. Please, wait...'); setTimeout(() => { this.socket.send(JSON.stringify(data)); }, 5000); From 0a30533de7850c2dd1085fff1385e2d653ee55e9 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 02:51:47 +0300 Subject: [PATCH 08/18] fix ws --- src/utils/WebSocket.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index bb9a681..e558a2b 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -8,11 +8,7 @@ export class WebSocketManager { createWebSocket() { if (baseUrl === 'chatme.site/api/v1') { - try { - this.socket = new WebSocket(`wss://${baseUrl}/ws/sendMessage`); - } catch (err) { - console.error(err); - } + this.socket = new WebSocket(`wss://${baseUrl}/ws/sendMessage`); } else { this.socket = new WebSocket(`ws://${baseUrl}/sendMessage`); } @@ -55,9 +51,10 @@ export class WebSocketManager { this.socket.send(JSON.stringify(data)); } else { console.warn('WebSocket is not open. Please, wait...'); - setTimeout(() => { - this.socket.send(JSON.stringify(data)); - }, 5000); + while (this.socket.readyState !== WebSocket.OPEN) { + /* empty */ + } + this.socket.send(JSON.stringify(data)); } } From 79356ef21d27b479be2ea89d29902c2619e6a05c Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 02:53:21 +0300 Subject: [PATCH 09/18] fix ws --- src/utils/WebSocket.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index e558a2b..d6b6c84 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -51,9 +51,6 @@ export class WebSocketManager { this.socket.send(JSON.stringify(data)); } else { console.warn('WebSocket is not open. Please, wait...'); - while (this.socket.readyState !== WebSocket.OPEN) { - /* empty */ - } this.socket.send(JSON.stringify(data)); } } From 80ab35ee8e1c90edc3aa4b5ec9168be4b532678c Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 03:03:37 +0300 Subject: [PATCH 10/18] fix ws --- src/utils/WebSocket.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index d6b6c84..c3f9aee 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -50,8 +50,7 @@ export class WebSocketManager { if (this.socket.readyState === WebSocket.OPEN) { this.socket.send(JSON.stringify(data)); } else { - console.warn('WebSocket is not open. Please, wait...'); - this.socket.send(JSON.stringify(data)); + console.error('WebSocket is not open.'); } } From 01fbe9d00e5927585a193321edf7528b6d69ac06 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 03:16:31 +0300 Subject: [PATCH 11/18] fix ws --- src/utils/WebSocket.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/WebSocket.js b/src/utils/WebSocket.js index c3f9aee..01f4780 100644 --- a/src/utils/WebSocket.js +++ b/src/utils/WebSocket.js @@ -39,7 +39,7 @@ export class WebSocketManager { ); setTimeout(() => { this.createWebSocket(); - }, 5000); + }, 3000); } else { console.log('WebSocket connection closed cleanly.'); } From 89fac8ce56e147394817209c5603f41277eb8662 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 15:16:08 +0300 Subject: [PATCH 12/18] fix sw --- src/serviceWorker.js | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/serviceWorker.js b/src/serviceWorker.js index 330c309..837c471 100644 --- a/src/serviceWorker.js +++ b/src/serviceWorker.js @@ -30,18 +30,4 @@ self.addEventListener('fetch', (event) => { ); }); -self.addEventListener('activate', (event) => { - const cacheWhitelist = [CACHE_NAME]; - - event.waitUntil( - caches.keys().then((cacheNames) => { - return Promise.all( - cacheNames.map((cacheName) => { - if (cacheWhitelist.indexOf(cacheName) === -1) { - return caches.delete(cacheName); - } - }), - ); - }), - ); -}); +self.addEventListener('activate', () => {}); From 56168c4c1c89b5a4357583a6370d6fc95f47c5cc Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 15:17:52 +0300 Subject: [PATCH 13/18] fix sw --- src/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.js b/src/index.js index 09e0270..bf792a7 100644 --- a/src/index.js +++ b/src/index.js @@ -18,6 +18,7 @@ function registerServiceWorker() { navigator.serviceWorker .getRegistrations() .then(function (registrations) { + console.log(registrations); if (registrations.length === 0) { return navigator.serviceWorker.register( new URL('./serviceWorker.js', import.meta.url), From e406be4731cca15decc160aa167b5127c64f3894 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 16:23:32 +0300 Subject: [PATCH 14/18] fix sw --- src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index bf792a7..21eef4a 100644 --- a/src/index.js +++ b/src/index.js @@ -19,12 +19,12 @@ function registerServiceWorker() { .getRegistrations() .then(function (registrations) { console.log(registrations); - if (registrations.length === 0) { + if (registrations.length === 1) { return navigator.serviceWorker.register( new URL('./serviceWorker.js', import.meta.url), ); } else { - const serviceWorker = registrations[0]; + const serviceWorker = registrations[1]; if (!serviceWorker.active) { return serviceWorker.activate(); } From ddc7407db205b911c189f9ec4f6f9a27b32fe0f7 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 17:41:04 +0300 Subject: [PATCH 15/18] fix sw --- src/index.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/index.js b/src/index.js index 21eef4a..0e3e9cc 100644 --- a/src/index.js +++ b/src/index.js @@ -24,10 +24,11 @@ function registerServiceWorker() { new URL('./serviceWorker.js', import.meta.url), ); } else { - const serviceWorker = registrations[1]; - if (!serviceWorker.active) { - return serviceWorker.activate(); - } + registrations.forEach((sw) => { + if (!sw.active) { + return sw.activate(); + } + }); } }) .catch(function (err) { From cec4f5c724e9d14439b5ba56a761d91f9a1fb760 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 30 May 2024 17:47:37 +0300 Subject: [PATCH 16/18] fix sw --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 0e3e9cc..8797f0e 100644 --- a/src/index.js +++ b/src/index.js @@ -19,7 +19,7 @@ function registerServiceWorker() { .getRegistrations() .then(function (registrations) { console.log(registrations); - if (registrations.length === 1) { + if (registrations.length === 0 || registrations.length === 1) { return navigator.serviceWorker.register( new URL('./serviceWorker.js', import.meta.url), ); From fbbbc990dd7bb3ce85974497be7da0f39c9770b7 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 31 May 2024 20:20:48 +0300 Subject: [PATCH 17/18] fix registrations --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 8797f0e..b5256f0 100644 --- a/src/index.js +++ b/src/index.js @@ -19,7 +19,7 @@ function registerServiceWorker() { .getRegistrations() .then(function (registrations) { console.log(registrations); - if (registrations.length === 0 || registrations.length === 1) { + if (registrations.length < 2) { return navigator.serviceWorker.register( new URL('./serviceWorker.js', import.meta.url), ); From 5a42cf8bf34ff1d091d3d689e3335316b95cae9a Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 31 May 2024 20:23:03 +0300 Subject: [PATCH 18/18] fix registrations --- src/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/index.js b/src/index.js index b5256f0..9f470a4 100644 --- a/src/index.js +++ b/src/index.js @@ -18,7 +18,6 @@ function registerServiceWorker() { navigator.serviceWorker .getRegistrations() .then(function (registrations) { - console.log(registrations); if (registrations.length < 2) { return navigator.serviceWorker.register( new URL('./serviceWorker.js', import.meta.url),