Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2020-02-07 09:08:49 +00:00
parent ddd268b03b
commit 456a7247f9
25 changed files with 129 additions and 72 deletions

View File

@ -1,4 +1,5 @@
import $ from 'jquery';
import { GlBreakpointInstance as bp } from '@gitlab/ui/dist/utils';
import axios from '~/lib/utils/axios_utils';
import Activities from '~/activities';
import { localTimeAgo } from '~/lib/utils/datetime_utility';
@ -209,7 +210,7 @@ export default class UserTabs {
loadActivityCalendar() {
const $calendarWrap = this.$parentEl.find('.tab-pane.active .user-calendar');
if (!$calendarWrap.length) return;
if (!$calendarWrap.length || bp.getBreakpointSize() === 'xs') return;
const calendarPath = $calendarWrap.data('calendarPath');

View File

@ -31,7 +31,7 @@
= s_('ClusterIntegration|Alternatively')
%code{ :class => "js-ingress-domain-snippet" } #{@cluster.application_ingress_external_ip}.nip.io
= s_('ClusterIntegration| can be used instead of a custom domain.')
- custom_domain_url = help_page_path('user/project/clusters/index', anchor: 'pointing-your-dns-at-the-external-endpoint')
- custom_domain_url = help_page_path('user/clusters/applications.md', anchor: 'pointing-your-dns-at-the-external-endpoint')
- custom_domain_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: custom_domain_url }
= s_('ClusterIntegration| %{custom_domain_start}More information%{custom_domain_end}.').html_safe % { custom_domain_start: custom_domain_start, custom_domain_end: '</a>'.html_safe }

View File

@ -283,7 +283,7 @@
Dropdown option
.dropdown-footer
%strong Tip:
If an author is not a member of this project, you can still filter by his name while using the search field.
If an author is not a member of this project, you can still filter by their name while using the search field.
.dropdown.inline
%button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
Dropdown loading
@ -322,7 +322,7 @@
Dropdown option
.dropdown-footer
%strong Tip:
If an author is not a member of this project, you can still filter by his name while using the search field.
If an author is not a member of this project, you can still filter by their name while using the search field.
.dropdown-loading
= icon('spinner spin')

View File

@ -0,0 +1,5 @@
---
title: Avoid loading user activity calendar on mobile
merge_request: 24277
author: Takuya Noguchi
type: fixed

View File

@ -0,0 +1,5 @@
---
title: Fix link to base domain help in clusters view
merge_request: 24658
author:
type: fixed

View File

@ -20,7 +20,7 @@ Branching in an Agile environment usually happens around user stories with one
or more developers working on it.
If more than one developer then another branch for each developer is also used
with his/her initials, and US id.
with their initials, and US id.
After its tested merge into master and remove the branch.

View File

@ -4799,6 +4799,9 @@ msgstr ""
msgid "Comment & unresolve thread"
msgstr ""
msgid "Comment '%{label}' position"
msgstr ""
msgid "Comment form position"
msgstr ""

View File

@ -39,8 +39,8 @@
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/plugin-syntax-import-meta": "^7.2.0",
"@babel/preset-env": "^7.6.2",
"@gitlab/svgs": "^1.95.0",
"@gitlab/ui": "^9.4.0",
"@gitlab/svgs": "^1.96.0",
"@gitlab/ui": "^9.4.1",
"@gitlab/visual-review-tools": "1.5.1",
"@sentry/browser": "^5.10.2",
"@sourcegraph/code-host-integration": "0.0.29",

View File

@ -24,7 +24,7 @@ function update_tests_metadata() {
scripts/merge-reports "${FLAKY_RSPEC_SUITE_REPORT_PATH}" rspec_flaky/all_*.json
export FLAKY_RSPEC_GENERATE_REPORT="1"
export FLAKY_RSPEC_GENERATE_REPORT="true"
scripts/flaky_examples/prune-old-flaky-examples "${FLAKY_RSPEC_SUITE_REPORT_PATH}"
if [[ -n ${TESTS_METADATA_S3_BUCKET} ]]; then

View File

@ -27,7 +27,7 @@ describe Admin::SpamLogsController do
expect(response).to have_gitlab_http_status(:ok)
end
it 'removes user and his spam logs when removing the user', :sidekiq_might_not_need_inline do
it 'removes user and their spam logs when removing the user', :sidekiq_might_not_need_inline do
delete :destroy, params: { id: first_spam.id, remove_user: true }
expect(flash[:notice]).to eq "User #{user.username} was successfully removed."

View File

@ -270,7 +270,7 @@ describe Admin::UsersController do
post :update, params: params
end
context 'when the admin changes his own password' do
context 'when the admin changes their own password' do
it 'updates the password' do
expect { update_password(admin, 'AValidPassword1') }
.to change { admin.reload.encrypted_password }

View File

@ -3,6 +3,8 @@
require 'spec_helper'
describe 'Contributions Calendar', :js do
include MobileHelpers
let(:user) { create(:user) }
let(:contributed_project) { create(:project, :public, :repository) }
let(:issue_note) { create(:note, project: contributed_project) }
@ -122,15 +124,15 @@ describe 'Contributions Calendar', :js do
end
end
describe 'calendar daily activities' do
shared_context 'visit user page' do
before do
visit user.username
page.find('.js-overview-tab a').click
wait_for_requests
end
shared_context 'visit user page' do
before do
visit user.username
page.find('.js-overview-tab a').click
wait_for_requests
end
end
describe 'calendar daily activities' do
shared_examples 'a day with activity' do |contribution_count:|
include_context 'visit user page'
@ -199,4 +201,22 @@ describe 'Contributions Calendar', :js do
end
end
end
describe 'on smaller screens' do
shared_examples 'hidden activity calendar' do
include_context 'visit user page'
it 'hides the activity calender' do
expect(find('#js-overview')).not_to have_css('.js-contrib-calendar')
end
end
context 'size xs' do
before do
resize_screen_xs
end
it_behaves_like 'hidden activity calendar'
end
end
end

View File

@ -169,7 +169,7 @@ describe 'Invites' do
end
end
it "doesn't accept invitations until the user confirms his email" do
it "doesn't accept invitations until the user confirms their email" do
fill_in_sign_up_form(new_user)
sign_in(owner)

View File

@ -2,7 +2,7 @@
require 'spec_helper'
describe 'Projects > Members > Group member cannot request access to his group project' do
describe 'Projects > Members > Group member cannot request access to their group project' do
let(:user) { create(:user) }
let(:group) { create(:group) }
let(:project) { create(:project, namespace: group) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
describe 'Projects > Members > Member cannot request access to his project' do
describe 'Projects > Members > Member cannot request access to their project' do
let(:member) { create(:user) }
let(:project) { create(:project) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
describe 'Projects > Members > Owner cannot request access to his project' do
describe 'Projects > Members > Owner cannot request access to their own project' do
let(:project) { create(:project) }
before do

View File

@ -5,7 +5,7 @@ require 'spec_helper'
describe 'GPG signed commits' do
let(:project) { create(:project, :public, :repository) }
it 'changes from unverified to verified when the user changes his email to match the gpg key', :sidekiq_might_not_need_inline do
it 'changes from unverified to verified when the user changes their email to match the gpg key', :sidekiq_might_not_need_inline do
ref = GpgHelpers::SIGNED_AND_AUTHORED_SHA
user = create(:user, email: 'unrelated.user@example.org')
@ -18,7 +18,7 @@ describe 'GPG signed commits' do
expect(page).to have_button 'Unverified'
expect(page).not_to have_button 'Verified'
# user changes his email which makes the gpg key verified
# user changes their email which makes the gpg key verified
perform_enqueued_jobs do
user.skip_reconfirmation!
user.update!(email: GpgHelpers::User1.emails.first)

View File

@ -1,3 +1,31 @@
const devProps = {
id: 7,
name: 'DEV',
state: 'available',
external_url: null,
environment_type: null,
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/7',
stop_path: '/root/review-app/environments/7/stop',
created_at: '2017-01-31T10:53:46.894Z',
updated_at: '2017-01-31T10:53:46.894Z',
};
const buildProps = {
id: 12,
name: 'build/update-README',
state: 'available',
external_url: null,
environment_type: 'build',
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/12',
stop_path: '/root/review-app/environments/12/stop',
created_at: '2017-02-01T19:42:18.400Z',
updated_at: '2017-02-01T19:42:18.400Z',
};
const environment = {
name: 'production',
size: 1,
@ -66,6 +94,18 @@ const environment = {
auto_stop_at: null,
};
const environmentsList = [
{
size: 1,
...devProps,
},
{
folderName: 'build',
size: 5,
...buildProps,
},
];
const folder = {
name: 'review',
folderName: 'review',
@ -78,6 +118,23 @@ const folder = {
},
};
const serverData = [
{
name: 'DEV',
size: 1,
latest: {
...devProps,
},
},
{
name: 'build',
size: 5,
latest: {
...buildProps,
},
},
];
const tableData = {
name: {
title: 'Environment',
@ -108,4 +165,4 @@ const tableData = {
},
};
export { environment, folder, tableData };
export { environment, environmentsList, folder, serverData, tableData };

View File

@ -30,43 +30,6 @@ export const environmentsList = [
},
];
export const serverData = [
{
name: 'DEV',
size: 1,
latest: {
id: 7,
name: 'DEV',
state: 'available',
external_url: null,
environment_type: null,
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/7',
stop_path: '/root/review-app/environments/7/stop',
created_at: '2017-01-31T10:53:46.894Z',
updated_at: '2017-01-31T10:53:46.894Z',
},
},
{
name: 'build',
size: 5,
latest: {
id: 12,
name: 'build/update-README',
state: 'available',
external_url: null,
environment_type: 'build',
last_deployment: null,
has_stop_action: false,
environment_path: '/root/review-app/environments/12',
stop_path: '/root/review-app/environments/12/stop',
created_at: '2017-02-01T19:42:18.400Z',
updated_at: '2017-02-01T19:42:18.400Z',
},
},
];
export const environment = {
name: 'DEV',
size: 1,

View File

@ -65,7 +65,7 @@ describe Clusters::Applications::CertManager do
cert_manager.email = cert_email
end
it 'uses his/her email to register issuer with certificate provider' do
it 'uses their email to register issuer with certificate provider' do
expect(subject.files).to eq(cert_manager.files.merge(cluster_issuer_file))
end
end

View File

@ -749,7 +749,7 @@ describe API::Users do
expect(user.email).to eq('new@email.com')
end
it 'updates user with his own username' do
it 'updates user with their own username' do
put api("/users/#{user.id}", admin), params: { username: user.username }
expect(response).to have_gitlab_http_status(200)

View File

@ -124,6 +124,9 @@ RSpec.configure do |config|
if ENV['CI'] || ENV['RETRIES']
# This includes the first try, i.e. tests will be run 4 times before failing.
config.default_retry_count = ENV.fetch('RETRIES', 3).to_i + 1
end
if ENV['FLAKY_RSPEC_GENERATE_REPORT']
config.reporter.register_listener(
RspecFlaky::Listener.new,
:example_passed,

View File

@ -239,7 +239,7 @@ RSpec.shared_examples 'noteable API' do |parent_type, noteable_type, id_name|
end
end
context 'when the user is posting an award emoji on his/her own noteable' do
context 'when the user is posting an award emoji on their own noteable' do
it 'creates a new note' do
post api("/#{parent_type}/#{parent.id}/#{noteable_type}/#{noteable[id_name]}/notes", user), params: { body: ':+1:' }

View File

@ -735,15 +735,15 @@
dependencies:
vue-eslint-parser "^6.0.4"
"@gitlab/svgs@^1.95.0":
version "1.95.0"
resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.95.0.tgz#105311b8eae530dbe586232925690ca3e947a89b"
integrity sha512-sGvtkf5XgDhMA9vPJu2YLHiEk4tbF6W9AAxAl3lMfwaFdF4mwfOwVtAWLJaM+9ubL91t+jVsOtHGsAzATufnlg==
"@gitlab/svgs@^1.96.0":
version "1.96.0"
resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.96.0.tgz#1d32730389e94358dc245e8336912523446d1269"
integrity sha512-mhg6kndxDhwjWChKhs5utO6PowlOyFdaCXUrkkxxe2H3cd8DYa40QOEcJeUrSIhkmgIMVesUawesx5tt4Bnnnw==
"@gitlab/ui@^9.4.0":
version "9.4.0"
resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-9.4.0.tgz#ffe3ca7845801cdefd42a9a7cc423a320d7ffdc2"
integrity sha512-dsr+IZPjfe+UHVLlhVHF4kXd2daRUGzplC9WA5Odf1q9kHugGn1yK7glT5VCRQa2vtiTVvqGwXB7ENfHoz23Kg==
"@gitlab/ui@^9.4.1":
version "9.4.1"
resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-9.4.1.tgz#c4128ac07e1d6e4367a1c7a38dbee0aed1a2ae23"
integrity sha512-Xti1dKWhwzL/3sXdMU2z9P6Liip9UElAHXfAXBnRTEPO3JONhdbwbVXrLnCQzKhkJ6qEaM3cJiC9oIeFhlO/sw==
dependencies:
"@babel/standalone" "^7.0.0"
"@gitlab/vue-toasted" "^1.3.0"