From 2ec029b9e06d729e212d6e14f1bf4edac45dca93 Mon Sep 17 00:00:00 2001 From: Fatih Acet Date: Fri, 12 Jan 2018 00:16:24 +0100 Subject: MRNotesRefactor: Prevent duplicate rendering of new notes on Discussions tab in realtime. --- app/assets/javascripts/merge_request_tabs.js | 4 ++++ app/assets/javascripts/notes.js | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js index acfc62fe5cb..7e2acd8a450 100644 --- a/app/assets/javascripts/merge_request_tabs.js +++ b/app/assets/javascripts/merge_request_tabs.js @@ -240,6 +240,10 @@ export default class MergeRequestTabs { return newState; } + getCurrentAction() { + return this.currentAction; + } + loadCommits(source) { if (this.commitsLoaded) { return; diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 643648fba53..42eaf0ada02 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -362,6 +362,11 @@ export default class Notes { * Note: for rendering inline notes use renderDiscussionNote */ renderNote(noteEntity, $form, $notesList = $('.main-notes-list')) { + // Let realtime Vue polling handle Changes tab + if (window.mrTabs.getCurrentAction() !== 'diffs') { + return; + } + if (noteEntity.discussion_html) { return this.renderDiscussionNote(noteEntity, $form); } -- cgit v1.2.1