diff --git a/.haml-lint.yml b/.haml-lint.yml index 94e84462862..a6aed05d004 100644 --- a/.haml-lint.yml +++ b/.haml-lint.yml @@ -106,6 +106,7 @@ linters: - Cop/LineBreakAfterGuardClauses - Cop/LineBreakAroundConditionalBlock - Cop/ProjectPathHelper + - Gitlab/FeatureAvailableUsage - GitlabSecurity/PublicSend - Layout/EmptyLineAfterGuardClause - Layout/LeadingCommentSpace diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index 5a509b3caf3..d2d32691dba 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -3580,3 +3580,239 @@ Gitlab/DelegatePredicateMethods: - 'ee/app/models/ee/namespace.rb' - 'ee/app/models/license.rb' - 'lib/gitlab/ci/trace/stream.rb' + +# Offense count: 298 +Gitlab/FeatureAvailableUsage: + Exclude: + - 'app/controllers/projects/application_controller.rb' + - 'app/graphql/types/project_type.rb' + - 'app/helpers/events_helper.rb' + - 'app/helpers/labels_helper.rb' + - 'app/policies/project_policy.rb' + - 'app/views/groups/issues.html.haml' + - 'app/views/groups/merge_requests.html.haml' + - 'app/views/shared/boards/_switcher.html.haml' + - 'ee/app/controllers/concerns/description_diff_actions.rb' + - 'ee/app/controllers/concerns/ee/boards_actions.rb' + - 'ee/app/controllers/concerns/security_dashboards_permissions.rb' + - 'ee/app/controllers/ee/boards/lists_controller.rb' + - 'ee/app/controllers/ee/groups/application_controller.rb' + - 'ee/app/controllers/ee/groups/group_members_controller.rb' + - 'ee/app/controllers/ee/projects/autocomplete_sources_controller.rb' + - 'ee/app/controllers/ee/projects/issues_controller.rb' + - 'ee/app/controllers/ee/projects/security/configuration_controller.rb' + - 'ee/app/controllers/ee/projects/settings/ci_cd_controller.rb' + - 'ee/app/controllers/ee/projects/settings/operations_controller.rb' + - 'ee/app/controllers/ee/projects/settings/repository_controller.rb' + - 'ee/app/controllers/groups/analytics/application_controller.rb' + - 'ee/app/controllers/groups/audit_events_controller.rb' + - 'ee/app/controllers/groups/bulk_update_controller.rb' + - 'ee/app/controllers/groups/contribution_analytics_controller.rb' + - 'ee/app/controllers/groups/epics_controller.rb' + - 'ee/app/controllers/groups/hooks_controller.rb' + - 'ee/app/controllers/groups/issues_analytics_controller.rb' + - 'ee/app/controllers/groups/iterations_controller.rb' + - 'ee/app/controllers/projects/analytics/issues_analytics_controller.rb' + - 'ee/app/controllers/projects/audit_events_controller.rb' + - 'ee/app/controllers/projects/cluster_agents_controller.rb' + - 'ee/app/controllers/projects/iterations/inherited_controller.rb' + - 'ee/app/controllers/projects/iterations_controller.rb' + - 'ee/app/controllers/projects/path_locks_controller.rb' + - 'ee/app/controllers/projects/subscriptions_controller.rb' + - 'ee/app/finders/autocomplete/vulnerabilities_autocomplete_finder.rb' + - 'ee/app/finders/clusters/agents_finder.rb' + - 'ee/app/finders/ee/alert_management/alerts_finder.rb' + - 'ee/app/finders/ee/alert_management/http_integrations_finder.rb' + - 'ee/app/finders/ee/group_projects_finder.rb' + - 'ee/app/graphql/ee/types/group_type.rb' + - 'ee/app/graphql/mutations/dast/profiles/create.rb' + - 'ee/app/graphql/mutations/dast/profiles/run.rb' + - 'ee/app/graphql/mutations/dast/profiles/update.rb' + - 'ee/app/graphql/mutations/instance_security_dashboard/remove_project.rb' + - 'ee/app/graphql/resolvers/boards/epic_boards_resolver.rb' + - 'ee/app/graphql/resolvers/clusters/agent_tokens_resolver.rb' + - 'ee/app/graphql/resolvers/epics_resolver.rb' + - 'ee/app/helpers/ee/analytics/navbar_helper.rb' + - 'ee/app/helpers/ee/application_helper.rb' + - 'ee/app/helpers/ee/boards_helper.rb' + - 'ee/app/helpers/ee/clusters_helper.rb' + - 'ee/app/helpers/ee/dashboard_helper.rb' + - 'ee/app/helpers/ee/form_helper.rb' + - 'ee/app/helpers/ee/graph_helper.rb' + - 'ee/app/helpers/ee/groups_helper.rb' + - 'ee/app/helpers/ee/issues_helper.rb' + - 'ee/app/helpers/ee/lock_helper.rb' + - 'ee/app/helpers/ee/operations_helper.rb' + - 'ee/app/helpers/ee/projects/incidents_helper.rb' + - 'ee/app/helpers/ee/projects_helper.rb' + - 'ee/app/helpers/ee/releases_helper.rb' + - 'ee/app/helpers/ee/search_helper.rb' + - 'ee/app/helpers/ee/tree_helper.rb' + - 'ee/app/helpers/groups/security_features_helper.rb' + - 'ee/app/models/approval_state.rb' + - 'ee/app/models/concerns/approvable.rb' + - 'ee/app/models/concerns/ee/project_security_scanners_information.rb' + - 'ee/app/models/concerns/ee/protected_ref_access.rb' + - 'ee/app/models/concerns/has_timelogs_report.rb' + - 'ee/app/models/concerns/insights_feature.rb' + - 'ee/app/models/ee/board.rb' + - 'ee/app/models/ee/ci/build.rb' + - 'ee/app/models/ee/ci/build_dependencies.rb' + - 'ee/app/models/ee/ci/pipeline.rb' + - 'ee/app/models/ee/group.rb' + - 'ee/app/models/ee/group_member.rb' + - 'ee/app/models/ee/issue.rb' + - 'ee/app/models/ee/list.rb' + - 'ee/app/models/ee/merge_request.rb' + - 'ee/app/models/ee/milestone_release.rb' + - 'ee/app/models/ee/namespace.rb' + - 'ee/app/models/ee/namespace_setting.rb' + - 'ee/app/models/ee/project.rb' + - 'ee/app/models/ee/project_ci_cd_setting.rb' + - 'ee/app/models/namespace_statistics.rb' + - 'ee/app/models/project_security_setting.rb' + - 'ee/app/models/saml_provider.rb' + - 'ee/app/policies/compliance_management/framework_policy.rb' + - 'ee/app/policies/compliance_management/framework_policy.rb' + - 'ee/app/policies/ee/group_policy.rb' + - 'ee/app/policies/ee/namespace_policy.rb' + - 'ee/app/policies/ee/project_policy.rb' + - 'ee/app/policies/ee/protected_branch_policy.rb' + - 'ee/app/presenters/ee/label_presenter.rb' + - 'ee/app/presenters/epic_presenter.rb' + - 'ee/app/presenters/merge_request_approver_presenter.rb' + - 'ee/app/serializers/dashboard_operations_project_entity.rb' + - 'ee/app/serializers/ee/environment_entity.rb' + - 'ee/app/serializers/ee/evidences/release_entity.rb' + - 'ee/app/serializers/ee/note_entity.rb' + - 'ee/app/services/boards/epic_boards/update_service.rb' + - 'ee/app/services/ci/audit_variable_change_service.rb' + - 'ee/app/services/clusters/agent_tokens/create_service.rb' + - 'ee/app/services/clusters/agents/create_service.rb' + - 'ee/app/services/dashboard/projects/create_service.rb' + - 'ee/app/services/dashboard/projects/list_service.rb' + - 'ee/app/services/dast/profiles/create_service.rb' + - 'ee/app/services/dast/profiles/update_service.rb' + - 'ee/app/services/dast_on_demand_scans/create_service.rb' + - 'ee/app/services/dast_site_tokens/create_service.rb' + - 'ee/app/services/dast_site_validations/create_service.rb' + - 'ee/app/services/dast_site_validations/revoke_service.rb' + - 'ee/app/services/dast_site_validations/validate_service.rb' + - 'ee/app/services/ee/alert_management/http_integrations/create_service.rb' + - 'ee/app/services/ee/audit_event_service.rb' + - 'ee/app/services/ee/boards/issues/list_service.rb' + - 'ee/app/services/ee/boards/lists/create_service.rb' + - 'ee/app/services/ee/boards/update_service.rb' + - 'ee/app/services/ee/groups/create_service.rb' + - 'ee/app/services/ee/ide/schemas_config_service.rb' + - 'ee/app/services/ee/issuable_base_service.rb' + - 'ee/app/services/ee/issue_links/create_service.rb' + - 'ee/app/services/ee/issues/build_service.rb' + - 'ee/app/services/ee/lfs/lock_file_service.rb' + - 'ee/app/services/ee/lfs/unlock_file_service.rb' + - 'ee/app/services/ee/merge_requests/approval_service.rb' + - 'ee/app/services/ee/merge_requests/build_service.rb' + - 'ee/app/services/ee/merge_requests/merge_base_service.rb' + - 'ee/app/services/ee/merge_requests/refresh_service.rb' + - 'ee/app/services/ee/merge_requests/update_service.rb' + - 'ee/app/services/ee/projects/create_service.rb' + - 'ee/app/services/ee/protected_branches/create_service.rb' + - 'ee/app/services/ee/releases/create_evidence_service.rb' + - 'ee/app/services/ee/search/group_service.rb' + - 'ee/app/services/iterations/cadences/create_service.rb' + - 'ee/app/services/iterations/cadences/update_service.rb' + - 'ee/app/services/iterations/create_service.rb' + - 'ee/app/services/iterations/update_service.rb' + - 'ee/app/services/merge_requests/sync_report_approver_approval_rules.rb' + - 'ee/app/services/merge_requests/update_blocks_service.rb' + - 'ee/app/services/projects/mark_for_deletion_service.rb' + - 'ee/app/services/quality_management/test_cases/create_service.rb' + - 'ee/app/services/requirements_management/process_test_reports_service.rb' + - 'ee/app/services/security/store_scans_service.rb' + - 'ee/app/views/groups/_templates_setting.html.haml' + - 'ee/app/views/groups/contribution_analytics/show.html.haml' + - 'ee/app/views/groups/ee/_settings_nav.html.haml' + - 'ee/app/views/groups/epics/index.html.haml' + - 'ee/app/views/groups/epics/show.html.haml' + - 'ee/app/views/groups/epics/show.html.haml' + - 'ee/app/views/groups/hooks/index.html.haml' + - 'ee/app/views/groups/roadmap/show.html.haml' + - 'ee/app/views/groups/settings/_allowed_email_domain.html.haml' + - 'ee/app/views/groups/settings/_ip_restriction.html.haml' + - 'ee/app/views/layouts/nav/_test_cases_link.html.haml' + - 'ee/app/views/layouts/nav/sidebar/_project_iterations_link.html.haml' + - 'ee/app/views/projects/_merge_request_approvals_settings.html.haml' + - 'ee/app/views/projects/_merge_request_settings.html.haml' + - 'ee/app/views/projects/_merge_request_settings_description_text.html.haml' + - 'ee/app/views/projects/audit_events/index.html.haml' + - 'ee/app/views/projects/blob/_header_file_locks.html.haml' + - 'ee/app/views/projects/issues/_related_issues.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/merge_requests/show.html.haml' + - 'ee/app/views/projects/pipelines/_tabs_content.html.haml' + - 'ee/app/views/projects/protected_branches/ee/_code_owner_approval_form.html.haml' + - 'ee/app/views/projects/protected_branches/ee/_code_owner_approval_table.html.haml' + - 'ee/app/views/projects/protected_branches/ee/_code_owner_approval_table_head.html.haml' + - 'ee/app/views/projects/push_rules/_index.html.haml' + - 'ee/app/views/projects/settings/_default_issue_template.html.haml' + - 'ee/app/views/projects/settings/_marked_for_removal.html.haml' + - 'ee/app/views/projects/settings/_restore.html.haml' + - 'ee/app/views/projects/settings/ci_cd/_auto_rollback.html.haml' + - 'ee/app/views/projects/settings/ci_cd/_pipeline_subscriptions.html.haml' + - 'ee/app/views/projects/settings/operations/_status_page.html.haml' + - 'ee/app/views/projects/settings/repository/_protected_branches.html.haml' + - 'ee/app/views/projects/sidebar/_repository_locked_files.html.haml' + - 'ee/app/views/shared/issuable/_board_create_list_dropdown.html.haml' + - 'ee/app/views/shared/issuable/_board_create_list_dropdown.html.haml' + - 'ee/app/views/shared/issuable/_group_bulk_update_sidebar.html.haml' + - 'ee/app/views/shared/issuable/_iteration_select.html.haml' + - 'ee/app/views/shared/issuable/form/_default_templates.html.haml' + - 'ee/app/views/shared/labels/_create_label_help_text.html.haml' + - 'ee/app/views/shared/promotions/_promote_mr_features.html.haml' + - 'ee/app/views/shared/promotions/_promote_mr_features.html.haml' + - 'ee/app/views/shared/promotions/_promote_repository_features.html.haml' + - 'ee/app/views/shared/promotions/_promote_repository_features.html.haml' + - 'ee/app/views/shared/promotions/_promote_repository_features.html.haml' + - 'ee/app/views/shared/promotions/_promote_repository_features.html.haml' + - 'ee/app/views/shared/promotions/_promote_repository_features.html.haml' + - 'ee/app/views/shared/promotions/_promote_repository_features.html.haml' + - 'ee/app/workers/analytics/code_review_metrics_worker.rb' + - 'ee/app/workers/group_saml_group_sync_worker.rb' + - 'ee/lib/api/external_approval_rules.rb' + - 'ee/lib/api/helpers/epics_helpers.rb' + - 'ee/lib/api/ldap_group_links.rb' + - 'ee/lib/ee/api/entities/approval_state.rb' + - 'ee/lib/ee/api/entities/board.rb' + - 'ee/lib/ee/api/entities/group.rb' + - 'ee/lib/ee/api/entities/issue.rb' + - 'ee/lib/ee/api/entities/project.rb' + - 'ee/lib/ee/api/groups.rb' + - 'ee/lib/ee/api/helpers.rb' + - 'ee/lib/ee/api/internal/kubernetes.rb' + - 'ee/lib/ee/api/job_artifacts.rb' + - 'ee/lib/ee/api/projects.rb' + - 'ee/lib/ee/gitlab/alert_management/payload/generic.rb' + - 'ee/lib/ee/gitlab/checks/diff_check.rb' + - 'ee/lib/ee/gitlab/gon_helper.rb' + - 'ee/lib/ee/gitlab/tree_summary.rb' + - 'ee/lib/gitlab/alert_management.rb' + - 'ee/lib/gitlab/auth/group_saml/group_lookup.rb' + - 'ee/lib/gitlab/ci/pipeline/chain/config/content/compliance.rb' + - 'ee/lib/gitlab/code_owners.rb' + - 'ee/lib/gitlab/import_export/group/group_and_descendants_repo_restorer.rb' + - 'ee/lib/gitlab/incident_management.rb' + - 'ee/lib/gitlab/path_locks_finder.rb' + - 'ee/lib/incident_management/incident_sla.rb' + - 'ee/spec/models/ee/namespace_spec.rb' + - 'ee/spec/models/instance_security_dashboard_spec.rb' + - 'ee/spec/models/license_spec.rb' + - 'ee/spec/models/project_spec.rb' + - 'lib/api/helpers/related_resources_helpers.rb' + - 'spec/models/concerns/featurable_spec.rb' diff --git a/app/assets/javascripts/boards/components/board_content_sidebar.vue b/app/assets/javascripts/boards/components/board_content_sidebar.vue index 8e84f76ee60..d74057e99bc 100644 --- a/app/assets/javascripts/boards/components/board_content_sidebar.vue +++ b/app/assets/javascripts/boards/components/board_content_sidebar.vue @@ -51,10 +51,6 @@ export default { }, methods: { ...mapActions(['toggleBoardItem', 'setAssignees']), - updateAssignees(data) { - const assignees = data.issueSetAssignees?.issue?.assignees?.nodes || []; - this.setAssignees(assignees); - }, handleClose() { this.toggleBoardItem({ boardItem: this.activeIssue, sidebarType: this.sidebarType }); }, @@ -78,7 +74,7 @@ export default { :full-path="fullPath" :initial-assignees="activeIssue.assignees" class="assignee" - @assignees-updated="updateAssignees" + @assignees-updated="setAssignees" />
diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js index bf67328bbe6..4763902ce86 100644 --- a/app/assets/javascripts/boards/stores/actions.js +++ b/app/assets/javascripts/boards/stores/actions.js @@ -69,6 +69,7 @@ export default { 'milestoneTitle', 'releaseTag', 'search', + 'myReactionEmoji', ]); filterParams.not = transformNotFilters(filters); commit(types.SET_FILTERS, filterParams); diff --git a/app/assets/javascripts/reports/components/grouped_issues_list.vue b/app/assets/javascripts/reports/components/grouped_issues_list.vue index 585127f901e..ca369022938 100644 --- a/app/assets/javascripts/reports/components/grouped_issues_list.vue +++ b/app/assets/javascripts/reports/components/grouped_issues_list.vue @@ -66,8 +66,8 @@ export default { }, listClasses() { return { - 'gl-pl-7': this.nestedLevel === 1, - 'gl-pl-9': this.nestedLevel === 2, + 'gl-pl-9': this.nestedLevel === 1, + 'gl-pl-11-5': this.nestedLevel === 2, }; }, }, diff --git a/app/assets/javascripts/reports/components/issues_list.vue b/app/assets/javascripts/reports/components/issues_list.vue index ea3f0d78d8c..9df0a1953b6 100644 --- a/app/assets/javascripts/reports/components/issues_list.vue +++ b/app/assets/javascripts/reports/components/issues_list.vue @@ -88,8 +88,8 @@ export default { }, listClasses() { return { - 'gl-pl-7': this.nestedLevel === 1, - 'gl-pl-8': this.nestedLevel === 2, + 'gl-pl-9': this.nestedLevel === 1, + 'gl-pl-11-5': this.nestedLevel === 2, }; }, }, diff --git a/app/assets/javascripts/reports/components/summary_row.vue b/app/assets/javascripts/reports/components/summary_row.vue index 8eb43bcf1ba..6b7d81c4878 100644 --- a/app/assets/javascripts/reports/components/summary_row.vue +++ b/app/assets/javascripts/reports/components/summary_row.vue @@ -51,7 +51,7 @@ export default { if (!this.nestedSummary) { return ['gl-px-5']; } - return ['gl-pl-7', 'gl-pr-5', { 'gl-bg-gray-10': this.statusIcon === ICON_WARNING }]; + return ['gl-pl-9', 'gl-pr-5', { 'gl-bg-gray-10': this.statusIcon === ICON_WARNING }]; }, statusIconSize() { if (!this.nestedSummary) { diff --git a/app/assets/javascripts/reports/grouped_test_report/components/test_issue_body.vue b/app/assets/javascripts/reports/grouped_test_report/components/test_issue_body.vue index 522245a442d..8913046d62f 100644 --- a/app/assets/javascripts/reports/grouped_test_report/components/test_issue_body.vue +++ b/app/assets/javascripts/reports/grouped_test_report/components/test_issue_body.vue @@ -24,7 +24,7 @@ export default { n__( 'Reports|Failed %{count} time in %{base_branch} in the last 14 days', 'Reports|Failed %{count} times in %{base_branch} in the last 14 days', - this.issue.recent_failures.count, + this.issue.recent_failures?.count, ), this.issue.recent_failures, ); @@ -44,20 +44,20 @@ export default {