From d9ab72d6080f594d0b3cae15f14b3ef2c6c638cb Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 20 Oct 2021 08:43:02 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-4-stable-ee --- .../admin/application_settings/_abuse.html.haml | 2 - .../_account_and_limit.html.haml | 18 ++++---- .../admin/application_settings/_ci_cd.html.haml | 7 ++++ .../application_settings/_files_limits.html.haml | 34 --------------- .../application_settings/_help_page.html.haml | 13 +++--- .../admin/application_settings/_mailgun.html.haml | 2 +- .../_network_rate_limits.html.haml | 33 +++++++++++++++ .../_package_registry_limits.html.haml | 32 -------------- .../application_settings/_performance.html.haml | 17 +++----- .../admin/application_settings/_snowplow.html.haml | 2 +- .../admin/application_settings/_spam.html.haml | 49 ++++++++++++++++------ .../admin/application_settings/_terminal.html.haml | 2 +- .../admin/application_settings/_usage.html.haml | 22 ++++++---- .../appearances/preview_sign_in.html.haml | 7 ++-- .../admin/application_settings/general.html.haml | 3 +- .../metrics_and_profiling.html.haml | 2 +- .../admin/application_settings/network.html.haml | 19 +++++++-- .../admin/application_settings/reporting.html.haml | 7 ++-- 18 files changed, 142 insertions(+), 129 deletions(-) delete mode 100644 app/views/admin/application_settings/_files_limits.html.haml create mode 100644 app/views/admin/application_settings/_network_rate_limits.html.haml delete mode 100644 app/views/admin/application_settings/_package_registry_limits.html.haml (limited to 'app/views/admin/application_settings') diff --git a/app/views/admin/application_settings/_abuse.html.haml b/app/views/admin/application_settings/_abuse.html.haml index fab3ce584f0..96fb848b568 100644 --- a/app/views/admin/application_settings/_abuse.html.haml +++ b/app/views/admin/application_settings/_abuse.html.haml @@ -5,7 +5,5 @@ .form-group = f.label :abuse_notification_email, _('Abuse reports notification email'), class: 'label-bold' = f.text_field :abuse_notification_email, class: 'form-control gl-form-input' - .form-text.text-muted - = _('Abuse reports will be sent to this address if it is set. Abuse reports are always available in the admin area.') = f.submit _('Save changes'), class: "gl-button btn btn-confirm" diff --git a/app/views/admin/application_settings/_account_and_limit.html.haml b/app/views/admin/application_settings/_account_and_limit.html.haml index eb30efabb98..19c38d7be62 100644 --- a/app/views/admin/application_settings/_account_and_limit.html.haml +++ b/app/views/admin/application_settings/_account_and_limit.html.haml @@ -23,11 +23,11 @@ .form-group = f.label :max_import_size, _('Maximum import size (MB)'), class: 'label-light' = f.number_field :max_import_size, class: 'form-control gl-form-input qa-receive-max-import-size-field', title: _('Maximum size of import files.'), data: { toggle: 'tooltip', container: 'body' } - %span.form-text.text-muted= _('0 for unlimited, only effective with remote storage enabled.') + %span.form-text.text-muted= _('Only effective when remote storage is enabled. Set to 0 for no size limit.') .form-group = f.label :session_expire_delay, _('Session duration (minutes)'), class: 'label-light' = f.number_field :session_expire_delay, class: 'form-control gl-form-input', title: _('Maximum duration of a session.'), data: { toggle: 'tooltip', container: 'body' } - %span.form-text.text-muted#session_expire_delay_help_block= _('GitLab restart is required to apply changes.') + %span.form-text.text-muted#session_expire_delay_help_block= _('Restart GitLab to apply changes.') = render_if_exists 'admin/application_settings/git_two_factor_session_expiry', form: f = render_if_exists 'admin/application_settings/personal_access_token_expiration_policy', form: f @@ -45,13 +45,13 @@ .form-check = f.check_box :user_default_external, class: 'form-check-input' = f.label :user_default_external, class: 'form-check-label' do - = _('Newly registered users will by default be external') + = _('Newly-registered users are external by default') .gl-mt-3 = _('Internal users') = f.text_field :user_default_internal_regex, placeholder: _('Regex pattern'), class: 'form-control gl-form-input gl-mt-2' .help-block - = _('Specify an e-mail address regex pattern to identify default internal users.') - = link_to _('More information'), help_page_path('user/permissions', anchor: 'setting-new-users-to-external'), + = _('Specify an email address regex pattern to identify default internal users.') + = link_to _('Learn more'), help_page_path('user/permissions', anchor: 'setting-new-users-to-external'), target: '_blank' - unless Gitlab.com? .form-group @@ -59,11 +59,13 @@ .form-check = f.check_box :deactivate_dormant_users, class: 'form-check-input' = f.label :deactivate_dormant_users, class: 'form-check-label' do - = _('Deactivate dormant users after 90 days of inactivity. Users can return to active status by signing in to their account. While inactive, a user is not counted as an active user in the instance.') - = link_to _('More information'), help_page_path('user/admin_area/moderate_users', anchor: 'automatically-deactivate-dormant-users'), target: '_blank' + = _('Deactivate dormant users after 90 days of inactivity') + .help-block + = _('Users can reactivate their account by signing in.') + = link_to _('Learn more'), help_page_path('user/admin_area/moderate_users', anchor: 'automatically-deactivate-dormant-users'), target: '_blank' .form-group = f.label :personal_access_token_prefix, _('Personal Access Token prefix'), class: 'label-light' - = f.text_field :personal_access_token_prefix, placeholder: _('Max 20 characters'), class: 'form-control gl-form-input' + = f.text_field :personal_access_token_prefix, placeholder: _('Maximum 20 characters'), class: 'form-control gl-form-input' .form-group = f.label :user_show_add_ssh_key_message, _('Prompt users to upload SSH keys'), class: 'label-bold' .form-check diff --git a/app/views/admin/application_settings/_ci_cd.html.haml b/app/views/admin/application_settings/_ci_cd.html.haml index fea116bd419..8026ec4702b 100644 --- a/app/views/admin/application_settings/_ci_cd.html.haml +++ b/app/views/admin/application_settings/_ci_cd.html.haml @@ -69,5 +69,12 @@ %p.form-text.text-muted = _("The default CI/CD configuration file and path for new projects.").html_safe = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/settings', anchor: 'specify-a-custom-cicd-configuration-file'), target: '_blank' + .form-group + .form-check + = f.check_box :suggest_pipeline_enabled, class: 'form-check-input' + = f.label :suggest_pipeline_enabled, class: 'form-check-label' do + = s_('AdminSettings|Enable pipeline suggestion banner') + .form-text.text-muted + = s_('AdminSettings|Display a banner on merge requests in projects with no pipelines to initiate steps to add a .gitlab-ci.yml file.') = f.submit _('Save changes'), class: "gl-button btn btn-confirm" diff --git a/app/views/admin/application_settings/_files_limits.html.haml b/app/views/admin/application_settings/_files_limits.html.haml deleted file mode 100644 index 9cd12fa1caa..00000000000 --- a/app/views/admin/application_settings/_files_limits.html.haml +++ /dev/null @@ -1,34 +0,0 @@ -= gitlab_ui_form_for @application_setting, url: network_admin_application_settings_path(anchor: 'js-files-limits-settings'), html: { class: 'fieldset-form' } do |f| - = form_errors(@application_setting) - - %fieldset - %legend.h5.gl-border-none - = _('Unauthenticated API request rate limit') - .form-group - = f.gitlab_ui_checkbox_component :throttle_unauthenticated_files_api_enabled, - _('Enable unauthenticated API request rate limit'), - help_text: _('Helps reduce request volume (e.g. from crawlers or abusive bots)'), - checkbox_options: { data: { qa_selector: 'throttle_unauthenticated_files_api_checkbox' } } - .form-group - = f.label :throttle_unauthenticated_files_api_requests_per_period, 'Max unauthenticated API requests per period per IP', class: 'label-bold' - = f.number_field :throttle_unauthenticated_files_api_requests_per_period, class: 'form-control gl-form-input' - .form-group - = f.label :throttle_unauthenticated_files_api_period_in_seconds, 'Unauthenticated API rate limit period in seconds', class: 'label-bold' - = f.number_field :throttle_unauthenticated_files_api_period_in_seconds, class: 'form-control gl-form-input' - - %fieldset - %legend.h5.gl-border-none - = _('Authenticated API request rate limit') - .form-group - = f.gitlab_ui_checkbox_component :throttle_authenticated_files_api_enabled, - _('Enable authenticated API request rate limit'), - help_text: _('Helps reduce request volume (e.g. from crawlers or abusive bots)'), - checkbox_options: { data: { qa_selector: 'throttle_authenticated_files_api_checkbox' } } - .form-group - = f.label :throttle_authenticated_files_api_requests_per_period, 'Max authenticated API requests per period per user', class: 'label-bold' - = f.number_field :throttle_authenticated_files_api_requests_per_period, class: 'form-control gl-form-input' - .form-group - = f.label :throttle_authenticated_files_api_period_in_seconds, 'Authenticated API rate limit period in seconds', class: 'label-bold' - = f.number_field :throttle_authenticated_files_api_period_in_seconds, class: 'form-control gl-form-input' - - = f.submit 'Save changes', class: "gl-button btn btn-confirm", data: { qa_selector: 'save_changes_button' } diff --git a/app/views/admin/application_settings/_help_page.html.haml b/app/views/admin/application_settings/_help_page.html.haml index ecf3203df9a..cd7eaa1896a 100644 --- a/app/views/admin/application_settings/_help_page.html.haml +++ b/app/views/admin/application_settings/_help_page.html.haml @@ -18,11 +18,10 @@ = f.text_field :help_page_support_url, class: 'form-control gl-form-input', placeholder: 'https://company.example.com/getting-help', :'aria-describedby' => 'support_help_block' %span.form-text.text-muted#support_help_block= _('Alternate support URL for Help page and Help dropdown.') - - if show_documentation_base_url_field? - .form-group - = f.label :help_page_documentation_base_url, _('Documentation pages URL'), class: 'label-bold' - = f.text_field :help_page_documentation_base_url, class: 'form-control gl-form-input', placeholder: 'https://docs.gitlab.com' - - docs_link_url = help_page_path('user/admin_area/settings/help_page', anchor: 'destination-requirements') - - docs_link_start = ''.html_safe % { url: docs_link_url } - %span.form-text.text-muted#support_help_block= html_escape(_('Requests for pages at %{code_start}%{help_text_url}%{code_end} redirect to the URL. The destination must meet certain requirements. %{docs_link_start}Learn more.%{docs_link_end}')) % { code_start: ''.html_safe, help_text_url: help_url, code_end: ''.html_safe, docs_link_start: docs_link_start, docs_link_end: ''.html_safe } + .form-group + = f.label :help_page_documentation_base_url, _('Documentation pages URL'), class: 'gl-font-weight-bold' + = f.text_field :help_page_documentation_base_url, class: 'form-control gl-form-input', placeholder: 'https://docs.gitlab.com' + - docs_link_url = help_page_path('user/admin_area/settings/help_page', anchor: 'destination-requirements') + - docs_link_start = ''.html_safe % { url: docs_link_url } + %span.form-text.text-muted#support_help_block= html_escape(_('Requests for pages at %{code_start}%{help_text_url}%{code_end} redirect to the URL. The destination must meet certain requirements. %{docs_link_start}Learn more.%{docs_link_end}')) % { code_start: ''.html_safe, help_text_url: help_url, code_end: ''.html_safe, docs_link_start: docs_link_start, docs_link_end: ''.html_safe } = f.submit _('Save changes'), class: "gl-button btn btn-confirm" diff --git a/app/views/admin/application_settings/_mailgun.html.haml b/app/views/admin/application_settings/_mailgun.html.haml index 40b4d5cac6d..ad9e84ffdab 100644 --- a/app/views/admin/application_settings/_mailgun.html.haml +++ b/app/views/admin/application_settings/_mailgun.html.haml @@ -6,7 +6,7 @@ %button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' } = expanded ? _('Collapse') : _('Expand') %p - = _('Configure the %{link} integration.').html_safe % { link: link_to(_('Mailgun events'), 'https://documentation.mailgun.com/en/latest/user_manual.html#webhooks', target: '_blank') } + = _('Configure the %{link} integration.').html_safe % { link: link_to(_('Mailgun events'), 'https://documentation.mailgun.com/en/latest/user_manual.html#webhooks', target: '_blank', rel: 'noopener noreferrer') } .settings-content = form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-mailgun-settings'), html: { class: 'fieldset-form', id: 'mailgun-settings' } do |f| = form_errors(@application_setting) if expanded diff --git a/app/views/admin/application_settings/_network_rate_limits.html.haml b/app/views/admin/application_settings/_network_rate_limits.html.haml new file mode 100644 index 00000000000..f1857a9749a --- /dev/null +++ b/app/views/admin/application_settings/_network_rate_limits.html.haml @@ -0,0 +1,33 @@ += gitlab_ui_form_for @application_setting, url: network_admin_application_settings_path(anchor: anchor), html: { class: 'fieldset-form' } do |f| + = form_errors(@application_setting) + + %fieldset + = _("Rate limits can help reduce request volume (like from crawlers or abusive bots).") + + %fieldset + .form-group + = f.gitlab_ui_checkbox_component :"throttle_unauthenticated_#{setting_fragment}_enabled", + _('Enable unauthenticated API request rate limit'), + checkbox_options: { data: { qa_selector: "throttle_unauthenticated_#{setting_fragment}_checkbox" } }, + label_options: { class: 'label-bold' } + .form-group + = f.label :"throttle_unauthenticated_#{setting_fragment}_requests_per_period", _('Maximum unauthenticated API requests per rate limit period per IP'), class: 'label-bold' + = f.number_field :"throttle_unauthenticated_#{setting_fragment}_requests_per_period", class: 'form-control gl-form-input' + .form-group + = f.label :"throttle_unauthenticated_#{setting_fragment}_period_in_seconds", _('Unauthenticated API rate limit period in seconds'), class: 'label-bold' + = f.number_field :"throttle_unauthenticated_#{setting_fragment}_period_in_seconds", class: 'form-control gl-form-input' + + %fieldset + .form-group + = f.gitlab_ui_checkbox_component :"throttle_authenticated_#{setting_fragment}_enabled", + _('Enable authenticated API request rate limit'), + checkbox_options: { data: { qa_selector: "throttle_authenticated_#{setting_fragment}_checkbox" } }, + label_options: { class: 'label-bold' } + .form-group + = f.label :"throttle_authenticated_#{setting_fragment}_requests_per_period", _('Maximum authenticated API requests per rate limit period per user'), class: 'label-bold' + = f.number_field :"throttle_authenticated_#{setting_fragment}_requests_per_period", class: 'form-control gl-form-input' + .form-group + = f.label :"throttle_authenticated_#{setting_fragment}_period_in_seconds", _('Authenticated API rate limit period in seconds'), class: 'label-bold' + = f.number_field :"throttle_authenticated_#{setting_fragment}_period_in_seconds", class: 'form-control gl-form-input' + + = f.submit _('Save changes'), class: "gl-button btn btn-confirm", data: { qa_selector: 'save_changes_button' } diff --git a/app/views/admin/application_settings/_package_registry_limits.html.haml b/app/views/admin/application_settings/_package_registry_limits.html.haml deleted file mode 100644 index 8769171c9e0..00000000000 --- a/app/views/admin/application_settings/_package_registry_limits.html.haml +++ /dev/null @@ -1,32 +0,0 @@ -= form_for @application_setting, url: network_admin_application_settings_path(anchor: 'js-packages-limits-settings'), html: { class: 'fieldset-form' } do |f| - = form_errors(@application_setting) - - %fieldset - = _("The package registry rate limits can help reduce request volume (like from crawlers or abusive bots).") - - %fieldset - .form-group - .form-check - = f.check_box :throttle_unauthenticated_packages_api_enabled, class: 'form-check-input', data: { qa_selector: 'throttle_unauthenticated_packages_api_checkbox' } - = f.label :throttle_unauthenticated_packages_api_enabled, class: 'form-check-label label-bold' do - = _('Enable unauthenticated API request rate limit') - .form-group - = f.label :throttle_unauthenticated_packages_api_requests_per_period, _('Maximum unauthenticated API requests per rate limit period per IP'), class: 'label-bold' - = f.number_field :throttle_unauthenticated_packages_api_requests_per_period, class: 'form-control gl-form-input' - .form-group - = f.label :throttle_unauthenticated_packages_api_period_in_seconds, _('Unauthenticated API rate limit period in seconds'), class: 'label-bold' - = f.number_field :throttle_unauthenticated_packages_api_period_in_seconds, class: 'form-control gl-form-input' - %hr - .form-group - .form-check - = f.check_box :throttle_authenticated_packages_api_enabled, class: 'form-check-input', data: { qa_selector: 'throttle_authenticated_packages_api_checkbox' } - = f.label :throttle_authenticated_packages_api_enabled, class: 'form-check-label label-bold' do - = _('Enable authenticated API request rate limit') - .form-group - = f.label :throttle_authenticated_packages_api_requests_per_period, _('Maximum authenticated API requests per rate limit period per user'), class: 'label-bold' - = f.number_field :throttle_authenticated_packages_api_requests_per_period, class: 'form-control gl-form-input' - .form-group - = f.label :throttle_authenticated_packages_api_period_in_seconds, _('Authenticated API rate limit period in seconds'), class: 'label-bold' - = f.number_field :throttle_authenticated_packages_api_period_in_seconds, class: 'form-control gl-form-input' - - = f.submit _('Save changes'), class: "gl-button btn btn-confirm", data: { qa_selector: 'save_changes_button' } diff --git a/app/views/admin/application_settings/_performance.html.haml b/app/views/admin/application_settings/_performance.html.haml index 50fc11ec7f3..82e56cf8b81 100644 --- a/app/views/admin/application_settings/_performance.html.haml +++ b/app/views/admin/application_settings/_performance.html.haml @@ -6,29 +6,24 @@ .form-check = f.check_box :authorized_keys_enabled, class: 'form-check-input' = f.label :authorized_keys_enabled, class: 'form-check-label' do - = _('Write to "authorized_keys" file') + = _('Use authorized_keys file to authenticate SSH keys') .form-text.text-muted - By default, we write to the "authorized_keys" file to support Git - over SSH without additional configuration. GitLab can be optimized - to authenticate SSH keys via the database file. Only uncheck this - if you have configured your OpenSSH server to use the - AuthorizedKeysCommand. Click on the help icon for more details. - = link_to sprite_icon('question-o'), help_page_path('administration/operations/fast_ssh_key_lookup') - + = _('Authenticate user SSH keys without requiring additional configuration. Performance of GitLab can be improved by using the GitLab database instead.') + = link_to _('How do I configure authentication using the GitLab database?'), help_page_path('administration/operations/fast_ssh_key_lookup'), target: '_blank', rel: 'noopener noreferrer' .form-group = f.label :raw_blob_request_limit, _('Raw blob request rate limit per minute'), class: 'label-bold' = f.number_field :raw_blob_request_limit, class: 'form-control gl-form-input' .form-text.text-muted - = _('Highest number of requests per minute for each raw path, default to 300. To disable throttling set to 0.') + = _('Maximum number of requests per minute for each raw path (default is 300). Set to 0 to disable throttling.') .form-group = f.label :push_event_hooks_limit, class: 'label-bold' = f.number_field :push_event_hooks_limit, class: 'form-control gl-form-input' .form-text.text-muted - = _("Number of changes (branches or tags) in a single push to determine whether webhooks and services will be fired or not. Webhooks and services won't be submitted if it surpasses that value.") + = _('Maximum number of changes (branches or tags) in a single push for which webhooks and services trigger (default is 3).') .form-group = f.label :push_event_activities_limit, class: 'label-bold' = f.number_field :push_event_activities_limit, class: 'form-control gl-form-input' .form-text.text-muted - = _('Number of changes (branches or tags) in a single push to determine whether individual push events or bulk push event will be created. Bulk push event will be created if it surpasses that value.') + = _('Threshold number of changes (branches or tags) in a single push above which a bulk push event is created (default is 3).') = f.submit _('Save changes'), class: "gl-button btn btn-confirm" diff --git a/app/views/admin/application_settings/_snowplow.html.haml b/app/views/admin/application_settings/_snowplow.html.haml index 8c98778147e..756c0e770a6 100644 --- a/app/views/admin/application_settings/_snowplow.html.haml +++ b/app/views/admin/application_settings/_snowplow.html.haml @@ -7,7 +7,7 @@ = expanded ? _('Collapse') : _('Expand') %p - link_start = ''.html_safe % { url: help_page_path('development/snowplow/index') } - = html_escape(_('Configure %{link} to track events. %{link_start}Learn more.%{link_end}')) % { link: link_to('Snowplow', 'https://snowplowanalytics.com/', target: '_blank').html_safe, link_start: link_start, link_end: ''.html_safe } + = html_escape(_('Configure %{link} to track events. %{link_start}Learn more.%{link_end}')) % { link: link_to('Snowplow', 'https://snowplowanalytics.com/', target: '_blank', rel: 'noopener noreferrer').html_safe, link_start: link_start, link_end: ''.html_safe } .settings-content = form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-snowplow-settings'), html: { class: 'fieldset-form', id: 'snowplow-settings' } do |f| = form_errors(@application_setting) if expanded diff --git a/app/views/admin/application_settings/_spam.html.haml b/app/views/admin/application_settings/_spam.html.haml index 011bce3ca99..53ca4d4aa79 100644 --- a/app/views/admin/application_settings/_spam.html.haml +++ b/app/views/admin/application_settings/_spam.html.haml @@ -2,6 +2,11 @@ = form_errors(@application_setting) %fieldset + %h5 + = _('reCAPTCHA') + %p + = _('reCAPTCHA helps prevent credential stuffing.') + = link_to _('Only reCAPTCHA v2 is supported:'), 'https://developers.google.com/recaptcha/docs/versions', target: '_blank', rel: 'noopener noreferrer' .form-group .form-check = f.check_box :recaptcha_enabled, class: 'form-check-input' @@ -9,25 +14,31 @@ = _("Enable reCAPTCHA") %span.form-text.text-muted#recaptcha_help_block = _('Helps prevent bots from creating accounts.') + = link_to _('How do I configure it?'), help_page_path('integration/recaptcha.md'), target: '_blank', rel: 'noopener noreferrer' .form-group .form-check = f.check_box :login_recaptcha_protection_enabled, class: 'form-check-input' = f.label :login_recaptcha_protection_enabled, class: 'form-check-label' do - = _("Enable reCAPTCHA for login") + = _('Enable reCAPTCHA for login.') %span.form-text.text-muted#recaptcha_help_block = _('Helps prevent bots from brute-force attacks.') .form-group - = f.label :recaptcha_site_key, _('reCAPTCHA Site Key'), class: 'label-bold' + = f.label :recaptcha_site_key, _('reCAPTCHA site key'), class: 'label-bold' = f.text_field :recaptcha_site_key, class: 'form-control gl-form-input' .form-text.text-muted = _("Generate site and private keys at") %a{ href: 'http://www.google.com/recaptcha', target: 'blank' } http://www.google.com/recaptcha .form-group - = f.label :recaptcha_private_key, _('reCAPTCHA Private Key'), class: 'label-bold' - .form-group + = f.label :recaptcha_private_key, _('reCAPTCHA private key'), class: 'label-bold' = f.text_field :recaptcha_private_key, class: 'form-control gl-form-input' + %h5 + = _('Invisible Captcha') + %p + = _('Invisible Captcha helps prevent the creation of spam accounts. It adds a honeypot field and time-sensitive form submission to the account signup form.') + = link_to _('Read their documentation.'), 'https://github.com/markets/invisible_captcha', target: '_blank', rel: 'noopener noreferrer' + .form-group .form-check = f.check_box :invisible_captcha_enabled, class: 'form-check-input' @@ -36,12 +47,18 @@ %span.form-text.text-muted = _('Helps prevent bots from creating accounts.') + %h5 + = _('Akismet') + %p + = _('Akismet helps prevent the creation of spam issues in public projects.') + = link_to _('How do I configure Akismet?'), help_page_path('integration/akismet.md'), target: '_blank', rel: 'noopener noreferrer' + .form-group .form-check = f.check_box :akismet_enabled, class: 'form-check-input' = f.label :akismet_enabled, class: 'form-check-label' do Enable Akismet - %span.form-text.text-muted#akismet_help_block= _("Helps prevent bots from creating issues") + %span.form-text.text-muted#akismet_help_block= _("Helps prevent bots from creating issues.") .form-group = f.label :akismet_api_key, _('Akismet API Key'), class: 'label-bold' @@ -50,25 +67,31 @@ Generate API key at %a{ href: 'http://www.akismet.com', target: 'blank' } http://www.akismet.com + %h5 + = _('IP address restrictions') + .form-group .form-check = f.check_box :unique_ips_limit_enabled, class: 'form-check-input' = f.label :unique_ips_limit_enabled, class: 'form-check-label' do - = _("Limit sign in from multiple ips") + = _("Limit sign in from multiple IP addresses") %span.form-text.text-muted#unique_ip_help_block - = _("Helps prevent malicious users hide their activity") + = _("Helps prevent malicious users hide their activity.") .form-group - = f.label :unique_ips_limit_per_user, _('IPs per user'), class: 'label-bold' + = f.label :unique_ips_limit_per_user, _('IP addresses per user'), class: 'label-bold' = f.number_field :unique_ips_limit_per_user, class: 'form-control gl-form-input' .form-text.text-muted - = _("Maximum number of unique IPs per user") + = _("Maximum number of unique IP addresses per user.") .form-group - = f.label :unique_ips_limit_time_window, _('IP expiration time'), class: 'label-bold' + = f.label :unique_ips_limit_time_window, _('IP address expiration time'), class: 'label-bold' = f.number_field :unique_ips_limit_time_window, class: 'form-control gl-form-input' .form-text.text-muted - = _("How many seconds an IP will be counted towards the limit") + = _("How many seconds an IP counts toward the IP address limit.") + + %h5 + = _('Spam Check') .form-group .form-check @@ -79,8 +102,8 @@ = f.label :spam_check_endpoint_url, _('URL of the external Spam Check endpoint'), class: 'label-bold' = f.text_field :spam_check_endpoint_url, class: 'form-control gl-form-input' .form-group - = f.label :spam_check_api_key, _('Spam Check API Key'), class: 'gl-font-weight-bold' + = f.label :spam_check_api_key, _('Spam Check API key'), class: 'gl-font-weight-bold' = f.text_field :spam_check_api_key, class: 'form-control gl-form-input' - .form-text.text-muted= _('The API key used by GitLab for accessing the Spam Check service endpoint') + .form-text.text-muted= _('The API key used by GitLab for accessing the Spam Check service endpoint.') = f.submit _('Save changes'), class: "gl-button btn btn-confirm" diff --git a/app/views/admin/application_settings/_terminal.html.haml b/app/views/admin/application_settings/_terminal.html.haml index d6e31a24cf6..c53f63e124b 100644 --- a/app/views/admin/application_settings/_terminal.html.haml +++ b/app/views/admin/application_settings/_terminal.html.haml @@ -6,5 +6,5 @@ = f.label :terminal_max_session_time, _('Max session time'), class: 'label-bold' = f.number_field :terminal_max_session_time, class: 'form-control gl-form-input' .form-text.text-muted - = _('Maximum time for web terminal websocket connection (in seconds). 0 for unlimited.') + = _('Maximum time, in seconds, for a web terminal websocket connection. 0 for unlimited.') = f.submit _('Save changes'), class: "gl-button btn btn-confirm" diff --git a/app/views/admin/application_settings/_usage.html.haml b/app/views/admin/application_settings/_usage.html.haml index ddd0abb4c34..5bdad50c161 100644 --- a/app/views/admin/application_settings/_usage.html.haml +++ b/app/views/admin/application_settings/_usage.html.haml @@ -10,21 +10,21 @@ = f.label :version_check_enabled, class: 'form-check-label' do = _("Enable version check") .form-text.text-muted - = _("GitLab will inform you if a new version is available.") - = _("%{link_start}Learn more%{link_end} about what information is shared with GitLab Inc.").html_safe % { link_start: "".html_safe, link_end: ''.html_safe } + = _("GitLab informs you if a new version is available.") + = _("%{link_start}What information does GitLab Inc. collect?%{link_end}").html_safe % { link_start: "".html_safe, link_end: ''.html_safe } .form-group - can_be_configured = @application_setting.usage_ping_can_be_configured? .form-check = f.check_box :usage_ping_enabled, disabled: !can_be_configured, class: 'form-check-input' = f.label :usage_ping_enabled, class: 'form-check-label' do - = _('Enable service ping') + = _('Enable Service Ping') .form-text.text-muted - if can_be_configured - %p.mb-2= _('To help improve GitLab and its user experience, GitLab will periodically collect usage information.') + %p.mb-2= _('To help improve GitLab and its user experience, GitLab periodically collects usage information.') - - service_ping_path = help_page_path('user/admin_area/settings/usage_statistics', anchor: 'service-ping') + - service_ping_path = help_page_path('development/service_ping/index.md') - service_ping_link_start = ''.html_safe % { url: service_ping_path } - %p.mb-2= s_('%{service_ping_link_start}Learn more%{service_ping_link_end} about what information is shared with GitLab Inc.').html_safe % { service_ping_link_start: service_ping_link_start, service_ping_link_end: ''.html_safe } + %p.mb-2= s_('%{service_ping_link_start}What information is shared with GitLab Inc.?%{service_ping_link_end}').html_safe % { service_ping_link_start: service_ping_link_start, service_ping_link_end: ''.html_safe } %button.gl-button.btn.btn-default.js-payload-preview-trigger{ type: 'button', data: { payload_selector: ".#{payload_class}" } } .gl-spinner.js-spinner.gl-display-none.gl-mr-2 @@ -46,15 +46,23 @@ - if usage_ping_enabled %p.gl-mb-3.text-muted{ id: 'service_ping_features_helper_text' }= _('You can enable Registration Features because Service Ping is enabled. To continue using Registration Features in the future, you will also need to register with GitLab via a new cloud licensing service.') - else - %p.gl-mb-3.text-muted{ id: 'service_ping_features_helper_text' }= _('To enable Registration Features, make sure "Enable service ping" is checked.') + %p.gl-mb-3.text-muted{ id: 'service_ping_features_helper_text' }= _('To enable Registration Features, first enable Service Ping.') %p.gl-mb-3.text-muted= _('Registration Features include:') .form-text - email_from_gitlab_path = help_page_path('tools/email.md') + - repo_size_limit_path = help_page_path('user/admin_area/settings/account_and_limit_settings.md', anchor: 'repository-size-limit') + - restrict_ip_path = help_page_path('user/group/index.md', anchor: 'restrict-group-access-by-ip-address') - link_end = ''.html_safe - email_from_gitlab_link = ''.html_safe % { url: email_from_gitlab_path } + - repo_size_limit_link = ''.html_safe % { url: repo_size_limit_path } + - restrict_ip_link = ''.html_safe % { url: restrict_ip_path } %ul %li = _('Email from GitLab - email users right from the Admin Area. %{link_start}Learn more%{link_end}.').html_safe % { link_start: email_from_gitlab_link, link_end: link_end } + %li + = _('Limit project size at a global, group, and project level. %{link_start}Learn more%{link_end}.').html_safe % { link_start: repo_size_limit_link, link_end: link_end } + %li + = _('Restrict group access by IP address. %{link_start}Learn more%{link_end}.').html_safe % { link_start: restrict_ip_link, link_end: link_end } = f.submit _('Save changes'), class: "gl-button btn btn-confirm" diff --git a/app/views/admin/application_settings/appearances/preview_sign_in.html.haml b/app/views/admin/application_settings/appearances/preview_sign_in.html.haml index 77c37abbeef..2e4ab714048 100644 --- a/app/views/admin/application_settings/appearances/preview_sign_in.html.haml +++ b/app/views/admin/application_settings/appearances/preview_sign_in.html.haml @@ -1,12 +1,13 @@ = render 'devise/shared/tab_single', tab_title: _('Sign in preview') .login-box %form.gl-show-field-errors + - title = _('This form is disabled in preview') .form-group = label_tag :login - = text_field_tag :login, nil, class: "form-control gl-form-input top", title: _('Please provide your username or email address.') + = text_field_tag :login, nil, disabled: true, class: "form-control gl-form-input top", title: title .form-group = label_tag :password - = password_field_tag :password, nil, class: "form-control gl-form-input bottom", title: _('This field is required.') + = password_field_tag :password, nil, disabled: true, class: "form-control gl-form-input bottom", title: title .form-group - = button_tag _("Sign in"), class: "btn gl-button btn-confirm", type: "button" + = button_tag _("Sign in"), disabled: true, class: "btn gl-button btn-confirm", type: "button", title: title diff --git a/app/views/admin/application_settings/general.html.haml b/app/views/admin/application_settings/general.html.haml index 9102769cc6e..a72c96bb577 100644 --- a/app/views/admin/application_settings/general.html.haml +++ b/app/views/admin/application_settings/general.html.haml @@ -79,7 +79,8 @@ %button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' } = expanded_by_default? ? _('Collapse') : _('Expand') %p - = _('Set max session time for web terminal.') + = _('Set the maximum session time for a web terminal.') + = link_to _('How do I use a web terminal?'), help_page_path('ci/environments/index.md', anchor: 'web-terminals'), target: '_blank', rel: 'noopener noreferrer' .settings-content = render 'terminal' diff --git a/app/views/admin/application_settings/metrics_and_profiling.html.haml b/app/views/admin/application_settings/metrics_and_profiling.html.haml index f1e37c76130..6087551d7c7 100644 --- a/app/views/admin/application_settings/metrics_and_profiling.html.haml +++ b/app/views/admin/application_settings/metrics_and_profiling.html.haml @@ -49,7 +49,7 @@ %button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' } = expanded_by_default? ? _('Collapse') : _('Expand') %p - = _('Enable or disable version check and service ping.') + = _('Enable or disable version check and Service Ping.') .settings-content = render 'usage' diff --git a/app/views/admin/application_settings/network.html.haml b/app/views/admin/application_settings/network.html.haml index 8dff2bc36cb..58e3f3f1136 100644 --- a/app/views/admin/application_settings/network.html.haml +++ b/app/views/admin/application_settings/network.html.haml @@ -35,9 +35,10 @@ = _('Set rate limits for package registry API requests that supersede the general user and IP rate limits.') = link_to _('Learn more.'), help_page_path('user/admin_area/settings/package_registry_rate_limits.md'), target: '_blank', rel: 'noopener noreferrer' .settings-content - = render 'package_registry_limits' + = render partial: 'network_rate_limits', locals: { anchor: 'js-packages-limits-settings', setting_fragment: 'packages_api' } + - if Feature.enabled?(:files_api_throttling, default_enabled: :yaml) - %section.settings.as-files-limits.no-animate#js-files-limits-settings{ class: ('expanded' if expanded_by_default?), data: { testid: 'files-limits-settings' } } + %section.settings.as-files-limits.no-animate#js-files-limits-settings{ class: ('expanded' if expanded_by_default?) } .settings-header %h4 = _('Files API Rate Limits') @@ -46,7 +47,19 @@ %p = _('Configure specific limits for Files API requests that supersede the general user and IP rate limits.') .settings-content - = render 'files_limits' + = render partial: 'network_rate_limits', locals: { anchor: 'js-files-limits-settings', setting_fragment: 'files_api' } + +%section.settings.as-deprecated-limits.no-animate#js-deprecated-limits-settings{ class: ('expanded' if expanded_by_default?) } + .settings-header + %h4 + = _('Deprecated API rate limits') + %button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' } + = expanded_by_default? ? _('Collapse') : _('Expand') + %p + = _('Configure specific limits for deprecated API requests that supersede the general user and IP rate limits.') + = link_to _('Which API requests are affected?'), help_page_path('user/admin_area/settings/deprecated_api_rate_limits.md'), target: '_blank', rel: 'noopener noreferrer' + .settings-content + = render partial: 'network_rate_limits', locals: { anchor: 'js-deprecated-limits-settings', setting_fragment: 'deprecated_api' } %section.settings.as-git-lfs-limits.no-animate#js-git-lfs-limits-settings{ class: ('expanded' if expanded_by_default?), data: { qa_selector: 'git_lfs_limits_content' } } .settings-header diff --git a/app/views/admin/application_settings/reporting.html.haml b/app/views/admin/application_settings/reporting.html.haml index 914a09ff5db..d2e118f0624 100644 --- a/app/views/admin/application_settings/reporting.html.haml +++ b/app/views/admin/application_settings/reporting.html.haml @@ -9,9 +9,7 @@ %button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' } = expanded_by_default? ? _('Collapse') : _('Expand') %p - - recaptcha_v2_link_url = 'https://developers.google.com/recaptcha/docs/versions' - - recaptcha_v2_link_start = ''.html_safe % { url: recaptcha_v2_link_url } - = _('Enable reCAPTCHA, Invisible Captcha, Akismet and set IP limits. For reCAPTCHA, we currently only support %{recaptcha_v2_link_start}v2%{recaptcha_v2_link_end}').html_safe % { recaptcha_v2_link_start: recaptcha_v2_link_start, recaptcha_v2_link_end: ''.html_safe } + = _('Configure CAPTCHAs, IP address limits, and other anti-spam measures.') .settings-content = render 'spam' @@ -22,6 +20,7 @@ %button.btn.gl-button.btn-default.js-settings-toggle{ type: 'button' } = expanded_by_default? ? _('Collapse') : _('Expand') %p - = _('Set notification email for abuse reports.') + = _('Receive notification of abuse reports by email.') + = link_to _('Learn more.'), help_page_path('user/admin_area/review_abuse_reports.md'), target: '_blank', rel: 'noopener noreferrer' .settings-content = render 'abuse' -- cgit v1.2.3