diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-03 09:10:30 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-03 09:10:30 +0300 |
commit | d3a97bfbd26fe2876f64fa88d0936dfed2246fa1 (patch) | |
tree | 0d5ddf529ad894122d120b09f4f3eed31853fe32 | |
parent | 036de62f732d946bba13be217f5d86fe65638dc5 (diff) |
Add latest changes from gitlab-org/gitlab@master
27 files changed, 108 insertions, 193 deletions
diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index b07a75e33c5..494806dbeb7 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -2767,30 +2767,17 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2801,23 +2788,18 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2826,7 +2808,6 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2849,15 +2830,12 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2881,7 +2859,6 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2896,9 +2873,6 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2907,16 +2881,6 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2950,7 +2914,6 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2964,14 +2927,10 @@ Gitlab/FeatureAvailableUsage: - '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' @@ -2981,14 +2940,11 @@ Gitlab/FeatureAvailableUsage: - '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' diff --git a/app/assets/javascripts/filtered_search/dropdown_operator.js b/app/assets/javascripts/filtered_search/dropdown_operator.js index 0da8cd0ad83..f933338514a 100644 --- a/app/assets/javascripts/filtered_search/dropdown_operator.js +++ b/app/assets/javascripts/filtered_search/dropdown_operator.js @@ -50,7 +50,7 @@ export default class DropdownOperator extends FilteredSearchDropdown { ]; const dropdownToken = this.tokenKeys.searchByKey(dropdownName.toLowerCase()); - if (gon.features?.notIssuableQueries && !dropdownToken?.hideNotEqual) { + if (!dropdownToken?.hideNotEqual) { dropdownData.push({ tag: 'not-equal', type: 'string', diff --git a/app/assets/javascripts/pages/projects/blob/show/index.js b/app/assets/javascripts/pages/projects/blob/show/index.js index fc2702b8c37..8a8ce70e998 100644 --- a/app/assets/javascripts/pages/projects/blob/show/index.js +++ b/app/assets/javascripts/pages/projects/blob/show/index.js @@ -1,25 +1,35 @@ import Vue from 'vue'; +import VueApollo from 'vue-apollo'; import PipelineTourSuccessModal from '~/blob/pipeline_tour_success_modal.vue'; import BlobViewer from '~/blob/viewer/index'; import GpgBadges from '~/gpg_badges'; +import createDefaultClient from '~/lib/graphql'; import initBlob from '~/pages/projects/init_blob'; import initWebIdeLink from '~/pages/projects/shared/web_ide_link'; import commitPipelineStatus from '~/projects/tree/components/commit_pipeline_status_component.vue'; import BlobContentViewer from '~/repository/components/blob_content_viewer.vue'; import '~/sourcegraph/load'; +Vue.use(VueApollo); + +const apolloProvider = new VueApollo({ + defaultClient: createDefaultClient(), +}); + const viewBlobEl = document.querySelector('#js-view-blob-app'); if (viewBlobEl) { - const { blobPath } = viewBlobEl.dataset; + const { blobPath, projectPath } = viewBlobEl.dataset; // eslint-disable-next-line no-new new Vue({ el: viewBlobEl, + apolloProvider, render(createElement) { return createElement(BlobContentViewer, { props: { path: blobPath, + projectPath, }, }); }, diff --git a/app/assets/javascripts/repository/components/blob_content_viewer.vue b/app/assets/javascripts/repository/components/blob_content_viewer.vue index 58b42fb7859..cef5ae41106 100644 --- a/app/assets/javascripts/repository/components/blob_content_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_content_viewer.vue @@ -6,7 +6,6 @@ import BlobHeader from '~/blob/components/blob_header.vue'; import createFlash from '~/flash'; import { __ } from '~/locale'; import blobInfoQuery from '../queries/blob_info.query.graphql'; -import projectPathQuery from '../queries/project_path.query.graphql'; export default { components: { @@ -15,10 +14,7 @@ export default { GlLoadingIcon, }, apollo: { - projectPath: { - query: projectPathQuery, - }, - blobInfo: { + project: { query: blobInfoQuery, variables() { return { @@ -41,41 +37,58 @@ export default { type: String, required: true, }, + projectPath: { + type: String, + required: true, + }, }, data() { return { - projectPath: '', - blobInfo: { - name: '', - size: '', - rawBlob: '', - type: '', - fileType: '', - tooLarge: false, - path: '', - editBlobPath: '', - ideEditPath: '', - storedExternally: false, - rawPath: '', - externalStorageUrl: '', - replacePath: '', - deletePath: '', - canLock: false, - isLocked: false, - lockLink: '', - canModifyBlob: true, - forkPath: '', - simpleViewer: '', - richViewer: '', + project: { + repository: { + blobs: { + nodes: [ + { + name: '', + size: '', + rawTextBlob: '', + type: '', + fileType: '', + tooLarge: false, + path: '', + editBlobPath: '', + ideEditPath: '', + storedExternally: false, + rawPath: '', + externalStorageUrl: '', + replacePath: '', + deletePath: '', + canLock: false, + isLocked: false, + lockLink: '', + canModifyBlob: true, + forkPath: '', + simpleViewer: {}, + richViewer: {}, + }, + ], + }, + }, }, }; }, computed: { isLoading() { - return this.$apollo.queries.blobInfo.loading; + return this.$apollo.queries.project.loading; + }, + blobInfo() { + const nodes = this.project?.repository?.blobs?.nodes; + + return nodes[0] || {}; }, viewer() { - const { fileType, tooLarge, type } = this.blobInfo; + const viewer = this.blobInfo.richViewer || this.blobInfo.simpleViewer; + const { fileType, tooLarge, type } = viewer; return { fileType, tooLarge, type }; }, @@ -90,7 +103,7 @@ export default { <blob-header :blob="blobInfo" /> <blob-content :blob="blobInfo" - :content="blobInfo.rawBlob" + :content="blobInfo.rawTextBlob" :is-raw-content="true" :active-viewer="viewer" :loading="false" diff --git a/app/assets/javascripts/repository/pages/blob.vue b/app/assets/javascripts/repository/pages/blob.vue index 27af398be09..2645b294096 100644 --- a/app/assets/javascripts/repository/pages/blob.vue +++ b/app/assets/javascripts/repository/pages/blob.vue @@ -13,10 +13,14 @@ export default { type: String, required: true, }, + projectPath: { + type: String, + required: true, + }, }, }; </script> <template> - <blob-content-viewer :path="path" /> + <blob-content-viewer :path="path" :project-path="projectPath" /> </template> diff --git a/app/assets/javascripts/repository/queries/blob_info.query.graphql b/app/assets/javascripts/repository/queries/blob_info.query.graphql index eb4b00d9251..d0c3f8d8d54 100644 --- a/app/assets/javascripts/repository/queries/blob_info.query.graphql +++ b/app/assets/javascripts/repository/queries/blob_info.query.graphql @@ -11,15 +11,19 @@ query getBlobInfo($projectPath: ID!, $filePath: String!) { fileType path editBlobPath - ideEditPath storedExternally rawPath - externalStorageUrl replacePath - canModifyBlob - forkPath - simpleViewer - richViewer + simpleViewer { + fileType + tooLarge + type + } + richViewer { + fileType + tooLarge + type + } } } } diff --git a/app/assets/javascripts/repository/router.js b/app/assets/javascripts/repository/router.js index c7f7451fb55..6637d03a7a4 100644 --- a/app/assets/javascripts/repository/router.js +++ b/app/assets/javascripts/repository/router.js @@ -20,6 +20,7 @@ export default function createRouter(base, baseRef) { component: BlobPage, props: (route) => ({ path: route.params.path, + projectPath: base, }), }; diff --git a/app/controllers/concerns/boards_actions.rb b/app/controllers/concerns/boards_actions.rb index 79e6f027c2f..7bffe1e1141 100644 --- a/app/controllers/concerns/boards_actions.rb +++ b/app/controllers/concerns/boards_actions.rb @@ -10,9 +10,6 @@ module BoardsActions before_action :boards, only: :index before_action :board, only: :show before_action :push_licensed_features, only: [:index, :show] - before_action do - push_frontend_feature_flag(:not_issuable_queries, parent, default_enabled: true) - end end def index diff --git a/app/controllers/concerns/issuable_actions.rb b/app/controllers/concerns/issuable_actions.rb index 57d4203ad43..e465e7c450a 100644 --- a/app/controllers/concerns/issuable_actions.rb +++ b/app/controllers/concerns/issuable_actions.rb @@ -8,9 +8,6 @@ module IssuableActions before_action :authorize_destroy_issuable!, only: :destroy before_action :check_destroy_confirmation!, only: :destroy before_action :authorize_admin_issuable!, only: :bulk_update - before_action do - push_frontend_feature_flag(:not_issuable_queries, @project, default_enabled: true) - end end def show diff --git a/app/controllers/concerns/issuable_collections_action.rb b/app/controllers/concerns/issuable_collections_action.rb index 7ed66027da3..ca2979a5a29 100644 --- a/app/controllers/concerns/issuable_collections_action.rb +++ b/app/controllers/concerns/issuable_collections_action.rb @@ -32,10 +32,6 @@ module IssuableCollectionsAction private - def set_not_query_feature_flag(object = nil) - push_frontend_feature_flag(:not_issuable_queries, object, default_enabled: true) - end - def sorting_field case action_name when 'issues' diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index 29cb60ad3cc..7c9572568f1 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -11,7 +11,6 @@ class DashboardController < Dashboard::ApplicationController before_action :projects, only: [:issues, :merge_requests] before_action :set_show_full_reference, only: [:issues, :merge_requests] before_action :check_filters_presence!, only: [:issues, :merge_requests] - before_action :set_not_query_feature_flag respond_to :html diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 3fef5b9b8c5..ed8c269bebc 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -35,10 +35,6 @@ class GroupsController < Groups::ApplicationController push_frontend_feature_flag(:vue_issuables_list, @group) end - before_action do - set_not_query_feature_flag(@group) - end - before_action :export_rate_limit, only: [:export, :download_export] helper_method :captcha_required? diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index 40a4e2b4f26..1232297db1b 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -142,8 +142,6 @@ class IssuableFinder end def should_filter_negated_args? - return false unless not_filters_enabled? - # API endpoints send in `nil` values so we test if there are any non-nil not_params.present? && not_params.values.any? end @@ -370,8 +368,7 @@ class IssuableFinder Issuables::AuthorFilter.new( items, params: original_params, - or_filters_enabled: or_filters_enabled?, - not_filters_enabled: not_filters_enabled? + or_filters_enabled: or_filters_enabled? ).filter end @@ -496,12 +493,6 @@ class IssuableFinder end end - def not_filters_enabled? - strong_memoize(:not_filters_enabled) do - Feature.enabled?(:not_issuable_queries, feature_flag_scope, default_enabled: :yaml) - end - end - def feature_flag_scope params.group || params.project end diff --git a/app/finders/issuables/author_filter.rb b/app/finders/issuables/author_filter.rb index ce68dbafb95..522751a384e 100644 --- a/app/finders/issuables/author_filter.rb +++ b/app/finders/issuables/author_filter.rb @@ -27,7 +27,7 @@ module Issuables end def by_negated_author(issuables) - return issuables unless not_filters_enabled? && not_params.present? + return issuables unless not_params.present? if not_params[:author_id].present? issuables.not_authored(not_params[:author_id]) diff --git a/app/finders/issuables/base_filter.rb b/app/finders/issuables/base_filter.rb index 641ae2568cc..6d1a3f96062 100644 --- a/app/finders/issuables/base_filter.rb +++ b/app/finders/issuables/base_filter.rb @@ -4,11 +4,10 @@ module Issuables class BaseFilter attr_reader :issuables, :params - def initialize(issuables, params:, or_filters_enabled: false, not_filters_enabled: false) + def initialize(issuables, params:, or_filters_enabled: false) @issuables = issuables @params = params @or_filters_enabled = or_filters_enabled - @not_filters_enabled = not_filters_enabled end def filter @@ -28,9 +27,5 @@ module Issuables def or_filters_enabled? @or_filters_enabled end - - def not_filters_enabled? - @not_filters_enabled - end end end diff --git a/app/views/groups/issues.html.haml b/app/views/groups/issues.html.haml index ae4b0807fc5..fdd6962eb21 100644 --- a/app/views/groups/issues.html.haml +++ b/app/views/groups/issues.html.haml @@ -1,4 +1,4 @@ -- @can_bulk_update = can?(current_user, :admin_issue, @group) && @group.feature_available?(:group_bulk_edit) +- @can_bulk_update = can?(current_user, :admin_issue, @group) && @group.licensed_feature_available?(:group_bulk_edit) - page_title _("Issues") - add_page_specific_style 'page_bundles/issues_list' diff --git a/app/views/groups/merge_requests.html.haml b/app/views/groups/merge_requests.html.haml index 15864e18f7c..33f836c2de0 100644 --- a/app/views/groups/merge_requests.html.haml +++ b/app/views/groups/merge_requests.html.haml @@ -1,4 +1,4 @@ -- @can_bulk_update = can?(current_user, :admin_merge_request, @group) && @group.feature_available?(:group_bulk_edit) +- @can_bulk_update = can?(current_user, :admin_merge_request, @group) && @group.licensed_feature_available?(:group_bulk_edit) - page_title _("Merge requests") diff --git a/app/views/projects/blob/_blob.html.haml b/app/views/projects/blob/_blob.html.haml index 84f2d352bc9..e50b964a253 100644 --- a/app/views/projects/blob/_blob.html.haml +++ b/app/views/projects/blob/_blob.html.haml @@ -12,7 +12,7 @@ - if @code_navigation_path #js-code-navigation{ data: { code_navigation_path: @code_navigation_path, blob_path: blob.path, definition_path_prefix: project_blob_path(@project, @ref) } } - if Feature.enabled?(:refactor_blob_viewer, @project, default_enabled: :yaml) - #js-view-blob-app{ data: { blob_path: blob.path } } + #js-view-blob-app{ data: { blob_path: blob.path, project_path: @project.full_path } } .gl-spinner-container = loading_icon(size: 'md') - else diff --git a/changelogs/unreleased/292809-remove-not_issuable_queries-ff.yml b/changelogs/unreleased/292809-remove-not_issuable_queries-ff.yml new file mode 100644 index 00000000000..2af86b48422 --- /dev/null +++ b/changelogs/unreleased/292809-remove-not_issuable_queries-ff.yml @@ -0,0 +1,5 @@ +--- +title: Remove not_issuable_queries feature flag +merge_request: 60321 +author: +type: other diff --git a/config/feature_flags/development/not_issuable_queries.yml b/config/feature_flags/development/not_issuable_queries.yml deleted file mode 100644 index e5770d1a2ea..00000000000 --- a/config/feature_flags/development/not_issuable_queries.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: not_issuable_queries -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27639 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292809 -milestone: '13.0' -type: development -group: group::project management -default_enabled: true diff --git a/config/known_invalid_graphql_queries.yml b/config/known_invalid_graphql_queries.yml index f9929418a3d..7b87edd1da0 100644 --- a/config/known_invalid_graphql_queries.yml +++ b/config/known_invalid_graphql_queries.yml @@ -4,5 +4,4 @@ filenames: - ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/api_fuzzing_ci_configuration.query.graphql - ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/create_api_fuzzing_configuration.mutation.graphql - ee/app/assets/javascripts/security_configuration/dast_profiles/graphql/dast_failed_site_validations.query.graphql - - app/assets/javascripts/repository/queries/blob_info.query.graphql - ee/app/assets/javascripts/security_configuration/graphql/configure_dependency_scanning.mutation.graphql diff --git a/doc/api/group_clusters.md b/doc/api/group_clusters.md index 69b54591d0a..ea7c13637c4 100644 --- a/doc/api/group_clusters.md +++ b/doc/api/group_clusters.md @@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30213) in GitLab 12.1. -Similar to [project-level](../user/project/clusters/index.md) and +Similarly to [project-level](../user/project/clusters/index.md) and [instance-level](../user/instance/clusters/index.md) Kubernetes clusters, group-level Kubernetes clusters allow you to connect a Kubernetes cluster to your group, enabling you to use the same cluster across multiple projects. diff --git a/doc/development/ee_features.md b/doc/development/ee_features.md index 35e7824721a..a5b76c32a96 100644 --- a/doc/development/ee_features.md +++ b/doc/development/ee_features.md @@ -20,7 +20,7 @@ Since the implementation of [GitLab CE features to work with unlicensed EE instance](https://gitlab.com/gitlab-org/gitlab/-/issues/2500) GitLab Enterprise Edition should work like GitLab Community Edition when no license is active. So EE features always should be guarded by -`project.feature_available?` or `group.feature_available?` (or +`project.feature_available?` or `group.licensed_feature_available?` (or `License.feature_available?` if it is a system-wide feature). Frontend features should be guarded by pushing a flag from the backend by [using `push_licensed_feature`](licensed_feature_availability.md#restricting-frontend-features), and checked using `this.glFeatures.someFeature` in the frontend. diff --git a/spec/features/boards/boards_spec.rb b/spec/features/boards/boards_spec.rb index ab544022bff..5d9bb8d8087 100644 --- a/spec/features/boards/boards_spec.rb +++ b/spec/features/boards/boards_spec.rb @@ -119,46 +119,21 @@ RSpec.describe 'Project issue boards', :js do end context 'search list negation queries' do - context 'with the NOT queries feature flag disabled' do - before do - stub_feature_flags(not_issuable_queries: false) - - visit_project_board_path_without_query_limit(project, board) - end - - it 'does not have the != option' do - find('.filtered-search').set('label:') - - wait_for_requests - within('#js-dropdown-operator') do - tokens = all(:css, 'li.filter-dropdown-item') - expect(tokens.count).to eq(1) - button = tokens[0].find('button') - expect(button).to have_content('=') - expect(button).not_to have_content('!=') - end - end + before do + visit_project_board_path_without_query_limit(project, board) end - context 'with the NOT queries feature flag enabled' do - before do - stub_feature_flags(not_issuable_queries: true) - - visit_project_board_path_without_query_limit(project, board) - end - - it 'does not have the != option' do - find('.filtered-search').set('label:') + it 'does not have the != option' do + find('.filtered-search').set('label:') - wait_for_requests - within('#js-dropdown-operator') do - tokens = all(:css, 'li.filter-dropdown-item') - expect(tokens.count).to eq(2) - button = tokens[0].find('button') - expect(button).to have_content('=') - button = tokens[1].find('button') - expect(button).to have_content('!=') - end + wait_for_requests + within('#js-dropdown-operator') do + tokens = all(:css, 'li.filter-dropdown-item') + expect(tokens.count).to eq(2) + button = tokens[0].find('button') + expect(button).to have_content('=') + button = tokens[1].find('button') + expect(button).to have_content('!=') end end end diff --git a/spec/features/issues/filtered_search/filter_issues_spec.rb b/spec/features/issues/filtered_search/filter_issues_spec.rb index 4f4584e7dce..619f7d03f40 100644 --- a/spec/features/issues/filtered_search/filter_issues_spec.rb +++ b/spec/features/issues/filtered_search/filter_issues_spec.rb @@ -79,26 +79,6 @@ RSpec.describe 'Filter issues', :js do expect_filtered_search_input(search_term) end - context 'with the NOT queries feature flag disabled' do - before do - stub_feature_flags(not_issuable_queries: false) - visit project_issues_path(project) - end - - it 'does not have the != option' do - input_filtered_search("label:", submit: false, extra_space: false) - - wait_for_requests - within('#js-dropdown-operator') do - tokens = all(:css, 'li.filter-dropdown-item') - expect(tokens.count).to eq(1) - button = tokens[0].find('button') - expect(button).to have_content('=') - expect(button).not_to have_content('!=') - end - end - end - describe 'filter issues by author' do context 'only author' do it 'filters issues by searched author' do diff --git a/spec/frontend/repository/components/blob_content_viewer_spec.js b/spec/frontend/repository/components/blob_content_viewer_spec.js index b662a1d20a9..b4204b434e2 100644 --- a/spec/frontend/repository/components/blob_content_viewer_spec.js +++ b/spec/frontend/repository/components/blob_content_viewer_spec.js @@ -8,7 +8,7 @@ let wrapper; const mockData = { name: 'some_file.js', size: 123, - rawBlob: 'raw content', + rawTextBlob: 'raw content', type: 'text', fileType: 'text', tooLarge: false, @@ -25,19 +25,24 @@ const mockData = { lockLink: 'some_file.js/lock', canModifyBlob: true, forkPath: 'some_file.js/fork', - simpleViewer: {}, - richViewer: {}, + simpleViewer: { + fileType: 'text', + tooLarge: false, + type: 'simple', + }, + richViewer: null, }; function factory(path, loading = false) { wrapper = shallowMount(BlobContentViewer, { propsData: { path, + projectPath: 'some/path', }, mocks: { $apollo: { queries: { - blobInfo: { + project: { loading, }, }, @@ -80,7 +85,7 @@ describe('Blob content viewer component', () => { expect(findBlobContent().props('activeViewer')).toEqual({ fileType: 'text', tooLarge: false, - type: 'text', + type: 'simple', }); }); }); diff --git a/spec/frontend/repository/pages/blob_spec.js b/spec/frontend/repository/pages/blob_spec.js index 3e7ead4ad00..74338777376 100644 --- a/spec/frontend/repository/pages/blob_spec.js +++ b/spec/frontend/repository/pages/blob_spec.js @@ -11,7 +11,7 @@ describe('Repository blob page component', () => { const path = 'file.js'; beforeEach(() => { - wrapper = shallowMount(BlobPage, { propsData: { path } }); + wrapper = shallowMount(BlobPage, { propsData: { path, projectPath: 'some/path' } }); }); afterEach(() => { |