From 5c8effe7a1c63550b557478bfdacd5d0a4fef12b Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Sun, 12 Apr 2020 19:30:43 +0530 Subject: [PATCH] fix: Retry to join chat room till server starts --- socketio.js | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/socketio.js b/socketio.js index 6e6a841acc..2cdef127ed 100644 --- a/socketio.js +++ b/socketio.js @@ -72,22 +72,27 @@ io.on('connection', function (socket) { }); // end frappe.chat - request.get(get_url(socket, '/api/method/frappe.realtime.get_user_info')) - .type('form') - .query({ - sid: sid - }) - .end(function (err, res) { - if (err) { - console.log(err); - return; - } - if (res.status == 200) { - var room = get_user_room(socket, res.body.message.user); + let join_chat_room = () => { + request.get(get_url(socket, '/api/method/frappe.realtime.get_user_info')) + .type('form') + .query({ + sid: sid + }) + .then(res => { + const room = get_user_room(socket, res.body.message.user); socket.join(room); socket.join(get_site_room(socket)); - } - }); + }) + .catch(e => { + if (e.code === 'ECONNREFUSED') { + // retry after 1s + return setTimeout(join_chat_room, 1000); + } + log(e.code); + }); + }; + + join_chat_room(); socket.on('disconnect', function () { delete socket.files;