diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-10-07 06:09:43 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-10-07 06:09:43 +0300 |
commit | cd0a6b898238d02cf862379a6fe06e96a737bbb5 (patch) | |
tree | ae0bae3dfa97ef58b487b46b835cd90f6dadbb5e | |
parent | fa5ca3519ed27787cb302f0c62f791def0834038 (diff) |
Add latest changes from gitlab-org/gitlab@master
26 files changed, 43 insertions, 33 deletions
diff --git a/app/assets/javascripts/vue_shared/components/markdown/suggestion_diff_header.vue b/app/assets/javascripts/vue_shared/components/markdown/suggestion_diff_header.vue index c236b7ad6b1..f9ae59567b2 100644 --- a/app/assets/javascripts/vue_shared/components/markdown/suggestion_diff_header.vue +++ b/app/assets/javascripts/vue_shared/components/markdown/suggestion_diff_header.vue @@ -139,7 +139,7 @@ export default { <gl-loading-icon size="sm" class="d-flex-center mr-2" /> <span>{{ applyingSuggestionsMessage }}</span> </div> - <div v-else-if="canApply" class="d-flex align-items-center"> + <div v-else-if="isLoggedIn" class="d-flex align-items-center"> <div v-if="isBatched"> <gl-button class="btn-inverted js-remove-from-batch-btn btn-grouped" @@ -149,9 +149,8 @@ export default { {{ __('Remove from batch') }} </gl-button> </div> - <div v-else> + <div v-else-if="!isDisableButton && suggestionsCount > 1"> <gl-button - v-if="!isDisableButton && suggestionsCount > 1" class="btn-inverted js-add-to-batch-btn btn-grouped" data-qa-selector="add_suggestion_batch_button" :disabled="isDisableButton" diff --git a/db/migrate/20210908195506_add_data_to_vulnerability_finding_evidence.rb b/db/migrate/20210908195506_add_data_to_vulnerability_finding_evidence.rb new file mode 100644 index 00000000000..447508d3d5b --- /dev/null +++ b/db/migrate/20210908195506_add_data_to_vulnerability_finding_evidence.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class AddDataToVulnerabilityFindingEvidence < Gitlab::Database::Migration[1.0] + def change + add_column :vulnerability_finding_evidences, :data, :jsonb, default: {}, null: false + end +end diff --git a/db/schema_migrations/20210908195506 b/db/schema_migrations/20210908195506 new file mode 100644 index 00000000000..8680c7639d0 --- /dev/null +++ b/db/schema_migrations/20210908195506 @@ -0,0 +1 @@ +1ad794ac96f6297203046562c2ec422fbb4d1818a65266bb92179096040f7d82
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 72ba7ac328e..5fd10356a24 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -20382,6 +20382,7 @@ CREATE TABLE vulnerability_finding_evidences ( updated_at timestamp with time zone NOT NULL, vulnerability_occurrence_id bigint NOT NULL, summary text, + data jsonb DEFAULT '{}'::jsonb NOT NULL, CONSTRAINT check_5773b236fb CHECK ((char_length(summary) <= 8000000)) ); diff --git a/doc/administration/gitaly/troubleshooting.md b/doc/administration/gitaly/troubleshooting.md index 4b68edfca17..1f90ebb7565 100644 --- a/doc/administration/gitaly/troubleshooting.md +++ b/doc/administration/gitaly/troubleshooting.md @@ -365,6 +365,15 @@ To determine the current primary Gitaly node for a specific Praefect node: curl localhost:9652/metrics | grep gitaly_praefect_primaries` ``` +### Check that repositories are in sync + +Is [some cases](index.md#known-issues) the Praefect database can get out of sync with the underlying Gitaly nodes. To check that +a given repository is fully synced on all nodes, run the [`gitlab:praefect:replicas` Rake task](../raketasks/praefect.md#replica-checksums) +that checksums the repository on all Gitaly nodes. + +The [Praefect dataloss](praefect.md#check-for-data-loss) command only checks the state of the repo in the Praefect database, and cannot +be relied to detect sync problems in this scenario. + ### Relation does not exist errors By default Praefect database tables are created automatically by `gitlab-ctl reconfigure` task. diff --git a/doc/api/access_requests.md b/doc/api/access_requests.md index 1634184a374..df830a1607d 100644 --- a/doc/api/access_requests.md +++ b/doc/api/access_requests.md @@ -2,13 +2,10 @@ stage: Manage group: Access info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" -type: reference, api --- # Group and project access requests API **(FREE)** -> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/18583) in GitLab 8.11. - ## Valid access levels The access levels are defined in the `Gitlab::Access` module, and the diff --git a/doc/integration/kerberos.md b/doc/integration/kerberos.md index aab60a4e522..2d4abb75875 100644 --- a/doc/integration/kerberos.md +++ b/doc/integration/kerberos.md @@ -2,7 +2,6 @@ stage: Manage group: Access info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments" -type: reference, how-to --- # Kerberos integration **(PREMIUM SELF)** @@ -296,7 +295,7 @@ Kerberos ticket-based authentication. ## Upgrading from password-based to ticket-based Kerberos sign-ins -Prior to GitLab 8.10 Enterprise Edition, users had to submit their +In previous versions of GitLab users had to submit their Kerberos username and password to GitLab when signing in. We plan to remove support for password-based Kerberos sign-ins in a future release, so we recommend that you upgrade to ticket-based sign-ins. diff --git a/doc/user/group/subgroups/img/group_members_13_7.png b/doc/user/group/subgroups/img/group_members_13_7.png Binary files differdeleted file mode 100644 index ab22bcb932c..00000000000 --- a/doc/user/group/subgroups/img/group_members_13_7.png +++ /dev/null diff --git a/doc/user/group/subgroups/img/group_members_v14_4.png b/doc/user/group/subgroups/img/group_members_v14_4.png Binary files differnew file mode 100644 index 00000000000..695564a8b74 --- /dev/null +++ b/doc/user/group/subgroups/img/group_members_v14_4.png diff --git a/doc/user/group/subgroups/index.md b/doc/user/group/subgroups/index.md index aaff0574ef0..507db5c4a86 100644 --- a/doc/user/group/subgroups/index.md +++ b/doc/user/group/subgroups/index.md @@ -136,7 +136,7 @@ the **Members** page of the group the member was added. You can tell if a member has inherited the permissions from a parent group by looking at the group's **Members** page. -![Group members page](img/group_members_13_7.png) +![Group members page](img/group_members_v14_4.png) From the image above, we can deduce the following things: diff --git a/doc/user/permissions.md b/doc/user/permissions.md index 4bedf7a3ad9..eae0df5ac39 100644 --- a/doc/user/permissions.md +++ b/doc/user/permissions.md @@ -33,8 +33,6 @@ usernames. A GitLab administrator can configure the GitLab instance to ## Project members permissions -> The Master role was renamed to Maintainer in GitLab 11.0. - The Owner role is only available at the group or personal namespace level (and for instance administrators) and is inherited by its projects. While Maintainer is the highest project-level role, some actions can only be performed by a personal namespace or group owner, or an instance administrator, who receives all permissions. For more information, see [projects members documentation](project/members/index.md). @@ -269,9 +267,6 @@ Find the visibility permissions for the Container Registry, as described in the ## Group members permissions -NOTE: -In GitLab 11.0, the Master role was renamed to Maintainer. - Any user can remove themselves from a group, unless they are the last Owner of the group. @@ -442,8 +437,6 @@ free guest user. ## Auditor users **(PREMIUM SELF)** ->[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/998) in [GitLab Premium](https://about.gitlab.com/pricing/) 8.17. - Auditor users are given read-only access to all projects, groups, and other resources on the GitLab instance. @@ -454,7 +447,7 @@ with the permissions described on the documentation on [auditor users permission ## Users with minimal access **(PREMIUM)** ->[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40942) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.4. +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40942) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.4. Owners can add members with a "minimal access" role to a parent group. Such users don't automatically have access to projects and subgroups underneath. To support such access, owners must explicitly add these "minimal access" users to the specific subgroups/projects. @@ -480,9 +473,6 @@ which visibility level you select on project settings. ## GitLab CI/CD permissions -NOTE: -In GitLab 11.0, the Master role was renamed to Maintainer. - GitLab CI/CD permissions rely on the role the user has in GitLab. There are four roles: @@ -513,9 +503,6 @@ instance and project. ### Job permissions -NOTE: -In GitLab 11.0, the Master role was renamed to Maintainer. - This table shows granted privileges for jobs triggered by specific types of users: @@ -555,7 +542,7 @@ for more information. ## LDAP users permissions -In GitLab 8.15 and later, LDAP user permissions can now be manually overridden by an administrator. +LDAP user permissions can be manually overridden by an administrator. Read through the documentation on [LDAP users permissions](group/index.md#manage-group-memberships-via-ldap) to learn more. ## Project aliases diff --git a/doc/user/profile/account/two_factor_authentication.md b/doc/user/profile/account/two_factor_authentication.md index e3f63ba0748..6fe4b457fac 100644 --- a/doc/user/profile/account/two_factor_authentication.md +++ b/doc/user/profile/account/two_factor_authentication.md @@ -1,5 +1,4 @@ --- -type: howto stage: Manage group: Access info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments @@ -235,8 +234,6 @@ Feature.disable(:forti_token_cloud, User.find(<user ID>)) ### U2F device -> Introduced in [GitLab 8.9](https://about.gitlab.com/blog/2016/06/22/gitlab-adds-support-for-u2f/). - GitLab officially only supports [YubiKey](https://www.yubico.com/products/) U2F devices, but users have successfully used [SoloKeys](https://solokeys.com/) or [Google Titan Security Key](https://cloud.google.com/titan-security-key). diff --git a/doc/user/project/members/img/project_members_filter_direct_v13_9.png b/doc/user/project/members/img/project_members_filter_direct_v13_9.png Binary files differdeleted file mode 100644 index 50115ee4052..00000000000 --- a/doc/user/project/members/img/project_members_filter_direct_v13_9.png +++ /dev/null diff --git a/doc/user/project/members/img/project_members_filter_direct_v14_4.png b/doc/user/project/members/img/project_members_filter_direct_v14_4.png Binary files differnew file mode 100644 index 00000000000..79cee06bc30 --- /dev/null +++ b/doc/user/project/members/img/project_members_filter_direct_v14_4.png diff --git a/doc/user/project/members/img/project_members_filter_inherited_v13_9.png b/doc/user/project/members/img/project_members_filter_inherited_v13_9.png Binary files differdeleted file mode 100644 index 433003fe58b..00000000000 --- a/doc/user/project/members/img/project_members_filter_inherited_v13_9.png +++ /dev/null diff --git a/doc/user/project/members/img/project_members_filter_inherited_v14_4.png b/doc/user/project/members/img/project_members_filter_inherited_v14_4.png Binary files differnew file mode 100644 index 00000000000..ce2a0ebf088 --- /dev/null +++ b/doc/user/project/members/img/project_members_filter_inherited_v14_4.png diff --git a/doc/user/project/members/img/project_members_search_v13_9.png b/doc/user/project/members/img/project_members_search_v13_9.png Binary files differdeleted file mode 100644 index 67280d11dca..00000000000 --- a/doc/user/project/members/img/project_members_search_v13_9.png +++ /dev/null diff --git a/doc/user/project/members/img/project_members_search_v14_4.png b/doc/user/project/members/img/project_members_search_v14_4.png Binary files differnew file mode 100644 index 00000000000..8c52c5788d4 --- /dev/null +++ b/doc/user/project/members/img/project_members_search_v14_4.png diff --git a/doc/user/project/members/img/project_members_sort_v13_9.png b/doc/user/project/members/img/project_members_sort_v13_9.png Binary files differdeleted file mode 100644 index 47abe18ba49..00000000000 --- a/doc/user/project/members/img/project_members_sort_v13_9.png +++ /dev/null diff --git a/doc/user/project/members/img/project_members_sort_v14_4.png b/doc/user/project/members/img/project_members_sort_v14_4.png Binary files differnew file mode 100644 index 00000000000..20834b9307e --- /dev/null +++ b/doc/user/project/members/img/project_members_sort_v14_4.png diff --git a/doc/user/project/members/img/project_members_v13_9.png b/doc/user/project/members/img/project_members_v13_9.png Binary files differdeleted file mode 100644 index 3b48c752c6a..00000000000 --- a/doc/user/project/members/img/project_members_v13_9.png +++ /dev/null diff --git a/doc/user/project/members/img/project_members_v14_4.png b/doc/user/project/members/img/project_members_v14_4.png Binary files differnew file mode 100644 index 00000000000..0a235e91d28 --- /dev/null +++ b/doc/user/project/members/img/project_members_v14_4.png diff --git a/doc/user/project/members/index.md b/doc/user/project/members/index.md index 8a70b74fcc1..f9788ef18ec 100644 --- a/doc/user/project/members/index.md +++ b/doc/user/project/members/index.md @@ -87,7 +87,7 @@ A success message is displayed and the new members are now displayed in the list When your project belongs to a group, group members inherit their role from the group. -![Project members page](img/project_members_v13_9.png) +![Project members page](img/project_members_v14_4.png) In this example: @@ -140,7 +140,7 @@ You can filter and sort members in a project. 1. In the **Filter members** box, select `Membership` `=` `Inherited`. 1. Press Enter. -![Project members filter inherited](img/project_members_filter_inherited_v13_9.png) +![Project members filter inherited](img/project_members_filter_inherited_v14_4.png) ### Display direct members @@ -148,19 +148,19 @@ You can filter and sort members in a project. 1. In the **Filter members** box, select `Membership` `=` `Direct`. 1. Press Enter. -![Project members filter direct](img/project_members_filter_direct_v13_9.png) +![Project members filter direct](img/project_members_filter_direct_v14_4.png) ### Search You can search for members by name, username, or email. -![Project members search](img/project_members_search_v13_9.png) +![Project members search](img/project_members_search_v14_4.png) ### Sort You can sort members by **Account**, **Access granted**, **Max role**, or **Last sign-in** in ascending or descending order. -![Project members sort](img/project_members_sort_v13_9.png) +![Project members sort](img/project_members_sort_v14_4.png) ## Request access to a project diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 496a5f1bf81..0375285895d 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -30340,6 +30340,9 @@ msgstr "" msgid "SecurityReports|Oops, something doesn't seem right." msgstr "" +msgid "SecurityReports|Operational vulnerabilities" +msgstr "" + msgid "SecurityReports|Project" msgstr "" diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb index 0ee60199b1e..5eccb0b46ef 100644 --- a/spec/db/schema_spec.rb +++ b/spec/db/schema_spec.rb @@ -204,7 +204,8 @@ RSpec.describe 'Database schema' do "Operations::FeatureFlags::Strategy" => %w[parameters], "Packages::Composer::Metadatum" => %w[composer_json], "RawUsageData" => %w[payload], # Usage data payload changes often, we cannot use one schema - "Releases::Evidence" => %w[summary] + "Releases::Evidence" => %w[summary], + "Vulnerabilities::Finding::Evidence" => %w[data] # Validation work in progress }.freeze # We are skipping GEO models for now as it adds up complexity diff --git a/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js b/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js index e5fa4a4bf7f..9bc2aad1895 100644 --- a/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js +++ b/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js @@ -230,5 +230,14 @@ describe('Suggestion Diff component', () => { expect(tooltip.modifiers.viewport).toBe(true); expect(tooltip.value).toBe('This also resolves this thread'); }); + + it('renders the inapplicable reason in the tooltip when button is not applicable', () => { + const inapplicableReason = 'lorem'; + createComponent({ canApply: false, inapplicableReason, batchSuggestionsCount: 0 }); + const tooltip = findTooltip(); + + expect(tooltip.modifiers.viewport).toBe(true); + expect(tooltip.value).toBe(inapplicableReason); + }); }); }); |