From cd412976d75c726748196a20c1420db796c61fc0 Mon Sep 17 00:00:00 2001
From: Robin Ward <robin.ward@gmail.com>
Date: Mon, 8 Feb 2016 16:01:09 -0500
Subject: [PATCH] FIX: Bookmark by keyboard was broken

---
 .../discourse/lib/keyboard-shortcuts.js.es6            | 10 +++++++---
 app/assets/javascripts/discourse/widgets/widget.js.es6 |  1 +
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6 b/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6
index ccb4bd0fdae..968665045bf 100644
--- a/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6
+++ b/app/assets/javascripts/discourse/lib/keyboard-shortcuts.js.es6
@@ -222,10 +222,14 @@ export default {
     // TODO: We should keep track of the post without a CSS class
     const selectedPostId = parseInt($('.topic-post.selected article.boxed').data('post-id'), 10);
     if (selectedPostId) {
-      const topicController = container.lookup('controller:topic'),
-          post = topicController.get('model.postStream.posts').findBy('id', selectedPostId);
+      const topicController = container.lookup('controller:topic');
+      const post = topicController.get('model.postStream.posts').findBy('id', selectedPostId);
       if (post) {
-        topicController.send(action, post);
+        // TODO: Use ember closure actions
+        const result = topicController._actions[action].call(topicController, post);
+        if (result && result.then) {
+          this.appEvents.trigger('post-stream:refresh', selectedPostId)
+        }
       }
     }
   },
diff --git a/app/assets/javascripts/discourse/widgets/widget.js.es6 b/app/assets/javascripts/discourse/widgets/widget.js.es6
index aeff9619258..9b1af297a16 100644
--- a/app/assets/javascripts/discourse/widgets/widget.js.es6
+++ b/app/assets/javascripts/discourse/widgets/widget.js.es6
@@ -170,6 +170,7 @@ export default class Widget {
       }
 
       if (target) {
+        // TODO: Use ember closure actions
         const actions = target._actions || target.actionHooks;
         const method = actions[actionName];
         if (method) {