diff options
25 files changed, 130 insertions, 73 deletions
diff --git a/app/assets/javascripts/pages/users/user_tabs.js b/app/assets/javascripts/pages/users/user_tabs.js index 4ac4efec45d..885150eef9d 100644 --- a/app/assets/javascripts/pages/users/user_tabs.js +++ b/app/assets/javascripts/pages/users/user_tabs.js @@ -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'); diff --git a/app/views/clusters/clusters/_form.html.haml b/app/views/clusters/clusters/_form.html.haml index f9085b781fb..a85b005b2b4 100644 --- a/app/views/clusters/clusters/_form.html.haml +++ b/app/views/clusters/clusters/_form.html.haml @@ -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 } diff --git a/app/views/help/ui.html.haml b/app/views/help/ui.html.haml index b8a421ac9d3..7e0b444e5d7 100644 --- a/app/views/help/ui.html.haml +++ b/app/views/help/ui.html.haml @@ -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') diff --git a/changelogs/unreleased/201743-avoid-loading-user-activity-calendar-data-on-mobile.yml b/changelogs/unreleased/201743-avoid-loading-user-activity-calendar-data-on-mobile.yml new file mode 100644 index 00000000000..7bc19e705ae --- /dev/null +++ b/changelogs/unreleased/201743-avoid-loading-user-activity-calendar-data-on-mobile.yml @@ -0,0 +1,5 @@ +--- +title: Avoid loading user activity calendar on mobile +merge_request: 24277 +author: Takuya Noguchi +type: fixed diff --git a/changelogs/unreleased/pl-fix-base-domain-link.yml b/changelogs/unreleased/pl-fix-base-domain-link.yml new file mode 100644 index 00000000000..61c77ed6d0d --- /dev/null +++ b/changelogs/unreleased/pl-fix-base-domain-link.yml @@ -0,0 +1,5 @@ +--- +title: Fix link to base domain help in clusters view +merge_request: 24658 +author: +type: fixed diff --git a/doc/university/training/topics/agile_git.md b/doc/university/training/topics/agile_git.md index 42d91a50045..6434b710159 100644 --- a/doc/university/training/topics/agile_git.md +++ b/doc/university/training/topics/agile_git.md @@ -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. diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 537ec76b9ea..e0c59c8555b 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -4799,6 +4799,9 @@ msgstr "" msgid "Comment & unresolve thread" msgstr "" +msgid "Comment '%{label}' position" +msgstr "" + msgid "Comment form position" msgstr "" diff --git a/package.json b/package.json index 13e38767d08..8081f74c4b7 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/scripts/rspec_helpers.sh b/scripts/rspec_helpers.sh index 8762108066d..70ddb61e588 100644 --- a/scripts/rspec_helpers.sh +++ b/scripts/rspec_helpers.sh @@ -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 diff --git a/spec/controllers/admin/spam_logs_controller_spec.rb b/spec/controllers/admin/spam_logs_controller_spec.rb index 6716bb8b399..ec0d8c47660 100644 --- a/spec/controllers/admin/spam_logs_controller_spec.rb +++ b/spec/controllers/admin/spam_logs_controller_spec.rb @@ -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." diff --git a/spec/controllers/admin/users_controller_spec.rb b/spec/controllers/admin/users_controller_spec.rb index 2661f8c1519..a4ce510b413 100644 --- a/spec/controllers/admin/users_controller_spec.rb +++ b/spec/controllers/admin/users_controller_spec.rb @@ -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 } diff --git a/spec/features/calendar_spec.rb b/spec/features/calendar_spec.rb index bac5c9f568e..acdc38038aa 100644 --- a/spec/features/calendar_spec.rb +++ b/spec/features/calendar_spec.rb @@ -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 diff --git a/spec/features/invites_spec.rb b/spec/features/invites_spec.rb index 0571ab007e9..7884a16c118 100644 --- a/spec/features/invites_spec.rb +++ b/spec/features/invites_spec.rb @@ -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) diff --git a/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb b/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb index 1f4d555c6ae..cf9441bcd55 100644 --- a/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb +++ b/spec/features/projects/members/group_member_cannot_request_access_to_his_group_project_spec.rb @@ -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) } diff --git a/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb b/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb index 606444b36a2..e2b57472b2e 100644 --- a/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb +++ b/spec/features/projects/members/member_cannot_request_access_to_his_project_spec.rb @@ -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) } diff --git a/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb b/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb index 2fb76da36ad..5643a29b4e4 100644 --- a/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb +++ b/spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb @@ -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 diff --git a/spec/features/signed_commits_spec.rb b/spec/features/signed_commits_spec.rb index f56bd055224..851e155480b 100644 --- a/spec/features/signed_commits_spec.rb +++ b/spec/features/signed_commits_spec.rb @@ -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) diff --git a/spec/javascripts/environments/environments_store_spec.js b/spec/frontend/environments/environments_store_spec.js index 8abdbcbbe54..8abdbcbbe54 100644 --- a/spec/javascripts/environments/environments_store_spec.js +++ b/spec/frontend/environments/environments_store_spec.js diff --git a/spec/frontend/environments/mock_data.js b/spec/frontend/environments/mock_data.js index a2b581578d2..77c5dad0bbf 100644 --- a/spec/frontend/environments/mock_data.js +++ b/spec/frontend/environments/mock_data.js @@ -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 }; diff --git a/spec/javascripts/environments/mock_data.js b/spec/javascripts/environments/mock_data.js index 7bb57f938b8..a8be3706b79 100644 --- a/spec/javascripts/environments/mock_data.js +++ b/spec/javascripts/environments/mock_data.js @@ -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, diff --git a/spec/models/clusters/applications/cert_manager_spec.rb b/spec/models/clusters/applications/cert_manager_spec.rb index 6b85f9bb127..31209a70018 100644 --- a/spec/models/clusters/applications/cert_manager_spec.rb +++ b/spec/models/clusters/applications/cert_manager_spec.rb @@ -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 diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb index aa8dd021707..d14baa49341 100644 --- a/spec/requests/api/users_spec.rb +++ b/spec/requests/api/users_spec.rb @@ -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) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index ad15793f23b..35bf6846ab3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -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, diff --git a/spec/support/shared_examples/requests/api/notes_shared_examples.rb b/spec/support/shared_examples/requests/api/notes_shared_examples.rb index 43bfeca93a2..0c52af43465 100644 --- a/spec/support/shared_examples/requests/api/notes_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/notes_shared_examples.rb @@ -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:' } diff --git a/yarn.lock b/yarn.lock index b80b3271c12..060a9efa164 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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" |