Thomas Lynch 3 years ago
parent 9491d60aec
commit 9e7c20cf81
  1. 15
      gulp/res/js/live.js
  2. 5
      socketio.js

@ -1,6 +1,7 @@
let liveEnabled = localStorage.getItem('live') == 'true';
let scrollEnabled = localStorage.getItem('scroll') == 'true';
let socket;
let socketPingInterval;
let forceUpdate;
window.addEventListener('settingsReady', function(event) { //after domcontentloaded
@ -181,10 +182,19 @@ window.addEventListener('settingsReady', function(event) { //after domcontentloa
reconnectionDelay: 3000,
reconnectionDelayMax: 15000,
});
const socketPing = () => {
const pingStart = Date.now();
socket.volatile.emit('ping', () => {
const latency = Date.now() - pingStart;
updateLive(`Connected for live posts (${latency}ms)`, '#0de600');
});
}
socket.on('connect', async () => {
console.log('socket connected');
await fetchNewPosts();
socket.emit('room', room);
clearInterval(socketPingInterval);
socketPingInterval = setInterval(socketPing, 10000);
});
socket.on('message', (message) => {
console.log(message, room);
@ -192,11 +202,6 @@ window.addEventListener('settingsReady', function(event) { //after domcontentloa
updateLive('Connected for live posts', '#0de600');
}
});
socket.on('pong', (latency) => {
if (socket.connected) {
updateLive(`Connected for live posts (${latency}ms)`, '#0de600');
}
});
socket.on('reconnect_attempt', () => {
updateLive('Attempting to reconnect...', 'yellow');
});

@ -26,6 +26,11 @@ module.exports = {
startRooms: () => {
module.exports.io.on('connection', socket => {
socket.on('ping', cb => {
if (typeof cb === "function") {
cb();
}
});
socket.on('room', room => {
const roomMatch = room.match(roomRegex);
if (roomMatch && roomMatch.groups) {

Loading…
Cancel
Save