Commit 456a7247 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent ddd268b0
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');
......
......@@ -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 }
......
......@@ -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')
......
---
title: Avoid loading user activity calendar on mobile
merge_request: 24277
author: Takuya Noguchi
type: fixed
---
title: Fix link to base domain help in clusters view
merge_request: 24658
author:
type: fixed
......@@ -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.
......
......@@ -4799,6 +4799,9 @@ msgstr ""
msgid "Comment & unresolve thread"
msgstr ""
msgid "Comment '%{label}' position"
msgstr ""
msgid "Comment form position"
msgstr ""
......
......@@ -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
......
......@@ -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."
......
......@@ -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 }
......
......@@ -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
......@@ -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)
......
......@@ -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) }
......
......@@ -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) }
......
......@@ -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
......
......@@ -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)
......
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 };
......@@ -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,
......
......@@ -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
......
......@@ -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)
......
......@@ -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,
......
......@@ -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:' }
......
......@@ -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/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/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.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"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment