From 4f03d82ff04a605cb6112ae11f533c542c41ff25 Mon Sep 17 00:00:00 2001 From: Rohitt Vashishtha Date: Thu, 25 Jul 2019 22:34:54 +0530 Subject: [PATCH] compose: Do not trigger topic mention if already completed. --- frontend_tests/node_tests/composebox_typeahead.js | 1 + static/js/composebox_typeahead.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend_tests/node_tests/composebox_typeahead.js b/frontend_tests/node_tests/composebox_typeahead.js index 3920e8e5ff..8fbf9ab290 100644 --- a/frontend_tests/node_tests/composebox_typeahead.js +++ b/frontend_tests/node_tests/composebox_typeahead.js @@ -1288,6 +1288,7 @@ run_test('begins_typeahead', () => { assert_typeahead_equals("@**a person** >", false); assert_typeahead_equals("#**stream**>", ['']); // this is deliberately a blank choice. assert_typeahead_equals("#**stream** >", ['']); + assert_typeahead_equals("#**Sweden>some topic** >", false); // Already completed a topic. // topic_list var sweden_topics_to_show = topic_data.get_recent_names(1); //includes "more ice" diff --git a/static/js/composebox_typeahead.js b/static/js/composebox_typeahead.js index 2f805ce3d2..8068bc9aee 100644 --- a/static/js/composebox_typeahead.js +++ b/static/js/composebox_typeahead.js @@ -559,7 +559,7 @@ exports.compose_content_begins_typeahead = function (query) { if (this.options.completions.topic) { // Stream regex modified from marked.js // Matches '#**stream name** >' at the end of a split. - var stream_regex = /#\*\*([^\*]+)\*\*\s?>$/; + var stream_regex = /#\*\*([^\*>]+)\*\*\s?>$/; var should_jump_inside_typeahead = stream_regex.test(split[0]); if (should_jump_inside_typeahead) { this.completing = 'topic_jump';