diff --git a/app/assets/javascripts/notes/components/noteable_discussion.vue b/app/assets/javascripts/notes/components/noteable_discussion.vue index f6842fa240ecd448c65268b78bd8fb4834e317b8..29740ddf6ae9963933ddfc3664293e38a8ac3e7f 100644 --- a/app/assets/javascripts/notes/components/noteable_discussion.vue +++ b/app/assets/javascripts/notes/components/noteable_discussion.vue @@ -68,7 +68,7 @@ export default { isReplying: false, isResolving: false, resolveAsThread: true, - isRepliesCollapsed: (!this.discussion.diff_discussion && this.discussion.resolved) || false, + isRepliesToggledByUser: false, }; }, computed: { @@ -189,6 +189,15 @@ export default { return isExpanded || this.alwaysExpanded || isResolvedNonDiffDiscussion; }, + isRepliesCollapsed() { + const { discussion, isRepliesToggledByUser } = this; + const { resolved, notes } = discussion; + const hasReplies = notes.length > 1; + + return ( + (!discussion.diff_discussion && resolved && hasReplies && !isRepliesToggledByUser) || false + ); + }, }, watch: { isReplying() { @@ -233,7 +242,7 @@ export default { this.toggleDiscussion({ discussionId: this.discussion.id }); }, toggleReplies() { - this.isRepliesCollapsed = !this.isRepliesCollapsed; + this.isRepliesToggledByUser = !this.isRepliesToggledByUser; }, showReplyForm() { this.isReplying = true; diff --git a/app/assets/javascripts/notes/components/toggle_replies_widget.vue b/app/assets/javascripts/notes/components/toggle_replies_widget.vue index e9d05c5cdcdf7008be811a06e57d10ae4890ac1f..72a8ff2846697f1c744ac6e0d2f5011fabe00b5e 100644 --- a/app/assets/javascripts/notes/components/toggle_replies_widget.vue +++ b/app/assets/javascripts/notes/components/toggle_replies_widget.vue @@ -42,7 +42,7 @@ export default {