From 9fe0324bb213eec9e45777eaa68f834758b05a38 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 17 Jul 2025 12:08:09 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab-ci.yml | 1 - .gitlab/ci/setup.gitlab-ci.yml | 29 +- .gitlab/ci/test-metadata.gitlab-ci.yml | 27 +- .gitlab/duo/mr-review-instructions.yaml | 2 + Gemfile | 2 +- Gemfile.checksum | 2 +- Gemfile.lock | 4 +- Gemfile.next.checksum | 2 +- Gemfile.next.lock | 4 +- .../admin/groups/index/constants.js | 2 +- .../fragments/admin_group.fragment.graphql | 7 + .../graphql/queries/groups.query.graphql | 5 +- .../behaviors/shortcuts/keybindings.js | 5 +- .../entrypoints/lookbook/rapid_diffs.js | 9 +- .../list/components/issue_card_time_info.vue | 8 +- .../notes/store/legacy_notes/actions.js | 2 +- .../pages/dashboard/groups/index/index.js | 7 - .../projects/commit/rapid_diffs/index.js | 2 +- .../projects/compare/rapid_diffs/index.js | 2 +- .../creations/rapid_diffs/index.js | 2 +- .../merge_requests/rapid_diffs/index.js | 2 +- .../javascripts/rapid_diffs/adapter_events.js | 6 + .../javascripts/rapid_diffs/adapters.js | 16 - .../disable_diff_side.js} | 4 +- .../adapter.js => adapters/expand_lines.js} | 6 +- .../expand_lines/diff_line_row.js | 0 .../{ => adapters}/expand_lines/get_lines.js | 0 .../adapter.js => adapters/image_viewer.js} | 4 +- .../adapter.js => adapters/line_link.js} | 4 +- .../adapter.js => adapters/load_file.js} | 2 +- .../adapter.js => adapters/options_menu.js} | 2 +- .../adapter.js => adapters/toggle_file.js} | 4 +- .../javascripts/rapid_diffs/app/adapters.js | 16 + .../app/{ => file_browser}/file_browser.vue | 0 .../file_browser_drawer.vue | 0 .../file_browser_drawer_toggle.vue | 0 .../index.js} | 2 +- .../javascripts/rapid_diffs/app/index.js | 29 +- .../app/init_hidden_files_warning.js | 2 +- .../javascripts/rapid_diffs/app/pinia.js | 5 - .../{ => quirks}/content_visibility_fix.js | 0 .../app/{ => quirks}/safari_fix.js | 0 .../rapid_diffs/app/view_settings.js | 4 +- app/assets/javascripts/rapid_diffs/events.js | 6 - app/assets/javascripts/rapid_diffs/index.js | 5 + .../rapid_diffs/stores/diffs_list.js | 2 +- .../{ => web_components}/diff_file.js | 8 +- .../web_components/diff_file_mounted.js | 8 + .../{ => web_components}/streaming_error.js | 0 .../components/header_area/blob_controls.vue | 6 +- .../super_sidebar/components/create_menu.vue | 86 +++-- .../components/groups_list/utils.js | 9 +- .../work_item_bulk_edit_sidebar.vue | 20 +- .../components/work_item_description.vue | 4 +- .../javascripts/work_items/constants.js | 1 - app/controllers/admin/groups_controller.rb | 3 + app/controllers/application_controller.rb | 14 +- app/controllers/base_action_controller.rb | 15 - .../oauth/authorizations_controller.rb | 5 +- app/controllers/projects/blob_controller.rb | 1 - app/controllers/projects/tree_controller.rb | 1 - app/controllers/projects_controller.rb | 1 - .../concerns/resolves_merge_requests.rb | 2 - .../resolvers/merge_requests_resolver.rb | 1 - app/helpers/nav/new_dropdown_helper.rb | 3 +- app/mailers/emails/projects.rb | 12 + app/mailers/previews/notify_preview.rb | 16 + ...safe_disable_pipeline_variables_service.rb | 10 +- app/views/dashboard/groups/_groups.html.haml | 1 - app/views/dashboard/groups/index.html.haml | 25 +- ...riables_migration_complete_email.html.haml | 17 + ...ariables_migration_complete_email.text.erb | 7 + .../safe_disable_pipeline_variables_worker.rb | 7 + .../feature_flags/beta/filter_blob_path.yml | 9 - .../beta/your_work_groups_vue.yml | 9 - config/initializers/trusted_proxies.rb | 19 +- ..._top_level_ancestor_to_sbom_graph_paths.rb | 9 + db/schema_migrations/20250714093056 | 1 + db/structure.sql | 3 +- doc/api/graphql/reference/_index.md | 60 ++-- doc/integration/exact_code_search/zoekt.md | 84 +++++ doc/subscriptions/_index.md | 1 + doc/user/gitlab_duo/prompt_examples/_index.md | 1 + .../analyze_vulnerabilities.md | 100 ++++++ doc/user/group/_index.md | 11 +- doc/user/project/repository/files/_index.md | 1 + lib/banzai/filter/placeholders_post_filter.rb | 3 +- lib/gitlab/auth/ip_rate_limiter.rb | 8 +- lib/gitlab/current/organization.rb | 15 +- locale/gitlab.pot | 38 +- package.json | 2 +- .../lib/deployment/default_values.rb | 8 +- .../deployment/default_values_spec.rb | 8 +- qa/qa/page/dashboard/groups.rb | 2 +- .../page/project/sub_menus/create_new_menu.rb | 7 + .../2_plan/issue/create_issue_spec.rb | 16 +- scripts/rspec_helpers.sh | 29 -- .../admin/groups_controller_spec.rb | 5 + .../application_controller_spec.rb | 5 +- spec/features/dashboard/group_spec.rb | 24 -- spec/features/dashboard/groups_list_spec.rb | 256 ------------- .../groups/members/leave_group_spec.rb | 79 ---- .../files/file_open_mrs_dropdown_spec.rb | 42 +-- spec/frontend/fixtures/admin.rb | 49 +++ .../components/issue_card_time_info_spec.js | 10 +- .../notes/store/legacy_notes/actions_spec.js | 11 + .../disable_diff_side_spec.js} | 10 +- .../expand_lines/diff_line_row_spec.js | 2 +- .../expand_lines/get_lines_spec.js | 2 +- .../expand_lines_spec.js} | 12 +- .../image_viewer_spec.js} | 8 +- .../line_link_spec.js} | 10 +- .../load_file_spec.js} | 8 +- .../options_menu_spec.js} | 6 +- .../toggle_file_spec.js} | 8 +- spec/frontend/rapid_diffs/app/app_spec.js | 22 +- .../file_browser_drawer_spec.js | 2 +- .../file_browser_drawer_toggle_spec.js | 2 +- .../{ => file_browser}/file_browser_spec.js | 2 +- .../index_spec.js} | 14 +- .../rapid_diffs/app/view_settings_spec.js | 4 +- .../rapid_diffs/stores/diffs_list_spec.js | 2 +- .../web_components/diff_file_mounted_spec.js | 20 ++ .../{ => web_components}/diff_file_spec.js | 29 +- .../streaming_error_spec.js | 2 +- .../header_area/blob_controls_spec.js | 11 +- .../components/create_menu_spec.js | 177 +++++---- spec/frontend/super_sidebar/mock_data.js | 3 +- .../group_list_item_actions_spec.js | 2 +- .../groups_list/groups_list_item_spec.js | 17 +- .../components/groups_list/mock_data.js | 74 +--- .../components/groups_list/utils_spec.js | 4 +- .../resource_lists/list_item_spec.js | 52 +-- .../work_item_bulk_edit_sidebar_spec.js | 91 ++--- spec/frontend/work_items/mock_data.js | 8 - .../resolvers/merge_requests_resolver_spec.rb | 10 - spec/helpers/nav/new_dropdown_helper_spec.rb | 2 + spec/initializers/trusted_proxies_spec.rb | 42 ++- .../filter/placeholders_post_filter_spec.rb | 9 +- spec/lib/gitlab/auth/ip_rate_limiter_spec.rb | 12 + spec/lib/gitlab/current/organization_spec.rb | 81 ++--- .../middleware/basic_health_check_spec.rb | 5 +- spec/mailers/emails/projects_spec.rb | 34 ++ spec/mailers/notify_spec.rb | 26 ++ spec/requests/api/graphql/work_item_spec.rb | 4 +- ...disable_pipeline_variables_service_spec.rb | 2 + ..._disable_pipeline_variables_worker_spec.rb | 21 +- tooling/bin/predictive_test_metrics | 83 +++++ tooling/bin/predictive_tests | 336 ++++++++++-------- yarn.lock | 15 +- 150 files changed, 1402 insertions(+), 1337 deletions(-) create mode 100644 app/assets/javascripts/admin/groups/index/graphql/fragments/admin_group.fragment.graphql create mode 100644 app/assets/javascripts/rapid_diffs/adapter_events.js delete mode 100644 app/assets/javascripts/rapid_diffs/adapters.js rename app/assets/javascripts/rapid_diffs/{disable_diff_side/adapter.js => adapters/disable_diff_side.js} (87%) rename app/assets/javascripts/rapid_diffs/{expand_lines/adapter.js => adapters/expand_lines.js} (91%) rename app/assets/javascripts/rapid_diffs/{ => adapters}/expand_lines/diff_line_row.js (100%) rename app/assets/javascripts/rapid_diffs/{ => adapters}/expand_lines/get_lines.js (100%) rename app/assets/javascripts/rapid_diffs/{image_viewer/adapter.js => adapters/image_viewer.js} (91%) rename app/assets/javascripts/rapid_diffs/{line_link/adapter.js => adapters/line_link.js} (92%) rename app/assets/javascripts/rapid_diffs/{load_file/adapter.js => adapters/load_file.js} (97%) rename app/assets/javascripts/rapid_diffs/{options_menu/adapter.js => adapters/options_menu.js} (97%) rename app/assets/javascripts/rapid_diffs/{toggle_file/adapter.js => adapters/toggle_file.js} (97%) create mode 100644 app/assets/javascripts/rapid_diffs/app/adapters.js rename app/assets/javascripts/rapid_diffs/app/{ => file_browser}/file_browser.vue (100%) rename app/assets/javascripts/rapid_diffs/app/{ => file_browser}/file_browser_drawer.vue (100%) rename app/assets/javascripts/rapid_diffs/app/{ => file_browser}/file_browser_drawer_toggle.vue (100%) rename app/assets/javascripts/rapid_diffs/app/{init_file_browser.js => file_browser/index.js} (97%) delete mode 100644 app/assets/javascripts/rapid_diffs/app/pinia.js rename app/assets/javascripts/rapid_diffs/app/{ => quirks}/content_visibility_fix.js (100%) rename app/assets/javascripts/rapid_diffs/app/{ => quirks}/safari_fix.js (100%) delete mode 100644 app/assets/javascripts/rapid_diffs/events.js create mode 100644 app/assets/javascripts/rapid_diffs/index.js rename app/assets/javascripts/rapid_diffs/{ => web_components}/diff_file.js (95%) create mode 100644 app/assets/javascripts/rapid_diffs/web_components/diff_file_mounted.js rename app/assets/javascripts/rapid_diffs/{ => web_components}/streaming_error.js (100%) delete mode 100644 app/views/dashboard/groups/_groups.html.haml create mode 100644 app/views/notify/pipeline_variables_migration_complete_email.html.haml create mode 100644 app/views/notify/pipeline_variables_migration_complete_email.text.erb delete mode 100644 config/feature_flags/beta/filter_blob_path.yml delete mode 100644 config/feature_flags/beta/your_work_groups_vue.yml create mode 100644 db/migrate/20250714093056_add_top_level_ancestor_to_sbom_graph_paths.rb create mode 100644 db/schema_migrations/20250714093056 create mode 100644 doc/user/gitlab_duo/prompt_examples/analyze_vulnerabilities.md create mode 100644 spec/frontend/fixtures/admin.rb rename spec/frontend/rapid_diffs/{disable_diff_side/adapter_spec.js => adapters/disable_diff_side_spec.js} (83%) rename spec/frontend/rapid_diffs/{ => adapters}/expand_lines/diff_line_row_spec.js (90%) rename spec/frontend/rapid_diffs/{ => adapters}/expand_lines/get_lines_spec.js (98%) rename spec/frontend/rapid_diffs/{expand_lines/adapter_spec.js => adapters/expand_lines_spec.js} (91%) rename spec/frontend/rapid_diffs/{image_viewer/adapter.spec.js => adapters/image_viewer_spec.js} (88%) rename spec/frontend/rapid_diffs/{line_link/adapter_spec.js => adapters/line_link_spec.js} (84%) rename spec/frontend/rapid_diffs/{load_file/adapter_spec.js => adapters/load_file_spec.js} (93%) rename spec/frontend/rapid_diffs/{options_menu/adapter_spec.js => adapters/options_menu_spec.js} (93%) rename spec/frontend/rapid_diffs/{toggle_file/adapter_spec.js => adapters/toggle_file_spec.js} (91%) rename spec/frontend/rapid_diffs/app/{ => file_browser}/file_browser_drawer_spec.js (96%) rename spec/frontend/rapid_diffs/app/{ => file_browser}/file_browser_drawer_toggle_spec.js (95%) rename spec/frontend/rapid_diffs/app/{ => file_browser}/file_browser_spec.js (96%) rename spec/frontend/rapid_diffs/app/{init_file_browser_spec.js => file_browser/index_spec.js} (91%) create mode 100644 spec/frontend/rapid_diffs/web_components/diff_file_mounted_spec.js rename spec/frontend/rapid_diffs/{ => web_components}/diff_file_spec.js (84%) rename spec/frontend/rapid_diffs/{ => web_components}/streaming_error_spec.js (89%) create mode 100755 tooling/bin/predictive_test_metrics diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 37f3224a538..4eaa1b38567 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -247,7 +247,6 @@ variables: RSPEC_MATCHING_JS_FILES_PATH: rspec/js_matching_files.txt RSPEC_MATCHING_TESTS_EE_PATH: rspec/matching_tests-ee.txt RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt - RSPEC_MATCHING_TEST_FILES_PATH: rspec/matching_test_files.txt RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json RSPEC_PACKED_TESTS_MAPPING_ALT_PATH: crystalball/packed-mapping-alt.json RSPEC_PREDICTIVE_PIPELINE_TEMPLATE_YML: .gitlab/ci/rails/rspec-predictive.gitlab-ci.yml.erb diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index 572603c1959..9cd1392b3cf 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -132,35 +132,27 @@ detect-tests: needs: [] stage: prepare before_script: - - source ./scripts/utils.sh - - source ./scripts/rspec_helpers.sh # Use alternative coverage based mappings for tier-2 pipeline - | if echo "$CI_MERGE_REQUEST_LABELS" | grep -q "pipeline::tier-2"; then - echo "Using alternative coverage based mappings" MAPPING_TYPE=coverage else - echo "Using standard described_class based mappings" MAPPING_TYPE=described_class fi script: - | # $FIND_CHANGES_MERGE_REQUEST_IID is defined in as-if-foss.gitlab-ci.yml if [ -n "$CI_MERGE_REQUEST_IID" ] || [ -n "$FIND_CHANGES_MERGE_REQUEST_IID" ]; then - mkdir -p $(dirname "$RSPEC_CHANGED_FILES_PATH") - - tooling/bin/predictive_tests --ci --select-tests --with-crystalball-mappings --mapping-type $MAPPING_TYPE - - filter_rspec_matched_foss_tests ${RSPEC_MATCHING_TEST_FILES_PATH} ${RSPEC_MATCHING_TESTS_FOSS_PATH}; - filter_rspec_matched_ee_tests ${RSPEC_MATCHING_TEST_FILES_PATH} ${RSPEC_MATCHING_TESTS_EE_PATH}; - - echoinfo 'Related FOSS RSpec tests:' - echoinfo "$(tr ' ' '\n' < $RSPEC_MATCHING_TESTS_FOSS_PATH)" - echo "" - - echoinfo 'Related EE RSpec tests:' - echoinfo "$(tr ' ' '\n' < $RSPEC_MATCHING_TESTS_EE_PATH)" - echo "" + tooling/bin/predictive_tests \ + --ci \ + --with-crystalball-mappings \ + --mapping-type $MAPPING_TYPE \ + --with-frontend-fixture-mappings \ + --frontend-fixtures-mapping-path $FRONTEND_FIXTURES_MAPPING_PATH \ + --matching-foss-rspec-test-files-path $RSPEC_MATCHING_TESTS_FOSS_PATH \ + --matching-ee-rspec-test-files-path $RSPEC_MATCHING_TESTS_EE_PATH \ + --matching-jest-test-files-path $RSPEC_MATCHING_JS_FILES_PATH \ + --changed-files-path $RSPEC_CHANGED_FILES_PATH fi artifacts: expire_in: 7d @@ -170,7 +162,6 @@ detect-tests: - ${RSPEC_MATCHING_JS_FILES_PATH} - ${RSPEC_MATCHING_TESTS_EE_PATH} - ${RSPEC_MATCHING_TESTS_FOSS_PATH} - - ${RSPEC_MATCHING_TEST_FILES_PATH} detect-previous-failed-tests: extends: diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index 543c0e2ea71..f745d35f0d7 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -82,35 +82,16 @@ export-predictive-test-metrics: dependencies: [] variables: GLCI_PREDICTIVE_TEST_METRICS_OUTPUT_DIR: "tmp/predictive_tests" - GLCI_ALL_FAILED_RSPEC_TESTS_FILE: "${GLCI_PREDICTIVE_TEST_METRICS_OUTPUT_DIR}/rspec_all_failed_tests.txt" before_script: - source ./scripts/utils.sh - source ./scripts/rspec_helpers.sh - retrieve_failed_tests "${GLCI_PREDICTIVE_TEST_METRICS_OUTPUT_DIR}" "oneline" "latest" script: - - tooling/bin/predictive_tests --export-predictive-backend-metrics + - | + tooling/bin/predictive_test_metrics \ + --export-backend-metrics \ + --failed-backend-tests-file "${GLCI_PREDICTIVE_TEST_METRICS_OUTPUT_DIR}/rspec_all_failed_tests.txt" artifacts: expire_in: 7d paths: - $GLCI_PREDICTIVE_TEST_METRICS_OUTPUT_DIR - -export-predictive-test-metrics-frontend: - extends: - - export-predictive-test-metrics - - .yarn-cache - - .with-ci-node-image - dependencies: - - detect-tests - - graphql-schema-dump - variables: - GLCI_JEST_FAILED_TESTS_FILE: "${GLCI_PREDICTIVE_TEST_METRICS_OUTPUT_DIR}/jest_failed_tests.txt" - before_script: - - !reference [export-predictive-test-metrics, before_script] - - yarn_install_script - script: - - tooling/bin/predictive_tests --export-predictive-frontend-metrics - artifacts: - expire_in: 7d - paths: - - $GLCI_PREDICTIVE_TEST_METRICS_OUTPUT_DIR - - $JEST_MATCHING_TEST_FILES_PATH diff --git a/.gitlab/duo/mr-review-instructions.yaml b/.gitlab/duo/mr-review-instructions.yaml index 1466a2b66eb..d5c19e24ce5 100644 --- a/.gitlab/duo/mr-review-instructions.yaml +++ b/.gitlab/duo/mr-review-instructions.yaml @@ -45,6 +45,8 @@ instructions: fileFilters: - "spec/**/*_spec.rb" - "ee/spec/**/*_spec.rb" + - "!spec/factories/**/*" + - "!spec/support/**/*" instructions: | 1. Test both happy paths and edge cases 2. Include error scenarios diff --git a/Gemfile b/Gemfile index df0d47f9b88..96987fdcfe7 100644 --- a/Gemfile +++ b/Gemfile @@ -164,7 +164,7 @@ gem 'grape-path-helpers', '~> 2.0.1', feature_category: :api gem 'rack-cors', '~> 2.0.1', require: 'rack/cors', feature_category: :shared # GraphQL API -gem 'graphql', '2.4.13', feature_category: :api +gem 'graphql', '2.5.11', feature_category: :api gem 'graphql-docs', '~> 5.0.0', group: [:development, :test], feature_category: :api gem 'apollo_upload_server', '~> 2.1.6', feature_category: :api diff --git a/Gemfile.checksum b/Gemfile.checksum index fa7a22b2bd9..cc637b4bb74 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -292,7 +292,7 @@ {"name":"grape-swagger-entity","version":"0.5.5","platform":"ruby","checksum":"a2a0eb28964b1a56775a3571358a9f0a300b703dbaee1ee535adb2a7bed7ece6"}, {"name":"grape_logging","version":"1.8.4","platform":"ruby","checksum":"efcc3e322dbd5d620a68f078733b7db043cf12680144cd03c982f14115c792d1"}, {"name":"graphlyte","version":"1.0.0","platform":"ruby","checksum":"b5af4ab67dde6e961f00ea1c18f159f73b52ed11395bb4ece297fe628fa1804d"}, -{"name":"graphql","version":"2.4.13","platform":"ruby","checksum":"fb1db6e9e24c93c995f8083d66ec65ea70991aa2b68da1b15a360b418af5aa9d"}, +{"name":"graphql","version":"2.5.11","platform":"ruby","checksum":"1169ffc6e215fd4d60056455b672c40a0cafa0607262049c2cca343b0f6bdb5c"}, {"name":"graphql-docs","version":"5.0.0","platform":"ruby","checksum":"76baca6e5a803a4b6a9fbbbfdbf16742b7c4c546c8592b6e1a7aa4e79e562d04"}, {"name":"grpc","version":"1.63.0","platform":"aarch64-linux","checksum":"dc75c5fd570b819470781d9512105dddfdd11d984f38b8e60bb946f92d1f79ee"}, {"name":"grpc","version":"1.63.0","platform":"arm64-darwin","checksum":"91b93a354508a9d1772f095554f2e4c04358c2b32d7a670e3705b7fc4695c996"}, diff --git a/Gemfile.lock b/Gemfile.lock index b335a0b14e9..9bfc65eaf06 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -948,7 +948,7 @@ GEM grape rack graphlyte (1.0.0) - graphql (2.4.13) + graphql (2.5.11) base64 fiber-storage logger @@ -2205,7 +2205,7 @@ DEPENDENCIES grape-swagger-entity (~> 0.5.5) grape_logging (~> 1.8, >= 1.8.4) graphlyte (~> 1.0.0) - graphql (= 2.4.13) + graphql (= 2.5.11) graphql-docs (~> 5.0.0) grpc (= 1.63.0) gssapi (~> 1.3.1) diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum index 164d0f50634..82b31797eba 100644 --- a/Gemfile.next.checksum +++ b/Gemfile.next.checksum @@ -292,7 +292,7 @@ {"name":"grape-swagger-entity","version":"0.5.5","platform":"ruby","checksum":"a2a0eb28964b1a56775a3571358a9f0a300b703dbaee1ee535adb2a7bed7ece6"}, {"name":"grape_logging","version":"1.8.4","platform":"ruby","checksum":"efcc3e322dbd5d620a68f078733b7db043cf12680144cd03c982f14115c792d1"}, {"name":"graphlyte","version":"1.0.0","platform":"ruby","checksum":"b5af4ab67dde6e961f00ea1c18f159f73b52ed11395bb4ece297fe628fa1804d"}, -{"name":"graphql","version":"2.4.13","platform":"ruby","checksum":"fb1db6e9e24c93c995f8083d66ec65ea70991aa2b68da1b15a360b418af5aa9d"}, +{"name":"graphql","version":"2.5.11","platform":"ruby","checksum":"1169ffc6e215fd4d60056455b672c40a0cafa0607262049c2cca343b0f6bdb5c"}, {"name":"graphql-docs","version":"5.0.0","platform":"ruby","checksum":"76baca6e5a803a4b6a9fbbbfdbf16742b7c4c546c8592b6e1a7aa4e79e562d04"}, {"name":"grpc","version":"1.63.0","platform":"aarch64-linux","checksum":"dc75c5fd570b819470781d9512105dddfdd11d984f38b8e60bb946f92d1f79ee"}, {"name":"grpc","version":"1.63.0","platform":"arm64-darwin","checksum":"91b93a354508a9d1772f095554f2e4c04358c2b32d7a670e3705b7fc4695c996"}, diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 26589db2109..034f4540a34 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -942,7 +942,7 @@ GEM grape rack graphlyte (1.0.0) - graphql (2.4.13) + graphql (2.5.11) base64 fiber-storage logger @@ -2200,7 +2200,7 @@ DEPENDENCIES grape-swagger-entity (~> 0.5.5) grape_logging (~> 1.8, >= 1.8.4) graphlyte (~> 1.0.0) - graphql (= 2.4.13) + graphql (= 2.5.11) graphql-docs (~> 5.0.0) grpc (= 1.63.0) gssapi (~> 1.3.1) diff --git a/app/assets/javascripts/admin/groups/index/constants.js b/app/assets/javascripts/admin/groups/index/constants.js index 821b8db8811..0806de5174b 100644 --- a/app/assets/javascripts/admin/groups/index/constants.js +++ b/app/assets/javascripts/admin/groups/index/constants.js @@ -9,7 +9,7 @@ import { import GroupsList from '~/vue_shared/components/groups_list/groups_list.vue'; import { formatGraphQLGroups } from '~/vue_shared/components/groups_list/formatter'; import ResourceListsEmptyState from '~/vue_shared/components/resource_lists/empty_state.vue'; -import adminGroupsQuery from 'ee_else_ce/admin/groups/index/graphql/queries/groups.query.graphql'; +import adminGroupsQuery from './graphql/queries/groups.query.graphql'; const baseTab = { formatter: (groups) => diff --git a/app/assets/javascripts/admin/groups/index/graphql/fragments/admin_group.fragment.graphql b/app/assets/javascripts/admin/groups/index/graphql/fragments/admin_group.fragment.graphql new file mode 100644 index 00000000000..2110cc12e45 --- /dev/null +++ b/app/assets/javascripts/admin/groups/index/graphql/fragments/admin_group.fragment.graphql @@ -0,0 +1,7 @@ +# id field is requested by ~/graphql_shared/fragments/group.fragment.graphql +# eslint-disable-next-line @graphql-eslint/require-selections +fragment AdminGroup on Group { + projectStatistics { + storageSize + } +} diff --git a/app/assets/javascripts/admin/groups/index/graphql/queries/groups.query.graphql b/app/assets/javascripts/admin/groups/index/graphql/queries/groups.query.graphql index 114429fa400..bea74177af4 100644 --- a/app/assets/javascripts/admin/groups/index/graphql/queries/groups.query.graphql +++ b/app/assets/javascripts/admin/groups/index/graphql/queries/groups.query.graphql @@ -1,5 +1,6 @@ #import "~/graphql_shared/fragments/group.fragment.graphql" #import "~/graphql_shared/fragments/page_info.fragment.graphql" +#import "ee_else_ce/admin/groups/index/graphql/fragments/admin_group.fragment.graphql" query adminGroupsQuery( $first: Int @@ -22,9 +23,7 @@ query adminGroupsQuery( ) { nodes { ...Group - projectStatistics { - storageSize - } + ...AdminGroup } pageInfo { ...PageInfo diff --git a/app/assets/javascripts/behaviors/shortcuts/keybindings.js b/app/assets/javascripts/behaviors/shortcuts/keybindings.js index 7c6d0bc10e3..56f17e20052 100644 --- a/app/assets/javascripts/behaviors/shortcuts/keybindings.js +++ b/app/assets/javascripts/behaviors/shortcuts/keybindings.js @@ -190,7 +190,10 @@ export const TOGGLE_MARKDOWN_PREVIEW = { // However, this particular shortcut has been in place since before the `mod` key was available. // We've chosen to leave this implemented as-is for the time being to avoid breaking people's workflows. // See discussion in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45308#note_527490548. - defaultKeys: ['ctrl+shift+p', 'command+shift+p'], + // Update 2025-07-17: Adding `alt` version to fix an issue in Windows + // This new combination is compatible across Mac, Linux and Windows. + // See https://gitlab.com/gitlab-org/gitlab/-/issues/17600#note_2633177789 + defaultKeys: ['ctrl+shift+p', 'command+shift+p', 'alt+shift+p'], }; /** diff --git a/app/assets/javascripts/entrypoints/lookbook/rapid_diffs.js b/app/assets/javascripts/entrypoints/lookbook/rapid_diffs.js index 3ac183cf152..ab7f2f0e059 100644 --- a/app/assets/javascripts/entrypoints/lookbook/rapid_diffs.js +++ b/app/assets/javascripts/entrypoints/lookbook/rapid_diffs.js @@ -1,12 +1,15 @@ -import { DiffFile } from '~/rapid_diffs/diff_file'; -import { VIEWER_ADAPTERS } from '~/rapid_diffs/adapters'; +import { DiffFile } from '~/rapid_diffs/web_components/diff_file'; +import { VIEWER_ADAPTERS } from '~/rapid_diffs/app/adapters'; customElements.define('diff-file', DiffFile); customElements.define( 'diff-file-mounted', class extends HTMLElement { connectedCallback() { - this.parentElement.mount({ adapterConfig: VIEWER_ADAPTERS, observe: () => {} }); + this.parentElement.mount({ + adapterConfig: VIEWER_ADAPTERS, + observe: () => {}, + }); } }, ); diff --git a/app/assets/javascripts/issues/list/components/issue_card_time_info.vue b/app/assets/javascripts/issues/list/components/issue_card_time_info.vue index 29fb418379d..d33ecd30bee 100644 --- a/app/assets/javascripts/issues/list/components/issue_card_time_info.vue +++ b/app/assets/javascripts/issues/list/components/issue_card_time_info.vue @@ -1,7 +1,7 @@