diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-18 15:08:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-18 15:08:51 +0300 |
commit | ba12560b3fcd6e24d0ab7e14ae71917a9a81f6aa (patch) | |
tree | 2ed7f57a37d4ef73f0598862be12bd742d1e3c65 /app | |
parent | 5d7b3c05e5c502d090a13515dc5cdaf6b647f215 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/notes/index.js | 3 | ||||
-rw-r--r-- | app/assets/javascripts/sidebar/components/toggle/toggle_sidebar.vue | 13 | ||||
-rw-r--r-- | app/assets/javascripts/vue_shared/components/markdown/header.vue | 6 | ||||
-rw-r--r-- | app/assets/stylesheets/page_bundles/merge_requests.scss | 6 | ||||
-rw-r--r-- | app/models/design_management/git_repository.rb | 22 | ||||
-rw-r--r-- | app/models/design_management/repository.rb | 32 | ||||
-rw-r--r-- | app/models/project.rb | 4 | ||||
-rw-r--r-- | app/models/user.rb | 1 | ||||
-rw-r--r-- | app/workers/issuable_export_csv_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/jira_connect/sync_merge_request_worker.rb | 4 |
10 files changed, 57 insertions, 36 deletions
diff --git a/app/assets/javascripts/notes/index.js b/app/assets/javascripts/notes/index.js index 922cd3ebddc..cf7207d260d 100644 --- a/app/assets/javascripts/notes/index.js +++ b/app/assets/javascripts/notes/index.js @@ -1,6 +1,7 @@ import Vue from 'vue'; import VueApollo from 'vue-apollo'; import { apolloProvider } from '~/graphql_shared/issuable_client'; +import { convertToGraphQLId } from '~/graphql_shared/utils'; import { parseBoolean } from '~/lib/utils/common_utils'; import { getLocationHash } from '~/lib/utils/url_utility'; import NotesApp from './components/notes_app.vue'; @@ -59,7 +60,7 @@ export default () => { showTimelineViewToggle, reportAbusePath: notesDataset.reportAbusePath, newCommentTemplatePath: notesDataset.newCommentTemplatePath, - issuableId: noteableData.id, + resourceGlobalId: convertToGraphQLId(noteableData.noteableType, noteableData.id), }, data() { return { diff --git a/app/assets/javascripts/sidebar/components/toggle/toggle_sidebar.vue b/app/assets/javascripts/sidebar/components/toggle/toggle_sidebar.vue index 6dacf4e10d3..ba0bf783315 100644 --- a/app/assets/javascripts/sidebar/components/toggle/toggle_sidebar.vue +++ b/app/assets/javascripts/sidebar/components/toggle/toggle_sidebar.vue @@ -32,9 +32,22 @@ export default { return [this.cssClasses, { 'js-sidebar-collapsed': this.collapsed }]; }, }, + watch: { + collapsed(value) { + this.updateLayout(value); + }, + }, + mounted() { + this.page = document.querySelector('.layout-page'); + }, methods: { toggle() { this.$emit('toggle'); + this.updateLayout(); + }, + updateLayout(collapsed) { + this.page?.classList.remove(collapsed ? 'right-sidebar-expanded' : 'right-sidebar-collapsed'); + this.page?.classList.add(collapsed ? 'right-sidebar-collapsed' : 'right-sidebar-expanded'); }, }, }; diff --git a/app/assets/javascripts/vue_shared/components/markdown/header.vue b/app/assets/javascripts/vue_shared/components/markdown/header.vue index 8e00ff54c72..4e827d71126 100644 --- a/app/assets/javascripts/vue_shared/components/markdown/header.vue +++ b/app/assets/javascripts/vue_shared/components/markdown/header.vue @@ -39,7 +39,7 @@ export default { newCommentTemplatePath: { default: null, }, - issuableId: { default: null }, + resourceGlobalId: { default: null }, }, props: { previewMarkdown: { @@ -123,7 +123,7 @@ export default { }, showAiActions() { return ( - this.issuableId && + this.resourceGlobalId && this.glFeatures.openaiExperimentation && this.glFeatures.summarizeNotes && this.glFeatures.summarizeComments @@ -280,7 +280,7 @@ export default { </gl-button> </gl-popover> </template> - <ai-actions-dropdown v-if="showAiActions" :issuable-id="issuableId" /> + <ai-actions-dropdown v-if="showAiActions" :resource-global-id="resourceGlobalId" /> <toolbar-button tag="**" :button-title=" diff --git a/app/assets/stylesheets/page_bundles/merge_requests.scss b/app/assets/stylesheets/page_bundles/merge_requests.scss index 00759ef3710..97df87458ab 100644 --- a/app/assets/stylesheets/page_bundles/merge_requests.scss +++ b/app/assets/stylesheets/page_bundles/merge_requests.scss @@ -1223,11 +1223,13 @@ $tabs-holder-z-index: 250; } .mr-state-loader { - max-width: 334px; - svg { vertical-align: middle; } + + .gl-skeleton-loader { + max-width: 334px; + } } .mr-system-note-icon { diff --git a/app/models/design_management/git_repository.rb b/app/models/design_management/git_repository.rb index 38c457c7991..92db82f7bd1 100644 --- a/app/models/design_management/git_repository.rb +++ b/app/models/design_management/git_repository.rb @@ -12,6 +12,28 @@ module DesignManagement /#{DesignManagement.designs_directory}/* filter=lfs diff=lfs merge=lfs -text GA + # Passing the `project` explicitly saves on one query on the `project` table + # in Mutations::DesignManagement::Delete + + def initialize(project) + @project = project + + full_path = @project.full_path + Gitlab::GlRepository::DESIGN.path_suffix + disk_path = @project.disk_path + Gitlab::GlRepository::DESIGN.path_suffix + + # Ideally a DesignManagement::Repository, not a project would be + # the container to this Git repository. + # See https://gitlab.com/gitlab-org/gitlab/-/issues/394816. + + super( + full_path, + @project, + shard: @project.repository_storage, + disk_path: disk_path, + repo_type: Gitlab::GlRepository::DESIGN + ) + end + # Override of a method called on Repository instances but sent via # method_missing to Gitlab::Git::Repository where it is defined def info_attributes diff --git a/app/models/design_management/repository.rb b/app/models/design_management/repository.rb index 33c5dc15fa4..e6790bc3253 100644 --- a/app/models/design_management/repository.rb +++ b/app/models/design_management/repository.rb @@ -3,34 +3,22 @@ module DesignManagement class Repository < ApplicationRecord include ::Gitlab::Utils::StrongMemoize - include HasRepository belongs_to :project, inverse_of: :design_management_repository validates :project, presence: true, uniqueness: true - delegate :lfs_enabled?, :storage, :repository_storage, to: :project + # This is so that git_repo is initialized once `project` has been + # set. If it is not set after intialization and saving the record + # fails for some reason, the first call to `git_repo`` (initiated by + # `delegate_missing_to`) will throw an error because project would + # be missing. + after_initialize :git_repo - def repository - ::DesignManagement::GitRepository.new( - full_path, - self, - shard: repository_storage, - disk_path: disk_path, - repo_type: repo_type - ) - end - strong_memoize_attr :repository - - def full_path - project.full_path + repo_type.path_suffix - end - - def disk_path - project.disk_path + repo_type.path_suffix - end + delegate_missing_to :git_repo - def repo_type - Gitlab::GlRepository::DESIGN + def git_repo + GitRepository.new(project) end + strong_memoize_attr :git_repo end end diff --git a/app/models/project.rb b/app/models/project.rb index e3fd763dd61..146747eb57a 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1204,10 +1204,6 @@ class Project < ApplicationRecord @repository ||= Gitlab::GlRepository::PROJECT.repository_for(self) end - def design_management_repository - super || create_design_management_repository - end - def design_repository strong_memoize(:design_repository) do Gitlab::GlRepository::DESIGN.repository_for(self) diff --git a/app/models/user.rb b/app/models/user.rb index 52c80a7e579..b26ce449d9e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -357,6 +357,7 @@ class User < ApplicationRecord :time_format_in_24h, :time_format_in_24h=, :show_whitespace_in_diffs, :show_whitespace_in_diffs=, :view_diffs_file_by_file, :view_diffs_file_by_file=, + :pass_user_identities_to_ci_jwt, :pass_user_identities_to_ci_jwt=, :tab_width, :tab_width=, :sourcegraph_enabled, :sourcegraph_enabled=, :gitpod_enabled, :gitpod_enabled=, diff --git a/app/workers/issuable_export_csv_worker.rb b/app/workers/issuable_export_csv_worker.rb index d5e3a86eac1..7235eb4ef4b 100644 --- a/app/workers/issuable_export_csv_worker.rb +++ b/app/workers/issuable_export_csv_worker.rb @@ -9,7 +9,7 @@ class IssuableExportCsvWorker # rubocop:disable Scalability/IdempotentWorker feature_category :team_planning worker_resource_boundary :cpu - loggable_arguments 2 + loggable_arguments 0, 1, 2, 3 def perform(type, current_user_id, project_id, params) user = User.find(current_user_id) diff --git a/app/workers/jira_connect/sync_merge_request_worker.rb b/app/workers/jira_connect/sync_merge_request_worker.rb index 79718b98e98..a0a56695689 100644 --- a/app/workers/jira_connect/sync_merge_request_worker.rb +++ b/app/workers/jira_connect/sync_merge_request_worker.rb @@ -18,9 +18,7 @@ module JiraConnect return unless merge_request && project - branches = if Feature.enabled?(:jira_include_keys_from_associated_mr_for_branch, project) && merge_request.open? - [project.repository.find_branch(merge_request.source_branch)].compact.presence - end + branches = [project.repository.find_branch(merge_request.source_branch)].compact.presence if merge_request.open? JiraConnect::SyncService.new(project).execute(merge_requests: [merge_request], branches: branches, update_sequence_id: update_sequence_id) end |