From ce4eb8054d891ce06b9fdd39f6eb139b00ed3651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 24 Feb 2026 18:53:07 -0500 Subject: [PATCH] add interaction listeners before connecting --- public/src/sockets.js | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/public/src/sockets.js b/public/src/sockets.js index a08e2f7319..94a615d31f 100644 --- a/public/src/sockets.js +++ b/public/src/sockets.js @@ -4,6 +4,7 @@ const io = require('socket.io-client'); const $ = require('jquery'); const { alert } = require('alerts'); +const hooks = require('hooks'); app = window.app || {}; @@ -41,15 +42,22 @@ app = window.app || {}; }]); }); }; + let hasInteracted = false; - let hooks; - require(['hooks'], function (_hooks) { - hooks = _hooks; - if (parseInt(app.user.uid, 10) >= 0) { + function onInteraction() { + if (!hasInteracted && parseInt(app.user.uid, 10) >= 0) { + hasInteracted = true; addHandlers(); socket.connect(); + document.removeEventListener('mousemove', onInteraction); + document.removeEventListener('keydown', onInteraction); + document.removeEventListener('touchstart', onInteraction); } - }); + } + document.addEventListener('mousemove', onInteraction); + document.addEventListener('keydown', onInteraction); + document.addEventListener('touchstart', onInteraction); + window.app.reconnect = (showAlert = false) => { if (socket.connected || parseInt(app.user.uid, 10) < 0) { @@ -109,11 +117,7 @@ app = window.app || {}; logout(); }); }); - socket.on('event:alert', function (params) { - require(['alerts'], function (alerts) { - alerts.alert(params); - }); - }); + socket.on('event:alert', params => alert(params)); socket.on('event:deprecated_call', (data) => { console.warn('[socket.io]', data.eventName, 'is now deprecated', data.replacement ? `in favour of ${data.replacement}` : 'with no alternative planned.'); });