diff --git a/.rubocop_todo/lint/assignment_in_condition.yml b/.rubocop_todo/lint/assignment_in_condition.yml index 61d693248d9..e94a9408ffb 100644 --- a/.rubocop_todo/lint/assignment_in_condition.yml +++ b/.rubocop_todo/lint/assignment_in_condition.yml @@ -215,7 +215,6 @@ Lint/AssignmentInCondition: - 'rubocop/cop/rspec/httparty_basic_auth.rb' - 'scripts/lint-docs-blueprints.rb' - 'spec/factories/ci/processable.rb' - - 'spec/lib/gitlab/background_migration/backfill_root_storage_statistics_fork_storage_sizes_spec.rb' - 'spec/models/packages/go/module_version_spec.rb' - 'spec/models/project_feature_spec.rb' - 'spec/requests/api/go_proxy_spec.rb' diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index e1b3412a1e6..38247dacd26 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -55dfaaba43c8513b6233dc4444fac4552ef10b6d +a3b447448698d44d0c93138fa68c1877c5bab70e diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 8d09f809d4e..d1b6f03cf9c 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -6226391494a57203a37df10f489ec6caa8261a7b +fb36514b67173b5a16a386256a85203a0d14a76c diff --git a/Gemfile b/Gemfile index 21c9043d53d..161a56275a4 100644 --- a/Gemfile +++ b/Gemfile @@ -493,7 +493,7 @@ end group :development, :test do gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory gem 'bullet', '~> 7.1.2' # rubocop:todo Gemfile/MissingFeatureCategory - gem 'parser', '= 3.3.5.1', feature_category: :shared + gem 'parser', '= 3.3.6.0', feature_category: :shared gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory gem 'pry-shell', '~> 0.6.4' # rubocop:todo Gemfile/MissingFeatureCategory diff --git a/Gemfile.checksum b/Gemfile.checksum index 41f5c77e62f..4a95659c5a9 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -499,7 +499,7 @@ {"name":"pact-support","version":"1.20.0","platform":"ruby","checksum":"41c343a3124fb379684b9ad9f1a0766c5fa18d3b78d433a52e5552d8b9475871"}, {"name":"paper_trail","version":"15.1.0","platform":"ruby","checksum":"0dbccd97e9d26c54aaea256d2566eaa040a3535601f49a62d79187e77d9ba9f9"}, {"name":"parallel","version":"1.24.0","platform":"ruby","checksum":"5bf38efb9b37865f8e93d7a762727f8c5fc5deb19949f4040c76481d5eee9397"}, -{"name":"parser","version":"3.3.5.1","platform":"ruby","checksum":"b74c4403b8dd2ada9f72f9eae3b57f85ee82541ab4251736d39c25eede136c65"}, +{"name":"parser","version":"3.3.6.0","platform":"ruby","checksum":"25d4e67cc4f0f7cab9a2ae1f38e2005b6904d2ea13c34734511d0faad038bc3b"}, {"name":"parslet","version":"1.8.2","platform":"ruby","checksum":"08d1ab3721cd3f175bfbee8788b2ddff71f92038f2d69bd65454c22bb9fbd98a"}, {"name":"pastel","version":"0.8.0","platform":"ruby","checksum":"481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75"}, {"name":"peek","version":"1.1.0","platform":"ruby","checksum":"d6501ead8cde46d8d8ed0d59eb6f0ba713d0a41c11a2c4a81447b2dce37b3ecc"}, @@ -586,7 +586,7 @@ {"name":"rest-client","version":"2.1.0","platform":"x86-mswin32","checksum":"a35a3bb8d16ca39d110a946a2c805267f98ce07a0ae890e4512a45eadea47a6e"}, {"name":"retriable","version":"3.1.2","platform":"ruby","checksum":"0a5a5d0ca4ba61a76fb31a17ab8f7f80281beb040c329d34dfc137a1398688e0"}, {"name":"reverse_markdown","version":"1.4.0","platform":"ruby","checksum":"a3305da1509ac8388fa84a28745621113e121383402a2e8e9350ba649034e870"}, -{"name":"rexml","version":"3.3.8","platform":"ruby","checksum":"f68fd96345330a1062896d0d0401324b0dae0ee20f784791b0843db96b212167"}, +{"name":"rexml","version":"3.3.9","platform":"ruby","checksum":"d71875b85299f341edf47d44df0212e7658cbdf35aeb69cefdb63f57af3137c9"}, {"name":"rinku","version":"2.0.0","platform":"ruby","checksum":"3e695aaf9f24baba3af45823b5c427b58a624582132f18482320e2737f9f8a85"}, {"name":"rotp","version":"6.3.0","platform":"ruby","checksum":"75d40087e65ed0d8022c33055a6306c1c400d1c12261932533b5d6cbcd868854"}, {"name":"rouge","version":"4.4.0","platform":"ruby","checksum":"7a6d6d951e3202e4ce3926838625fa6edeb35680e6d1e3817f53c14212220b64"}, diff --git a/Gemfile.lock b/Gemfile.lock index 5e1ef617811..7e3bfe9a061 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -217,7 +217,7 @@ PATH PATH remote: vendor/gems/sidekiq-reliable-fetch specs: - gitlab-sidekiq-fetcher (0.11.0) + gitlab-sidekiq-fetcher (0.12.0) json (>= 2.5) sidekiq (~> 7.0) @@ -1404,7 +1404,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.24.0) - parser (3.3.5.1) + parser (3.3.6.0) ast (~> 2.4.1) racc parslet (1.8.2) @@ -1568,7 +1568,7 @@ GEM retriable (3.1.2) reverse_markdown (1.4.0) nokogiri - rexml (3.3.8) + rexml (3.3.9) rinku (2.0.0) rotp (6.3.0) rouge (4.4.0) @@ -2215,7 +2215,7 @@ DEPENDENCIES pact (~> 1.64) paper_trail (~> 15.0) parallel (~> 1.19) - parser (= 3.3.5.1) + parser (= 3.3.6.0) parslet (~> 1.8) peek (~> 1.1) pg (~> 1.5.6) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index 7c1de7ce7b5..f332b54e13e 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -504,7 +504,7 @@ {"name":"pact-support","version":"1.20.0","platform":"ruby","checksum":"41c343a3124fb379684b9ad9f1a0766c5fa18d3b78d433a52e5552d8b9475871"}, {"name":"paper_trail","version":"15.1.0","platform":"ruby","checksum":"0dbccd97e9d26c54aaea256d2566eaa040a3535601f49a62d79187e77d9ba9f9"}, {"name":"parallel","version":"1.24.0","platform":"ruby","checksum":"5bf38efb9b37865f8e93d7a762727f8c5fc5deb19949f4040c76481d5eee9397"}, -{"name":"parser","version":"3.3.5.1","platform":"ruby","checksum":"b74c4403b8dd2ada9f72f9eae3b57f85ee82541ab4251736d39c25eede136c65"}, +{"name":"parser","version":"3.3.6.0","platform":"ruby","checksum":"25d4e67cc4f0f7cab9a2ae1f38e2005b6904d2ea13c34734511d0faad038bc3b"}, {"name":"parslet","version":"1.8.2","platform":"ruby","checksum":"08d1ab3721cd3f175bfbee8788b2ddff71f92038f2d69bd65454c22bb9fbd98a"}, {"name":"pastel","version":"0.8.0","platform":"ruby","checksum":"481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75"}, {"name":"peek","version":"1.1.0","platform":"ruby","checksum":"d6501ead8cde46d8d8ed0d59eb6f0ba713d0a41c11a2c4a81447b2dce37b3ecc"}, @@ -599,7 +599,7 @@ {"name":"rest-client","version":"2.1.0","platform":"x86-mswin32","checksum":"a35a3bb8d16ca39d110a946a2c805267f98ce07a0ae890e4512a45eadea47a6e"}, {"name":"retriable","version":"3.1.2","platform":"ruby","checksum":"0a5a5d0ca4ba61a76fb31a17ab8f7f80281beb040c329d34dfc137a1398688e0"}, {"name":"reverse_markdown","version":"1.4.0","platform":"ruby","checksum":"a3305da1509ac8388fa84a28745621113e121383402a2e8e9350ba649034e870"}, -{"name":"rexml","version":"3.3.8","platform":"ruby","checksum":"f68fd96345330a1062896d0d0401324b0dae0ee20f784791b0843db96b212167"}, +{"name":"rexml","version":"3.3.9","platform":"ruby","checksum":"d71875b85299f341edf47d44df0212e7658cbdf35aeb69cefdb63f57af3137c9"}, {"name":"rinku","version":"2.0.0","platform":"ruby","checksum":"3e695aaf9f24baba3af45823b5c427b58a624582132f18482320e2737f9f8a85"}, {"name":"rotp","version":"6.3.0","platform":"ruby","checksum":"75d40087e65ed0d8022c33055a6306c1c400d1c12261932533b5d6cbcd868854"}, {"name":"rouge","version":"4.4.0","platform":"ruby","checksum":"7a6d6d951e3202e4ce3926838625fa6edeb35680e6d1e3817f53c14212220b64"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index a45bb779849..a3e1960b965 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -217,7 +217,7 @@ PATH PATH remote: vendor/gems/sidekiq-reliable-fetch specs: - gitlab-sidekiq-fetcher (0.11.0) + gitlab-sidekiq-fetcher (0.12.0) json (>= 2.5) sidekiq (~> 7.0) @@ -1419,7 +1419,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.24.0) - parser (3.3.5.1) + parser (3.3.6.0) ast (~> 2.4.1) racc parslet (1.8.2) @@ -1594,7 +1594,7 @@ GEM retriable (3.1.2) reverse_markdown (1.4.0) nokogiri - rexml (3.3.8) + rexml (3.3.9) rinku (2.0.0) rotp (6.3.0) rouge (4.4.0) @@ -2242,7 +2242,7 @@ DEPENDENCIES pact (~> 1.64) paper_trail (~> 15.0) parallel (~> 1.19) - parser (= 3.3.5.1) + parser (= 3.3.6.0) parslet (~> 1.8) peek (~> 1.1) pg (~> 1.5.6) diff --git a/app/assets/javascripts/ci/pipelines_page/components/pipeline_multi_actions.vue b/app/assets/javascripts/ci/pipelines_page/components/pipeline_multi_actions.vue index 9dbc04edfec..4e916fdc0a9 100644 --- a/app/assets/javascripts/ci/pipelines_page/components/pipeline_multi_actions.vue +++ b/app/assets/javascripts/ci/pipelines_page/components/pipeline_multi_actions.vue @@ -170,7 +170,7 @@ export default {

{{ $options.i18n.emptyArtifactsMessage }} diff --git a/app/assets/javascripts/confidential_merge_request/components/project_form_group.vue b/app/assets/javascripts/confidential_merge_request/components/project_form_group.vue index 0b1c2d5afd4..7cd0a82644a 100644 --- a/app/assets/javascripts/confidential_merge_request/components/project_form_group.vue +++ b/app/assets/javascripts/confidential_merge_request/components/project_form_group.vue @@ -116,7 +116,7 @@ export default { :selected-project="selectedProject" @select="selectProject" /> -

+

diff --git a/app/assets/javascripts/ide/components/commit_sidebar/list.vue b/app/assets/javascripts/ide/components/commit_sidebar/list.vue index 18defbd8a80..b1a66629aec 100644 --- a/app/assets/javascripts/ide/components/commit_sidebar/list.vue +++ b/app/assets/javascripts/ide/components/commit_sidebar/list.vue @@ -111,7 +111,7 @@ export default { /> -

+

{{ emptyStateText }}

input.classList.remove(cssClass)); messageClasses.forEach((cssClass) => message.classList.remove(cssClass)); @@ -530,7 +530,7 @@ export default class CreateMergeRequestDropdown { const text = target === INPUT_TARGET_BRANCH ? __('branch name') : __('source'); this.removeMessage(target); - message.classList.add('gl-text-gray-600'); + message.classList.add('gl-text-subtle'); message.textContent = sprintf(__('Checking %{text} availability…'), { text }); message.style.display = 'inline-block'; } diff --git a/app/assets/javascripts/issues/list/constants.js b/app/assets/javascripts/issues/list/constants.js index 3e2c923f0ac..f2424d5cba3 100644 --- a/app/assets/javascripts/issues/list/constants.js +++ b/app/assets/javascripts/issues/list/constants.js @@ -329,6 +329,9 @@ export const filtersMap = { [OPERATOR_IS]: { [NORMAL_FILTER]: 'target_branches[]', }, + [OPERATOR_NOT]: { + [NORMAL_FILTER]: 'not[target_branches][]', + }, }, }, [TOKEN_TYPE_TYPE]: { diff --git a/app/assets/javascripts/jira_connect/subscriptions/components/group_item_name.vue b/app/assets/javascripts/jira_connect/subscriptions/components/group_item_name.vue index 0d29c8480ee..cf2ab283485 100644 --- a/app/assets/javascripts/jira_connect/subscriptions/components/group_item_name.vue +++ b/app/assets/javascripts/jira_connect/subscriptions/components/group_item_name.vue @@ -34,7 +34,7 @@ export default { {{ group.full_name }}
-

+

diff --git a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue index 9bcff8bab4a..43712094085 100644 --- a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue +++ b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue @@ -326,7 +326,6 @@ export default { title: TOKEN_TITLE_MILESTONE, icon: 'milestone', token: MilestoneToken, - operators: OPERATORS_IS, recentSuggestionsStorageKey: `${this.fullPath}-merge-requests-recent-tokens-milestone`, shouldSkipSort: true, fullPath: this.fullPath, @@ -339,7 +338,6 @@ export default { title: TOKEN_TITLE_TARGET_BRANCH, icon: 'arrow-right', token: BranchToken, - operators: OPERATORS_IS, fullPath: this.fullPath, isProject: true, fetchBranches: this.fetchTargetBranches, diff --git a/app/assets/javascripts/notes/components/discussion_filter_note.vue b/app/assets/javascripts/notes/components/discussion_filter_note.vue index 9b2bad3856b..4a6ea145c6f 100644 --- a/app/assets/javascripts/notes/components/discussion_filter_note.vue +++ b/app/assets/javascripts/notes/components/discussion_filter_note.vue @@ -29,7 +29,7 @@ export default { data-testid="discussion-filter-container" >
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_errors_count.vue b/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_errors_count.vue index 29c2e372429..b4a01940e20 100644 --- a/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_errors_count.vue +++ b/app/assets/javascripts/packages_and_registries/package_registry/components/list/package_errors_count.vue @@ -1,9 +1,13 @@ @@ -92,7 +118,7 @@ export default {
diff --git a/app/assets/javascripts/packages_and_registries/package_registry/graphql/queries/get_package_errors_count.query.graphql b/app/assets/javascripts/packages_and_registries/package_registry/graphql/queries/get_package_errors_count.query.graphql new file mode 100644 index 00000000000..4c7391d7464 --- /dev/null +++ b/app/assets/javascripts/packages_and_registries/package_registry/graphql/queries/get_package_errors_count.query.graphql @@ -0,0 +1,26 @@ +query getPackageErrorsCount($fullPath: ID!, $isGroupPage: Boolean!) { + project(fullPath: $fullPath) @skip(if: $isGroupPage) { + id + packages(status: ERROR, sort: CREATED_DESC, last: 1) { + count + nodes { + id + name + statusMessage + version + } + } + } + group(fullPath: $fullPath) @include(if: $isGroupPage) { + id + packages(status: ERROR, sort: CREATED_DESC, last: 1) { + count + nodes { + id + name + statusMessage + version + } + } + } +} diff --git a/app/assets/javascripts/packages_and_registries/package_registry/pages/list.vue b/app/assets/javascripts/packages_and_registries/package_registry/pages/list.vue index fa0affa0724..4025a283426 100644 --- a/app/assets/javascripts/packages_and_registries/package_registry/pages/list.vue +++ b/app/assets/javascripts/packages_and_registries/package_registry/pages/list.vue @@ -92,9 +92,6 @@ export default { }, }, computed: { - errorPackages() { - return this.packages?.nodes?.filter((pkg) => pkg.status === PACKAGE_ERROR_STATUS) ?? []; - }, packages() { return this.packagesResource?.packages ?? {}; }, @@ -150,9 +147,9 @@ export default { isLoading() { return this.$apollo.queries.packagesResource.loading || this.isDeleteInProgress; }, - isNotFilteredByErrorStatus() { + showPackageErrorsCount() { const packageStatus = this.filters?.packageStatus?.toUpperCase(); - return this.errorPackages.length > 0 && packageStatus !== PACKAGE_ERROR_STATUS; + return this.packagesCount > 0 && packageStatus !== PACKAGE_ERROR_STATUS; }, refetchQueriesData() { return [ @@ -216,7 +213,6 @@ export default { /> -