From 3b2a1227fb738fd4c37c73d751d42a24f451d796 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Sat, 29 Apr 2017 17:49:46 +0530 Subject: [PATCH] [minor] throttle doc_subscribed --- frappe/public/js/frappe/socketio_client.js | 19 ++++++++++--------- socketio.js | 1 + 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/frappe/public/js/frappe/socketio_client.js b/frappe/public/js/frappe/socketio_client.js index 8c7d206127..0b6f45a5b2 100644 --- a/frappe/public/js/frappe/socketio_client.js +++ b/frappe/public/js/frappe/socketio_client.js @@ -57,15 +57,6 @@ frappe.socket = { frappe.socket.setup_reconnect(); $(document).on('form-load form-rename', function(e, frm) { - if (frappe.flags.doc_subscribe) { - return; - } - - frappe.flags.doc_subscribe = true; - - // throttle to 1 per sec - setTimeout(function() { frappe.flags.doc_subscribe = false }, 1000); - if (frm.is_new()) { return; } @@ -136,6 +127,16 @@ frappe.socket = { frappe.socket.socket.emit('task_unsubscribe', task_id); }, doc_subscribe: function(doctype, docname) { + if (frappe.flags.doc_subscribe) { + console.log('throttled'); + return; + } + + frappe.flags.doc_subscribe = true; + + // throttle to 1 per sec + setTimeout(function() { frappe.flags.doc_subscribe = false }, 1000); + frappe.socket.socket.emit('doc_subscribe', doctype, docname); frappe.socket.open_docs.push({doctype: doctype, docname: docname}); }, diff --git a/socketio.js b/socketio.js index db7daa0cb6..16fb642a80 100644 --- a/socketio.js +++ b/socketio.js @@ -204,6 +204,7 @@ function get_url(socket, path) { function can_subscribe_doc(args) { if(!args) return; + if(!args.doctype || !args.docname) return; request.get(get_url(args.socket, '/api/method/frappe.async.can_subscribe_doc')) .type('form') .query({