diff options
25 files changed, 69 insertions, 50 deletions
diff --git a/app/assets/javascripts/diffs/components/commit_widget.vue b/app/assets/javascripts/diffs/components/commit_widget.vue index b1a2b2a72ea..facfc553053 100644 --- a/app/assets/javascripts/diffs/components/commit_widget.vue +++ b/app/assets/javascripts/diffs/components/commit_widget.vue @@ -22,7 +22,7 @@ export default { <template> <div class="info-well mw-100 mx-0"> <div class="well-segment"> - <ul class="blob-commit-info"> + <ul class="gl-list-style-none gl-m-0 gl-p-0"> <commit-item :commit="commit" :collapsible="collapsible" /> </ul> </div> diff --git a/app/assets/stylesheets/_page_specific_files.scss b/app/assets/stylesheets/_page_specific_files.scss index 9e81e1d4771..15d9cbfd8c0 100644 --- a/app/assets/stylesheets/_page_specific_files.scss +++ b/app/assets/stylesheets/_page_specific_files.scss @@ -27,5 +27,4 @@ @import './pages/service_desk'; @import './pages/settings'; @import './pages/storage_quota'; -@import './pages/tree'; @import './pages/users'; diff --git a/app/assets/stylesheets/page_bundles/graph_charts.scss b/app/assets/stylesheets/page_bundles/graph_charts.scss new file mode 100644 index 00000000000..7b60cbe3043 --- /dev/null +++ b/app/assets/stylesheets/page_bundles/graph_charts.scss @@ -0,0 +1,27 @@ +@import 'page_bundles/mixins_and_variables_and_functions'; + +.repo-charts { + .sub-header { + margin: 20px 0; + } + + .sub-header-block.border-top { + margin-top: 20px; + padding: 0; + border-top: 1px solid $white-dark; + border-bottom: 0; + } + + .commit-stats li { + font-size: 16px; + } + + .tree-ref-header { + margin-bottom: 20px; + + h4 { + margin: 0; + line-height: 36px; + } + } +} diff --git a/app/assets/stylesheets/pages/tree.scss b/app/assets/stylesheets/page_bundles/tree.scss index a9fbff8958d..f79386bba15 100644 --- a/app/assets/stylesheets/pages/tree.scss +++ b/app/assets/stylesheets/page_bundles/tree.scss @@ -1,3 +1,5 @@ +@import 'mixins_and_variables_and_functions'; + .project-last-commit { min-height: 4.75rem; } @@ -208,39 +210,3 @@ margin-top: $gl-padding; } -.blob-upload-dropzone-previews { - display: flex; - justify-content: center; - align-items: center; - text-align: center; - border: 2px; - border-style: dashed; - border-color: $border-color; - min-height: 200px; -} - -.repo-charts { - .sub-header { - margin: 20px 0; - } - - .sub-header-block.border-top { - margin-top: 20px; - padding: 0; - border-top: 1px solid $white-dark; - border-bottom: 0; - } - - .commit-stats li { - font-size: 16px; - } - - .tree-ref-header { - margin-bottom: 20px; - - h4 { - margin: 0; - line-height: 36px; - } - } -} diff --git a/app/views/devise/sessions/_new_base.html.haml b/app/views/devise/sessions/_new_base.html.haml index e0de8824625..3aeb89979bb 100644 --- a/app/views/devise/sessions/_new_base.html.haml +++ b/app/views/devise/sessions/_new_base.html.haml @@ -1,4 +1,4 @@ -= gitlab_ui_form_for(resource, as: resource_name, url: session_path(resource_name), html: { class: 'new_user gl-show-field-errors js-sign-in-form', aria: { live: 'assertive' }, data: { testid: 'sign-in-form' }}) do |f| += gitlab_ui_form_for(resource, as: resource_name, url: session_path(resource_name), html: { class: 'new_user gl-show-field-errors js-arkose-labs-form', aria: { live: 'assertive' }, data: { testid: 'sign-in-form' }}) do |f| .form-group.gl-px-5.gl-pt-5 = render_if_exists 'devise/sessions/new_base_user_login_label', form: f = f.text_field :login, value: @invite_email, class: 'form-control gl-form-input top js-username-field', autofocus: 'autofocus', autocapitalize: 'off', autocorrect: 'off', required: true, title: _('This field is required.'), data: { qa_selector: 'login_field', testid: 'username-field' } diff --git a/app/views/devise/shared/_signup_box.html.haml b/app/views/devise/shared/_signup_box.html.haml index 991af1eea0c..b9c9c99bf1a 100644 --- a/app/views/devise/shared/_signup_box.html.haml +++ b/app/views/devise/shared/_signup_box.html.haml @@ -6,7 +6,7 @@ - if show_omniauth_providers && omniauth_providers_placement == :top = render 'devise/shared/signup_omniauth_providers_top' - = form_for(resource, as: "new_#{resource_name}", url: url, html: { class: 'new_user gl-show-field-errors', 'aria-live' => 'assertive' }) do |f| + = form_for(resource, as: "new_#{resource_name}", url: url, html: { class: 'new_user gl-show-field-errors js-arkose-labs-form', 'aria-live' => 'assertive' }, data: { testid: 'signup-form' }) do |f| .devise-errors = render 'devise/shared/error_messages', resource: resource - if Gitlab::CurrentSettings.invisible_captcha_enabled @@ -66,8 +66,12 @@ = render_if_exists 'shared/password_requirements_list' = render_if_exists 'devise/shared/phone_verification', form: f %div - - if show_recaptcha_sign_up? + + - if Feature.enabled?(:arkose_labs_signup_challenge) + = render_if_exists 'devise/registrations/arkose_labs' + - elsif show_recaptcha_sign_up? = recaptcha_tags nonce: content_security_policy_nonce + .submit-container.gl-mt-5 = f.submit button_text, class: 'btn gl-button btn-confirm gl-display-block gl-w-full', data: { qa_selector: 'new_user_register_button' } - if Gitlab::CurrentSettings.sign_in_text.present? && Feature.enabled?(:restyle_login_page, @project) diff --git a/app/views/projects/artifacts/browse.html.haml b/app/views/projects/artifacts/browse.html.haml index 3ebac785d55..c91dfe6d28e 100644 --- a/app/views/projects/artifacts/browse.html.haml +++ b/app/views/projects/artifacts/browse.html.haml @@ -1,5 +1,6 @@ - breadcrumb_title _('Artifacts') - page_title @path.presence, _('Artifacts'), "#{@build.name} (##{@build.id})", _('Jobs') +- add_page_specific_style 'page_bundles/tree' = render "projects/jobs/header" diff --git a/app/views/projects/artifacts/file.html.haml b/app/views/projects/artifacts/file.html.haml index 1ad70506be4..e16e3ef266d 100644 --- a/app/views/projects/artifacts/file.html.haml +++ b/app/views/projects/artifacts/file.html.haml @@ -1,4 +1,5 @@ - page_title @path, _('Artifacts'), "#{@build.name} (##{@build.id})", _('Jobs') +- add_page_specific_style 'page_bundles/tree' = render "projects/jobs/header" diff --git a/app/views/projects/blame/show.html.haml b/app/views/projects/blame/show.html.haml index d4efca668eb..2379e00aebc 100644 --- a/app/views/projects/blame/show.html.haml +++ b/app/views/projects/blame/show.html.haml @@ -1,4 +1,5 @@ - page_title _("Blame"), @blob.path, @ref +- add_page_specific_style 'page_bundles/tree' #blob-content-holder.tree-holder{ data: { testid: 'blob-content-holder' } } = render "projects/blob/breadcrumb", blob: @blob, blame: true diff --git a/app/views/projects/blob/show.html.haml b/app/views/projects/blob/show.html.haml index 33b2229f5d1..c8cf12c36f9 100644 --- a/app/views/projects/blob/show.html.haml +++ b/app/views/projects/blob/show.html.haml @@ -1,5 +1,6 @@ - breadcrumb_title _('Repository') - page_title @blob.path, @ref +- add_page_specific_style 'page_bundles/tree' - signatures_path = namespace_project_signatures_path(namespace_id: @project.namespace.full_path, project_id: @project.path, id: @last_commit, limit: 1) - content_for :prefetch_asset_tags do - webpack_preload_asset_tag('monaco', prefetch: true) diff --git a/app/views/projects/commits/show.html.haml b/app/views/projects/commits/show.html.haml index 6b06584ea25..ae68a13929e 100644 --- a/app/views/projects/commits/show.html.haml +++ b/app/views/projects/commits/show.html.haml @@ -1,5 +1,5 @@ - breadcrumb_title _("Commits") - +- add_page_specific_style 'page_bundles/tree' - page_title _("Commits"), @ref = content_for :meta_tags do = auto_discovery_link_tag(:atom, project_commits_path(@project, @ref, rss_url_options), title: "#{@project.name}:#{@ref} commits") diff --git a/app/views/projects/find_file/show.html.haml b/app/views/projects/find_file/show.html.haml index 2e024b8ffc4..7cd4ab08680 100644 --- a/app/views/projects/find_file/show.html.haml +++ b/app/views/projects/find_file/show.html.haml @@ -1,4 +1,5 @@ - page_title _("Find File"), @ref +- add_page_specific_style 'page_bundles/tree' .file-finder-holder.tree-holder.clearfix.js-file-finder{ 'data-file-find-url': "#{escape_javascript(project_files_path(@project, @ref, format: :json))}", 'data-find-tree-url': escape_javascript(project_tree_path(@project, @ref)), 'data-blob-url-template': escape_javascript(project_blob_path(@project, @ref)) } .nav-block diff --git a/app/views/projects/graphs/charts.html.haml b/app/views/projects/graphs/charts.html.haml index 04d400688d4..edf8f71c673 100644 --- a/app/views/projects/graphs/charts.html.haml +++ b/app/views/projects/graphs/charts.html.haml @@ -1,4 +1,5 @@ - page_title _("Repository Analytics") +- add_page_specific_style 'page_bundles/graph_charts' .mb-3 %h3 diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index e9d1661a4f1..c7ac28fa194 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -2,6 +2,7 @@ - @content_class = "limit-container-width" unless fluid_layout - @skip_current_level_breadcrumb = true - add_page_specific_style 'page_bundles/project' +- add_page_specific_style 'page_bundles/tree' = content_for :meta_tags do = auto_discovery_link_tag(:atom, project_path(@project, rss_url_options), title: "#{@project.name} activity") diff --git a/app/views/projects/tree/show.html.haml b/app/views/projects/tree/show.html.haml index 1553eda1cfb..6d1ab80bdc5 100644 --- a/app/views/projects/tree/show.html.haml +++ b/app/views/projects/tree/show.html.haml @@ -1,3 +1,4 @@ +- add_page_specific_style 'page_bundles/tree' - current_route_path = request.fullpath.match(%r{-/tree/[^/]+/(.+$)}).to_a[1] - add_page_startup_graphql_call('repository/path_last_commit', { projectPath: @project.full_path, ref: current_ref, path: current_route_path || "" }) - add_page_startup_graphql_call('repository/permissions', { projectPath: @project.full_path }) diff --git a/app/views/shared/_commit_well.html.haml b/app/views/shared/_commit_well.html.haml deleted file mode 100644 index 48fe258d01f..00000000000 --- a/app/views/shared/_commit_well.html.haml +++ /dev/null @@ -1,4 +0,0 @@ -.info-well.d-none.d-sm-block.project-last-commit.gl-mb-3 - .well-segment - %ul.blob-commit-info - = render 'projects/commits/commit', commit: commit, ref: ref, project: project diff --git a/config/application.rb b/config/application.rb index 03c8eadc4b0..4647d7d9558 100644 --- a/config/application.rb +++ b/config/application.rb @@ -269,6 +269,7 @@ module Gitlab config.assets.precompile << "page_bundles/epics.css" config.assets.precompile << "page_bundles/error_tracking_details.css" config.assets.precompile << "page_bundles/error_tracking_index.css" + config.assets.precompile << "page_bundles/graph_charts.css" config.assets.precompile << "page_bundles/group.css" config.assets.precompile << "page_bundles/ide.css" config.assets.precompile << "page_bundles/import.css" @@ -306,6 +307,7 @@ module Gitlab config.assets.precompile << "page_bundles/terminal.css" config.assets.precompile << "page_bundles/terms.css" config.assets.precompile << "page_bundles/todos.css" + config.assets.precompile << "page_bundles/tree.css" config.assets.precompile << "page_bundles/wiki.css" config.assets.precompile << "page_bundles/work_items.css" config.assets.precompile << "page_bundles/xterm.css" diff --git a/config/feature_flags/development/arkose_labs_signup_challenge.yml b/config/feature_flags/development/arkose_labs_signup_challenge.yml new file mode 100644 index 00000000000..8b40ce5d029 --- /dev/null +++ b/config/feature_flags/development/arkose_labs_signup_challenge.yml @@ -0,0 +1,8 @@ +--- +name: arkose_labs_signup_challenge +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95560 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/370932 +milestone: '15.4' +type: development +group: group::anti-abuse +default_enabled: false diff --git a/doc/administration/job_logs.md b/doc/administration/job_logs.md index d2837bfa96e..84da4e31d92 100644 --- a/doc/administration/job_logs.md +++ b/doc/administration/job_logs.md @@ -134,8 +134,8 @@ For more information, see [delete references to missing artifacts](raketasks/che ## Incremental logging architecture -> - [Deployed behind a feature flag](../user/feature_flags.md), disabled by default. -> - Enabled on GitLab.com. +> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18169) in GitLab 10.8 [with a flag](feature_flags.md) named `ci_enable_live_trace`. Disabled by default. +> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/241471) in GitLab 13.6. > - [Recommended for production use](https://gitlab.com/groups/gitlab-org/-/epics/4275) in GitLab 13.6. > - [Recommended for production use with AWS S3](https://gitlab.com/gitlab-org/gitlab/-/issues/273498) in GitLab 13.7. > - To use in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-incremental-logging). diff --git a/doc/ci/variables/predefined_variables.md b/doc/ci/variables/predefined_variables.md index ca30bcec35b..77005e1cec4 100644 --- a/doc/ci/variables/predefined_variables.md +++ b/doc/ci/variables/predefined_variables.md @@ -66,7 +66,7 @@ as it can cause the pipeline to behave unexpectedly. | `CI_JOB_IMAGE` | 12.9 | 12.9 | The name of the Docker image running the job. | | `CI_JOB_JWT` | 12.10 | all | A RS256 JSON web token to authenticate with third party systems that support JWT authentication, for example [HashiCorp's Vault](../secrets/index.md). | | `CI_JOB_JWT_V1` | 14.6 | all | The same value as `CI_JOB_JWT`. | -| `CI_JOB_JWT_V2` | 14.6 | all | [**alpha:**](../../policy/alpha-beta-support.md#alpha-features) A newly formatted RS256 JSON web token to increase compatibility. Similar to `CI_JOB_JWT`, except the issuer (`iss`) claim is changed from `gitlab.com` to `https://gitlab.com`, `sub` has changed from `job_id` to a string that contains the project path, and an `aud` claim is added. Format is subject to change. Be aware, the `aud` field is a constant value. Trusting JWTs in multiple relying parties can lead to [one RP sending a JWT to another one and acting maliciously as a job](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/72555#note_769112331). | +| `CI_JOB_JWT_V2` | 14.6 | all | A newly formatted RS256 JSON web token to increase compatibility. Similar to `CI_JOB_JWT`, except the issuer (`iss`) claim is changed from `gitlab.com` to `https://gitlab.com`, `sub` has changed from `job_id` to a string that contains the project path, and an `aud` claim is added. Format is subject to change. Be aware, the `aud` field is a constant value. Trusting JWTs in multiple relying parties can lead to [one RP sending a JWT to another one and acting maliciously as a job](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/72555#note_769112331). **Note:** The `CI_JOB_JWT_V2` variable is available for testing, but the full feature is planned to be generally available when [issue 360657](https://gitlab.com/gitlab-org/gitlab/-/issues/360657) is complete.| | `CI_JOB_MANUAL` | 8.12 | all | Only available if the job was started manually. `true` when available. | | `CI_JOB_NAME` | 9.0 | 0.5 | The name of the job. | | `CI_JOB_STAGE` | 9.0 | 0.5 | The name of the job's stage. | diff --git a/doc/tutorials/move_personal_project_to_a_group.md b/doc/tutorials/move_personal_project_to_a_group.md index 4f94f77e2bd..dce685bff98 100644 --- a/doc/tutorials/move_personal_project_to_a_group.md +++ b/doc/tutorials/move_personal_project_to_a_group.md @@ -46,7 +46,7 @@ Maintainer role for the group. If you don't have a group, create one: -1. On the top bar, select **Main menu > Groups > View all groups** +1. On the top bar, select **Main menu > Groups > View all groups**. 1. On the right of the page, select **New group**. 1. In **Group name**, enter a name for the group. 1. In **Group URL**, enter a path for the group, which is used as the namespace. diff --git a/locale/gitlab.pot b/locale/gitlab.pot index cb2052c7aea..6eb58c5e575 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -9725,6 +9725,9 @@ msgstr "" msgid "Complete verification to sign in." msgstr "" +msgid "Complete verification to sign up." +msgstr "" + msgid "Completed" msgstr "" @@ -29911,6 +29914,9 @@ msgstr "" msgid "Please wait while we import the repository for you. Refresh at will." msgstr "" +msgid "Please wait while we prepare for verification." +msgstr "" + msgid "Pods in use" msgstr "" diff --git a/spec/controllers/registrations_controller_spec.rb b/spec/controllers/registrations_controller_spec.rb index 70d4559edc1..fcf7331423c 100644 --- a/spec/controllers/registrations_controller_spec.rb +++ b/spec/controllers/registrations_controller_spec.rb @@ -7,6 +7,7 @@ RSpec.describe RegistrationsController do before do stub_application_setting(require_admin_approval_after_user_signup: false) + stub_feature_flags(arkose_labs_signup_challenge: false) end describe '#new' do diff --git a/spec/features/invites_spec.rb b/spec/features/invites_spec.rb index 1baa97096d9..a86e4cead48 100644 --- a/spec/features/invites_spec.rb +++ b/spec/features/invites_spec.rb @@ -10,6 +10,7 @@ RSpec.describe 'Group or Project invitations', :aggregate_failures do let(:group_invite) { group.group_members.invite.last } before do + stub_feature_flags(arkose_labs_signup_challenge: false) stub_application_setting(require_admin_approval_after_user_signup: false) project.add_maintainer(owner) group.add_owner(owner) diff --git a/spec/features/users/signup_spec.rb b/spec/features/users/signup_spec.rb index fa6a917a059..998570da8b2 100644 --- a/spec/features/users/signup_spec.rb +++ b/spec/features/users/signup_spec.rb @@ -66,6 +66,7 @@ RSpec.describe 'Signup' do flag_values = [true, false] flag_values.each do |val| before do + stub_feature_flags(arkose_labs_signup_challenge: false) stub_feature_flags(restyle_login_page: val) stub_application_setting(require_admin_approval_after_user_signup: false) end |
