diff --git a/pandora/websocket/worker.py b/pandora/websocket/worker.py index 1a0e633d..9a3d7bd4 100644 --- a/pandora/websocket/worker.py +++ b/pandora/websocket/worker.py @@ -24,7 +24,7 @@ class Worker(ConsumerMixin): def process_task(self, body, message): try: - if body['task'] == 'trigger_event': + if isinstance(body, dict) and body.get('task') == 'trigger_event': daemon.trigger_event(*body['args']) except: logger.error('faild to trigger event %s', body, exc_info=True) diff --git a/static/js/utils.js b/static/js/utils.js index a94bed6c..574e4a87 100644 --- a/static/js/utils.js +++ b/static/js/utils.js @@ -2659,8 +2659,9 @@ pandora.openURL = function(url) { }; pandora.safeDocumentName = function(name) { - ['?', '#', '%'].forEach(function(c) { - name = name.replace(c, '_'); + ['\\?', '#', '%', '/'].forEach(function(c) { + var r = new RegExp(c, 'g') + name = name.replace(r, '_'); }) return name; };