diff --git a/frappe/public/js/frappe/form/footer/timeline_item.html b/frappe/public/js/frappe/form/footer/timeline_item.html index 0d4b9e6cc4..729a51ed53 100644 --- a/frappe/public/js/frappe/form/footer/timeline_item.html +++ b/frappe/public/js/frappe/form/footer/timeline_item.html @@ -57,7 +57,7 @@ {% } %} " data-doctype="{%= data.doctype %}" data-name="{%= data.name %}"> - {{ data._liked_by.length }} + {{ (data._liked_by || []).length }}
diff --git a/socketio.js b/socketio.js index a92e080269..0e063a956a 100644 --- a/socketio.js +++ b/socketio.js @@ -201,16 +201,16 @@ function can_subscribe_doc(args) { .end(function(err, res) { if (!res) { console.log("No response for doc_subscribe"); - + } else if (res.status == 403) { return; - + } else if (err) { console.log(err); - + } else if (res.status == 200) { args.callback(err, res); - + } else { console.log("Something went wrong", err, res); } @@ -226,8 +226,13 @@ function send_viewers(args) { // open doc room var room = get_open_doc_room(args.socket, args.doctype, args.docname); + var socketio_room = io.sockets.adapter.rooms[room] || {}; + + // for compatibility with both v1.3.7 and 1.4.4 + var clients_dict = ("sockets" in socketio_room) ? socketio_room.sockets : socketio_room; + // socket ids connected to this room - var clients = Object.keys(io.sockets.adapter.rooms[room] || {}); + var clients = Object.keys(clients_dict || {}); var viewers = []; for (var i in io.sockets.sockets) {