From 9cc5fa94f604fc6850a893e77fb504c73dc5d702 Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Wed, 6 Nov 2019 15:12:03 -0800 Subject: [PATCH 1/2] Auto update mr widget when new commits are pushed - add warning message in ready_to_merge component - display ready_to_merge component instead of sha_mismatch Use BE diffs_path & update tests - pass diffs_path as a prop - update spec to check it contains the same href as prop --- .../components/states/ready_to_merge.vue | 22 +++++++++++++-- .../mr_widget_options.vue | 3 +-- .../stores/mr_widget_store.js | 2 ++ .../31236-auto-update-merge-widget.yml | 5 ++++ locale/gitlab.pot | 3 +++ .../states/mr_widget_ready_to_merge_spec.js | 27 +++++++++++++++++++ 6 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 changelogs/unreleased/31236-auto-update-merge-widget.yml diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue index aa65b16a3c3f95..65e523715e2344 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue @@ -3,8 +3,9 @@ import _ from 'underscore'; import successSvg from 'icons/_icon_status_success.svg'; import warningSvg from 'icons/_icon_status_warning.svg'; import simplePoll from '~/lib/utils/simple_poll'; -import { __ } from '~/locale'; +import { __, sprintf } from '~/locale'; import readyToMergeMixin from 'ee_else_ce/vue_merge_request_widget/mixins/ready_to_merge'; +import { GlIcon } from '@gitlab/ui'; import MergeRequest from '../../../merge_request'; import { refreshUserMergeRequestCounts } from '~/commons/nav/user_merge_requests'; import Flash from '../../../flash'; @@ -24,6 +25,7 @@ export default { CommitsHeader, CommitEdit, CommitMessageDropdown, + GlIcon, }, mixins: [readyToMergeMixin], props: { @@ -111,6 +113,18 @@ export default { shouldShowMergeEdit() { return !this.mr.ffOnlyEnabled; }, + shaMismatchLink() { + const href = this.mr.mergeRequestDiffsPath; + + return sprintf( + __('New changes were added. %{linkStart}Reload the page to review them%{linkEnd}'), + { + linkStart: ``, + linkEnd: '', + }, + false, + ); + }, }, methods: { updateMergeCommitMessage(includeDescription) { @@ -123,7 +137,7 @@ export default { } const options = { - sha: this.mr.sha, + sha: this.mr.latestSHA || this.mr.sha, commit_message: this.commitMessage, auto_merge_strategy: useAutoMerge ? this.mr.preferredAutoMergeStrategy : undefined, should_remove_source_branch: this.removeSourceBranch === true, @@ -314,6 +328,10 @@ export default { +
+ + +