diff --git a/.rubocop.yml b/.rubocop.yml index 19f0b0b294f..c4d26f6176f 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -701,3 +701,11 @@ RSpec/TopLevelDescribePath: Exclude: - 'spec/fixtures/**/*.rb' - 'ee/spec/fixtures/**/*.rb' + +QA/SelectorUsage: + Enabled: true + Include: + - 'spec/**/*.rb' + - 'ee/spec/**/*.rb' + Exclude: + - 'spec/rubocop/**/*_spec.rb' diff --git a/app/assets/javascripts/diffs/components/diff_row.vue b/app/assets/javascripts/diffs/components/diff_row.vue index c310bd9f31a..869a75f25f2 100644 --- a/app/assets/javascripts/diffs/components/diff_row.vue +++ b/app/assets/javascripts/diffs/components/diff_row.vue @@ -140,16 +140,13 @@ export default { }, (line) => line.type, ), - lineContent: memoize( - (line) => { - if (line.isConflictMarker) { - return line.type === CONFLICT_MARKER_THEIR ? 'HEAD//our changes' : 'origin//their changes'; - } + lineContent: (line) => { + if (line.isConflictMarker) { + return line.type === CONFLICT_MARKER_THEIR ? 'HEAD//our changes' : 'origin//their changes'; + } - return line.rich_text; - }, - (line) => line.line_code, - ), + return line.rich_text; + }, CONFLICT_MARKER, CONFLICT_MARKER_THEIR, CONFLICT_OUR, diff --git a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue index 86a2d127363..cc46484c05b 100644 --- a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue +++ b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue @@ -11,6 +11,7 @@ import { featureAccessLevel, featureAccessLevelNone, CVE_ID_REQUEST_BUTTON_I18N, + featureAccessLevelDescriptions, } from '../constants'; import { toggleHiddenClassBySelector } from '../external'; import projectFeatureSetting from './project_feature_setting.vue'; @@ -176,7 +177,7 @@ export default { requirementsAccessLevel: featureAccessLevel.EVERYONE, securityAndComplianceAccessLevel: featureAccessLevel.PROJECT_MEMBERS, operationsAccessLevel: featureAccessLevel.EVERYONE, - containerRegistryEnabled: true, + containerRegistryAccessLevel: featureAccessLevel.EVERYONE, lfsEnabled: true, requestAccessEnabled: true, highlightChangesClass: false, @@ -184,6 +185,8 @@ export default { cveIdRequestEnabled: true, featureAccessLevelEveryone, featureAccessLevelMembers, + featureAccessLevel, + featureAccessLevelDescriptions, }; return { ...defaults, ...this.currentSettings }; @@ -248,7 +251,10 @@ export default { }, showContainerRegistryPublicNote() { - return this.visibilityLevel === visibilityOptions.PUBLIC; + return ( + this.visibilityLevel === visibilityOptions.PUBLIC && + this.containerRegistryAccessLevel === featureAccessLevel.EVERYONE + ); }, repositoryHelpText() { @@ -310,6 +316,10 @@ export default { featureAccessLevel.PROJECT_MEMBERS, this.operationsAccessLevel, ); + this.containerRegistryAccessLevel = Math.min( + featureAccessLevel.PROJECT_MEMBERS, + this.containerRegistryAccessLevel, + ); if (this.pagesAccessLevel === featureAccessLevel.EVERYONE) { // When from Internal->Private narrow access for only members this.pagesAccessLevel = featureAccessLevel.PROJECT_MEMBERS; @@ -339,6 +349,8 @@ export default { this.requirementsAccessLevel = featureAccessLevel.EVERYONE; if (this.operationsAccessLevel === featureAccessLevel.PROJECT_MEMBERS) this.operationsAccessLevel = featureAccessLevel.EVERYONE; + if (this.containerRegistryAccessLevel === featureAccessLevel.PROJECT_MEMBERS) + this.containerRegistryAccessLevel = featureAccessLevel.EVERYONE; this.highlightChanges(); } @@ -521,19 +533,24 @@ export default { " >
- {{ - s__( - 'ProjectSettings|Note: the container registry is always visible when a project is public', - ) - }} + + +
-