From dcf94a820d2e245bbaab3626a855e2f91a5db6df Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 21 Aug 2024 00:07:26 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- GITLAB_KAS_VERSION | 2 +- app/assets/javascripts/editor/schema/ci.json | 5 +- .../javascripts/ide/init_gitlab_web_ide.js | 2 + .../lib/gitlab_web_ide/handle_update_url.js | 28 +++++ .../ide/lib/gitlab_web_ide/index.js | 1 + .../components/app.vue | 2 +- .../global_search_autocomplete_items.vue | 2 +- .../components/create_work_item.vue | 6 +- .../design_management/design_item.vue | 16 +-- .../design_management_widget.vue | 4 +- .../design_notes/design_discussion.vue | 6 +- .../design_notes/design_note.vue | 6 +- .../design_notes/toggle_replies_widget.vue | 4 +- .../design_preview/close_button.vue | 2 +- .../design_preview/design_description.vue | 4 +- .../design_preview/design_details.vue | 10 +- .../design_preview/design_navigation.vue | 4 +- .../design_preview/design_presentation.vue | 4 +- .../design_preview/design_sidebar.vue | 4 +- .../design_preview/design_toolbar.vue | 18 +-- .../design_preview/image.vue | 4 +- .../design_version_dropdown.vue | 2 +- .../work_items/components/item_title.vue | 6 +- .../components/notes/system_note.vue | 12 +- .../notes/work_item_activity_sort_filter.vue | 2 +- .../components/notes/work_item_add_note.vue | 8 +- .../notes/work_item_comment_form.vue | 6 +- .../notes/work_item_comment_locked.vue | 2 +- .../work_item_history_only_filter_note.vue | 2 +- .../components/notes/work_item_note.vue | 2 +- .../notes/work_item_note_signed_out.vue | 2 +- .../notes/work_item_notes_activity_header.vue | 8 +- .../shared/work_item_link_child_contents.vue | 18 +-- .../shared/work_item_link_child_metadata.vue | 8 +- .../shared/work_item_more_actions.vue | 7 +- .../work_item_sidebar_dropdown_widget.vue | 12 +- .../shared/work_item_token_input.vue | 12 +- .../work_items/components/widget_wrapper.vue | 6 +- .../components/work_item_actions.vue | 6 +- .../disclosure_hierarchy.vue | 12 +- .../disclosure_hierarchy_item.vue | 8 +- .../components/work_item_assignees.vue | 10 +- .../work_item_attributes_wrapper.vue | 12 +- .../components/work_item_created_updated.vue | 4 +- .../components/work_item_crm_contacts.vue | 4 +- .../components/work_item_description.vue | 2 +- .../work_item_description_rendered.vue | 4 +- .../components/work_item_detail.vue | 4 +- .../components/work_item_detail_modal.vue | 4 +- .../work_item_development.vue | 8 +- .../work_item_development_mr_item.vue | 4 +- ...ork_item_development_relationship_list.vue | 2 +- .../components/work_item_drawer.vue | 6 +- .../components/work_item_due_date.vue | 21 ++-- .../components/work_item_labels.vue | 8 +- .../work_item_children_wrapper.vue | 2 +- .../work_item_links/work_item_link_child.vue | 8 +- .../work_item_links/work_item_links_form.vue | 6 +- .../work_item_projects_listbox.vue | 2 +- .../work_item_links/work_item_tree.vue | 4 +- .../components/work_item_milestone.vue | 2 +- .../work_items/components/work_item_notes.vue | 2 +- .../components/work_item_parent.vue | 2 +- .../work_item_add_relationship_form.vue | 2 +- .../work_item_relationship_list.vue | 4 +- .../work_item_relationships.vue | 4 +- .../components/work_item_sticky_header.vue | 6 +- .../components/work_item_time_tracking.vue | 21 ++-- .../work_items/components/work_item_title.vue | 2 +- .../stylesheets/page_bundles/work_items.scss | 113 +----------------- app/graphql/types/project_type.rb | 2 +- app/views/dashboard/merge_requests.html.haml | 4 +- ...ion_policy_rule_schedules_namespace_id.yml | 9 ++ ...ation_policy_rule_schedules_project_id.yml | 9 ++ ...ty_orchestration_policy_rule_schedules.yml | 3 + ...ity_orchestration_policy_rule_schedules.rb | 9 ++ ...ity_orchestration_policy_rule_schedules.rb | 9 ++ ...ion_policy_rule_schedules_on_project_id.rb | 16 +++ ...ion_policy_rule_schedules_project_id_fk.rb | 17 +++ ...olicy_rule_schedules_project_id_trigger.rb | 25 ++++ ...ration_policy_rule_schedules_project_id.rb | 40 +++++++ ...n_policy_rule_schedules_on_namespace_id.rb | 16 +++ ...n_policy_rule_schedules_namespace_id_fk.rb | 17 +++ ...icy_rule_schedules_namespace_id_trigger.rb | 25 ++++ ...tion_policy_rule_schedules_namespace_id.rb | 40 +++++++ db/schema_migrations/20240816130535 | 1 + db/schema_migrations/20240816130536 | 1 + db/schema_migrations/20240816130537 | 1 + db/schema_migrations/20240816130538 | 1 + db/schema_migrations/20240816130539 | 1 + db/schema_migrations/20240816130540 | 1 + db/schema_migrations/20240816130541 | 1 + db/schema_migrations/20240816130542 | 1 + db/schema_migrations/20240816130543 | 1 + db/schema_migrations/20240816130544 | 1 + db/structure.sql | 48 ++++++++ doc/api/graphql/reference/index.md | 2 +- .../merge_requests/duo_in_merge_requests.md | 1 + .../project/repository/monorepos/index.md | 20 +++- ...tion_policy_rule_schedules_namespace_id.rb | 10 ++ ...ration_policy_rule_schedules_project_id.rb | 10 ++ locale/gitlab.pot | 4 +- package.json | 2 +- ...ab+web-ide+0.0.1-dev-20240816130114.patch} | 0 spec/frontend/ide/init_gitlab_web_ide_spec.js | 3 +- .../gitlab_web_ide/handle_update_url_spec.js | 58 +++++++++ .../global_search_autocomplete_items_spec.js | 2 +- .../__snapshots__/design_item_spec.js.snap | 12 +- .../work_item_relationship_list_spec.js.snap | 4 +- ...policy_rule_schedules_namespace_id_spec.rb | 15 +++ ...n_policy_rule_schedules_project_id_spec.rb | 15 +++ ...n_policy_rule_schedules_project_id_spec.rb | 33 +++++ ...policy_rule_schedules_namespace_id_spec.rb | 33 +++++ yarn.lock | 8 +- 114 files changed, 746 insertions(+), 333 deletions(-) create mode 100644 app/assets/javascripts/ide/lib/gitlab_web_ide/handle_update_url.js create mode 100644 db/docs/batched_background_migrations/backfill_security_orchestration_policy_rule_schedules_namespace_id.yml create mode 100644 db/docs/batched_background_migrations/backfill_security_orchestration_policy_rule_schedules_project_id.yml create mode 100644 db/migrate/20240816130535_add_project_id_to_security_orchestration_policy_rule_schedules.rb create mode 100644 db/migrate/20240816130540_add_namespace_id_to_security_orchestration_policy_rule_schedules.rb create mode 100644 db/post_migrate/20240816130536_index_security_orchestration_policy_rule_schedules_on_project_id.rb create mode 100644 db/post_migrate/20240816130537_add_security_orchestration_policy_rule_schedules_project_id_fk.rb create mode 100644 db/post_migrate/20240816130538_add_security_orchestration_policy_rule_schedules_project_id_trigger.rb create mode 100644 db/post_migrate/20240816130539_queue_backfill_security_orchestration_policy_rule_schedules_project_id.rb create mode 100644 db/post_migrate/20240816130541_index_security_orchestration_policy_rule_schedules_on_namespace_id.rb create mode 100644 db/post_migrate/20240816130542_add_security_orchestration_policy_rule_schedules_namespace_id_fk.rb create mode 100644 db/post_migrate/20240816130543_add_security_orchestration_policy_rule_schedules_namespace_id_trigger.rb create mode 100644 db/post_migrate/20240816130544_queue_backfill_security_orchestration_policy_rule_schedules_namespace_id.rb create mode 100644 db/schema_migrations/20240816130535 create mode 100644 db/schema_migrations/20240816130536 create mode 100644 db/schema_migrations/20240816130537 create mode 100644 db/schema_migrations/20240816130538 create mode 100644 db/schema_migrations/20240816130539 create mode 100644 db/schema_migrations/20240816130540 create mode 100644 db/schema_migrations/20240816130541 create mode 100644 db/schema_migrations/20240816130542 create mode 100644 db/schema_migrations/20240816130543 create mode 100644 db/schema_migrations/20240816130544 create mode 100644 lib/gitlab/background_migration/backfill_security_orchestration_policy_rule_schedules_namespace_id.rb create mode 100644 lib/gitlab/background_migration/backfill_security_orchestration_policy_rule_schedules_project_id.rb rename patches/{@gitlab+web-ide+0.0.1-dev-20240813211849.patch => @gitlab+web-ide+0.0.1-dev-20240816130114.patch} (100%) create mode 100644 spec/frontend/ide/lib/gitlab_web_ide/handle_update_url_spec.js create mode 100644 spec/lib/gitlab/background_migration/backfill_security_orchestration_policy_rule_schedules_namespace_id_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_security_orchestration_policy_rule_schedules_project_id_spec.rb create mode 100644 spec/migrations/20240816130539_queue_backfill_security_orchestration_policy_rule_schedules_project_id_spec.rb create mode 100644 spec/migrations/20240816130544_queue_backfill_security_orchestration_policy_rule_schedules_namespace_id_spec.rb diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 30fcc89d48f..65a154b8d3a 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -27b3a74b0ac39329e049167a7a1d7109c344f441 +1a16fa05c2645a0abba4e2f028e1fdbe5d85be2f diff --git a/app/assets/javascripts/editor/schema/ci.json b/app/assets/javascripts/editor/schema/ci.json index 676c9fc0824..78a47f46887 100644 --- a/app/assets/javascripts/editor/schema/ci.json +++ b/app/assets/javascripts/editor/schema/ci.json @@ -256,7 +256,7 @@ }, "reports": { "type": "object", - "markdownDescription": "Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in Merge Requests. [Learn More](https://docs.gitlab.com/ee/ci/yaml/#artifactsreports).", + "markdownDescription": "Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in merge requests. [Learn More](https://docs.gitlab.com/ee/ci/yaml/#artifactsreports).", "additionalProperties": false, "properties": { "junit": { @@ -290,7 +290,8 @@ "coverage_format": { "description": "Code coverage format used by the test framework.", "enum": [ - "cobertura", "jacoco" + "cobertura", + "jacoco" ] }, "path": { diff --git a/app/assets/javascripts/ide/init_gitlab_web_ide.js b/app/assets/javascripts/ide/init_gitlab_web_ide.js index 1ade6433d63..5b99a6ecb3d 100644 --- a/app/assets/javascripts/ide/init_gitlab_web_ide.js +++ b/app/assets/javascripts/ide/init_gitlab_web_ide.js @@ -7,6 +7,7 @@ import { getOAuthConfig, setupRootElement, handleTracking, + handleUpdateUrl, } from './lib/gitlab_web_ide'; import { GITLAB_WEB_IDE_FEEDBACK_ISSUE } from './constants'; import { renderWebIdeError } from './render_web_ide_error'; @@ -84,6 +85,7 @@ export const initGitlabWebIDE = async (el) => { editorFont, extensionsGallerySettings, codeSuggestionsEnabled, + handleContextUpdate: handleUpdateUrl, handleTracking, // See https://gitlab.com/gitlab-org/gitlab-web-ide/-/blob/main/packages/web-ide-types/src/config.ts#L86 telemetryEnabled: Tracking.enabled(), diff --git a/app/assets/javascripts/ide/lib/gitlab_web_ide/handle_update_url.js b/app/assets/javascripts/ide/lib/gitlab_web_ide/handle_update_url.js new file mode 100644 index 00000000000..c27d658ce92 --- /dev/null +++ b/app/assets/javascripts/ide/lib/gitlab_web_ide/handle_update_url.js @@ -0,0 +1,28 @@ +import { joinPaths, webIDEUrl } from '~/lib/utils/url_utility'; + +function withPrevious(fn) { + let prev; + + return (arg) => { + fn(arg, prev); + prev = arg; + }; +} + +function getWebIdeUrl(projectPath, branchName) { + return webIDEUrl(joinPaths('/', projectPath, 'edit', branchName, '-/')); +} + +export const handleUpdateUrl = withPrevious(({ projectPath, ref }, previous) => { + if (!previous) { + return; + } + + if (previous.ref === ref) { + return; + } + + const newUrl = getWebIdeUrl(projectPath, ref); + + window.history.replaceState(null, '', newUrl); +}); diff --git a/app/assets/javascripts/ide/lib/gitlab_web_ide/index.js b/app/assets/javascripts/ide/lib/gitlab_web_ide/index.js index 87e0002c8c8..bdf0a3d2db4 100644 --- a/app/assets/javascripts/ide/lib/gitlab_web_ide/index.js +++ b/app/assets/javascripts/ide/lib/gitlab_web_ide/index.js @@ -2,3 +2,4 @@ export * from './get_base_config'; export * from './get_oauth_config'; export * from './handle_tracking_event'; export * from './setup_root_element'; +export * from './handle_update_url'; diff --git a/app/assets/javascripts/merge_request_dashboard/components/app.vue b/app/assets/javascripts/merge_request_dashboard/components/app.vue index 9584300db8d..7e364856ed8 100644 --- a/app/assets/javascripts/merge_request_dashboard/components/app.vue +++ b/app/assets/javascripts/merge_request_dashboard/components/app.vue @@ -25,7 +25,7 @@ export default {