diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-18 12:08:23 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-18 12:08:23 +0300 |
commit | 627bd5db4e091d0be312c880cbb9139b7c86818b (patch) | |
tree | 75b87c745ae6c7d9230460ad35faf809d7e72b71 | |
parent | 0baa744d45735fa9ec826a11e2ad22c113693fff (diff) |
Add latest changes from gitlab-org/gitlab@master
25 files changed, 131 insertions, 48 deletions
diff --git a/app/assets/javascripts/ci/reports/components/report_section.vue b/app/assets/javascripts/ci/reports/components/report_section.vue index 4a6a5e6e221..6f2f4c65ff4 100644 --- a/app/assets/javascripts/ci/reports/components/report_section.vue +++ b/app/assets/javascripts/ci/reports/components/report_section.vue @@ -183,7 +183,7 @@ export default { </script> <template> <section class="media-section"> - <div class="media"> + <div class="gl-pl-5 gl-pr-4 gl-py-4 gl-display-flex"> <status-icon :status="statusIconName" :size="24" class="align-self-center" /> <div class="media-body gl-display-flex gl-align-items-flex-start gl-flex-direction-row!"> <div class="js-code-text code-text gl-align-self-center gl-flex-grow-1"> diff --git a/app/assets/javascripts/repository/components/blob_content_viewer.vue b/app/assets/javascripts/repository/components/blob_content_viewer.vue index 4ec57676b79..8cca70e07a2 100644 --- a/app/assets/javascripts/repository/components/blob_content_viewer.vue +++ b/app/assets/javascripts/repository/components/blob_content_viewer.vue @@ -205,7 +205,7 @@ export default { }, isBlameEnabled() { // Blame information within the blob viewer is not yet supported in our fallback (HAML) viewers - return this.glFeatures.blobBlameInfo && !this.useFallback; + return !this.useFallback; }, }, watch: { diff --git a/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals.vue b/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals.vue index 6a1f5f0bb44..5a304d08348 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals.vue @@ -281,6 +281,7 @@ export default { <gl-button v-if="action" :variant="action.variant" + size="small" :category="action.category" :loading="isApproving" class="gl-mr-3" @@ -296,6 +297,7 @@ export default { <gl-button v-if="action" :variant="action.variant" + size="small" :category="action.category" :loading="isApproving" class="gl-mr-3" diff --git a/app/assets/stylesheets/page_bundles/merge_requests.scss b/app/assets/stylesheets/page_bundles/merge_requests.scss index 5c6c635ded8..b8b31dfcea5 100644 --- a/app/assets/stylesheets/page_bundles/merge_requests.scss +++ b/app/assets/stylesheets/page_bundles/merge_requests.scss @@ -585,10 +585,6 @@ $tabs-holder-z-index: 250; .mr-report { padding: 0; - - > .media { - padding: $gl-padding; - } } form { diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index 7851e2ac80b..558aac7b1ef 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -49,7 +49,6 @@ class Projects::BlobController < Projects::ApplicationController urgency :low, [:create, :show, :edit, :update, :diff] before_action do - push_frontend_feature_flag(:blob_blame_info, @project) push_frontend_feature_flag(:highlight_js_worker, @project) push_frontend_feature_flag(:explain_code_chat, current_user) push_frontend_feature_flag(:encoding_logs_tree) diff --git a/app/controllers/projects/tree_controller.rb b/app/controllers/projects/tree_controller.rb index 1bbf272e8f9..e98a5fc07d3 100644 --- a/app/controllers/projects/tree_controller.rb +++ b/app/controllers/projects/tree_controller.rb @@ -19,7 +19,6 @@ class Projects::TreeController < Projects::ApplicationController before_action :authorize_edit_tree!, only: [:create_dir] before_action do - push_frontend_feature_flag(:blob_blame_info, @project) push_frontend_feature_flag(:highlight_js_worker, @project) push_frontend_feature_flag(:explain_code_chat, current_user) push_frontend_feature_flag(:encoding_logs_tree) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index d4b77c588dc..29b0cb4c018 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -38,7 +38,6 @@ class ProjectsController < Projects::ApplicationController before_action :check_export_rate_limit!, only: [:export, :download_export, :generate_new_export] before_action do - push_frontend_feature_flag(:blob_blame_info, @project) push_frontend_feature_flag(:highlight_js_worker, @project) push_frontend_feature_flag(:remove_monitor_metrics, @project) push_frontend_feature_flag(:explain_code_chat, current_user) diff --git a/app/services/users/email_verification/validate_token_service.rb b/app/services/users/email_verification/validate_token_service.rb index 30413de805c..0cfd4876abf 100644 --- a/app/services/users/email_verification/validate_token_service.rb +++ b/app/services/users/email_verification/validate_token_service.rb @@ -5,7 +5,7 @@ module Users class ValidateTokenService < EmailVerification::BaseService include ActionView::Helpers::DateHelper - TOKEN_VALID_FOR_MINUTES = 60 + TOKEN_VALID_FOR_MINUTES = 240 def initialize(attr:, user:, token:) super(attr: attr, user: user) diff --git a/config/feature_flags/development/blob_blame_info.yml b/config/feature_flags/development/blob_blame_info.yml deleted file mode 100644 index 0066fbafc52..00000000000 --- a/config/feature_flags/development/blob_blame_info.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: blob_blame_info -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/133798 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/425272 -milestone: '16.5' -type: development -group: group::source code -default_enabled: true diff --git a/db/migrate/20240109031624_add_unique_index_to_system_note_metadata_on_id_convert_to_bigint.rb b/db/migrate/20240109031624_add_unique_index_to_system_note_metadata_on_id_convert_to_bigint.rb index d48832705af..f03e569b53b 100644 --- a/db/migrate/20240109031624_add_unique_index_to_system_note_metadata_on_id_convert_to_bigint.rb +++ b/db/migrate/20240109031624_add_unique_index_to_system_note_metadata_on_id_convert_to_bigint.rb @@ -5,14 +5,15 @@ class AddUniqueIndexToSystemNoteMetadataOnIdConvertToBigint < Gitlab::Database:: milestone '16.9' - TABLE_NAME = :system_note_metadata - INDEX_NAME = 'index_system_note_metadata_pkey_on_id_convert_to_bigint' - def up - add_concurrent_index TABLE_NAME, :id_convert_to_bigint, unique: true, name: INDEX_NAME + # no-op + # The index has been created asynchronously for GitLab.com + # The index is going to be used to back a primary key and a foreign key. + # Dropping the index would require dropping any foreign key associated with the index + # thus the index and the foreign key must be added in the same migration. end def down - remove_concurrent_index TABLE_NAME, :id_convert_to_bigint, unique: true, name: INDEX_NAME + # no-op end end diff --git a/db/migrate/20240117055908_drop_unique_index_to_system_note_metadata_on_id_convert_to_bigint.rb b/db/migrate/20240117055908_drop_unique_index_to_system_note_metadata_on_id_convert_to_bigint.rb new file mode 100644 index 00000000000..cdeafa4b713 --- /dev/null +++ b/db/migrate/20240117055908_drop_unique_index_to_system_note_metadata_on_id_convert_to_bigint.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +class DropUniqueIndexToSystemNoteMetadataOnIdConvertToBigint < Gitlab::Database::Migration[2.2] + disable_ddl_transaction! + + milestone '16.9' + + TABLE_NAME = :system_note_metadata + INDEX_NAME = 'index_system_note_metadata_pkey_on_id_convert_to_bigint' + + def up + return if Gitlab.com? + + remove_concurrent_index_by_name TABLE_NAME, INDEX_NAME + end + + def down + return if Gitlab.com? + + add_concurrent_index TABLE_NAME, :id_convert_to_bigint, unique: true, name: INDEX_NAME + end +end diff --git a/db/post_migrate/20240117070931_add_fk_to_resource_link_events_system_note_metadata_id_convert_to_bigint_for_com.rb b/db/post_migrate/20240117070931_add_fk_to_resource_link_events_system_note_metadata_id_convert_to_bigint_for_com.rb new file mode 100644 index 00000000000..3ad582090cd --- /dev/null +++ b/db/post_migrate/20240117070931_add_fk_to_resource_link_events_system_note_metadata_id_convert_to_bigint_for_com.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +class AddFkToResourceLinkEventsSystemNoteMetadataIdConvertToBigintForCom < Gitlab::Database::Migration[2.2] + include Gitlab::Database::MigrationHelpers::ConvertToBigint # for the method `com_or_dev_or_test_but_not_jh?` + + disable_ddl_transaction! + + milestone '16.9' + + TABLE_NAME = :resource_link_events + COLUMN = :system_note_metadata_id + + TARGET_TABLE_NAME = :system_note_metadata + TARGET_COLUMN = :id_convert_to_bigint + + INDEX_NAME = 'index_system_note_metadata_pkey_on_id_convert_to_bigint' + FK_NAME = 'fk_system_note_metadata_id_convert_to_bigint' + + def up + return unless com_or_dev_or_test_but_not_jh? + + add_concurrent_index(TARGET_TABLE_NAME, :id_convert_to_bigint, unique: true, name: INDEX_NAME) + + add_concurrent_foreign_key( + TABLE_NAME, + TARGET_TABLE_NAME, + name: FK_NAME, + column: COLUMN, + target_column: TARGET_COLUMN, + on_delete: :cascade, + validate: false + ) + end + + def down + return unless com_or_dev_or_test_but_not_jh? + + with_lock_retries do + remove_foreign_key_if_exists( + TABLE_NAME, + TARGET_TABLE_NAME, + name: FK_NAME, + reverse_lock_order: true + ) + end + + remove_concurrent_index_by_name(TARGET_TABLE_NAME, INDEX_NAME) + end +end diff --git a/db/post_migrate/20240117070946_validate_fk_on_resource_link_events_system_note_metadata_id_for_com.rb b/db/post_migrate/20240117070946_validate_fk_on_resource_link_events_system_note_metadata_id_for_com.rb new file mode 100644 index 00000000000..890b0c95d2a --- /dev/null +++ b/db/post_migrate/20240117070946_validate_fk_on_resource_link_events_system_note_metadata_id_for_com.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +class ValidateFkOnResourceLinkEventsSystemNoteMetadataIdForCom < Gitlab::Database::Migration[2.2] + include Gitlab::Database::MigrationHelpers::ConvertToBigint # for the method `com_or_dev_or_test_but_not_jh?` + + milestone '16.9' + + TABLE_NAME = :resource_link_events + COLUMN = :system_note_metadata_id + FK_NAME = 'fk_system_note_metadata_id_convert_to_bigint' + + def up + return unless com_or_dev_or_test_but_not_jh? + + prepare_async_foreign_key_validation TABLE_NAME, COLUMN, name: FK_NAME + end + + def down + return unless com_or_dev_or_test_but_not_jh? + + unprepare_async_foreign_key_validation TABLE_NAME, COLUMN, name: FK_NAME + end +end diff --git a/db/schema_migrations/20240117055908 b/db/schema_migrations/20240117055908 new file mode 100644 index 00000000000..4d403c742a7 --- /dev/null +++ b/db/schema_migrations/20240117055908 @@ -0,0 +1 @@ +5b627596a1f7113560661563b1064fd57f6cfcf7dc59dd659156f0498a9b0b48
\ No newline at end of file diff --git a/db/schema_migrations/20240117070931 b/db/schema_migrations/20240117070931 new file mode 100644 index 00000000000..6018e8468fe --- /dev/null +++ b/db/schema_migrations/20240117070931 @@ -0,0 +1 @@ +9d9a1ea947c9649bdd21a645136f89387c1035c6e8a6dea1866be65db40f77fa
\ No newline at end of file diff --git a/db/schema_migrations/20240117070946 b/db/schema_migrations/20240117070946 new file mode 100644 index 00000000000..88f898e5cb8 --- /dev/null +++ b/db/schema_migrations/20240117070946 @@ -0,0 +1 @@ +95181aec9fa75ae026e79e8c617dc0e7a30387580eda194022e9295944d811be
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index f17904b1c64..0abd72fb88c 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -41090,6 +41090,9 @@ ALTER TABLE ONLY integrations ALTER TABLE ONLY merge_requests ADD CONSTRAINT fk_source_project FOREIGN KEY (source_project_id) REFERENCES projects(id) ON DELETE SET NULL; +ALTER TABLE ONLY resource_link_events + ADD CONSTRAINT fk_system_note_metadata_id_convert_to_bigint FOREIGN KEY (system_note_metadata_id) REFERENCES system_note_metadata(id_convert_to_bigint) ON DELETE CASCADE NOT VALID; + ALTER TABLE ONLY timelogs ADD CONSTRAINT fk_timelogs_issues_issue_id FOREIGN KEY (issue_id) REFERENCES issues(id) ON DELETE CASCADE; diff --git a/doc/development/cicd/components.md b/doc/development/cicd/components.md index 56ab5a24bd1..916db35e8bd 100644 --- a/doc/development/cicd/components.md +++ b/doc/development/cicd/components.md @@ -18,7 +18,7 @@ Components that are for GitLab internal use only, for example specific to `gitla implemented under `gitlab-org` group. Component projects that are expected to be published in the [CI/CD catalog](../../ci/components/index.md#cicd-catalog) -should first be dogfooded it to ensure we stay on top of the project quality and have first-hand +should first be dogfooded to ensure we stay on top of the project quality and have first-hand experience with it. ## Define ownership diff --git a/doc/security/responding_to_security_incidents.md b/doc/security/responding_to_security_incidents.md index 6a7ff884449..10d8176fe1b 100644 --- a/doc/security/responding_to_security_incidents.md +++ b/doc/security/responding_to_security_incidents.md @@ -147,7 +147,7 @@ If you suspect that your GitLab instance has been compromised, you should: Review [system access audit events](../administration/audit_event_streaming/audit_event_types.md#system-access) to determine any changes related to system settings, user permissions and user login events. -### Misconfigured project or group settings **(ULTIMATE PREMIUM)** +### Misconfigured project or group settings **(PREMIUM ALL)** Security incidents can occur as a result of improperly configured project or group settings, potentially leading to unauthorized access to sensitive or proprietary data. These incidents may include but are not limited to: diff --git a/doc/user/project/repository/git_blame.md b/doc/user/project/repository/git_blame.md index f1fb118b8d5..7f333ec7b7f 100644 --- a/doc/user/project/repository/git_blame.md +++ b/doc/user/project/repository/git_blame.md @@ -36,15 +36,14 @@ changes to light gray. ### View blame directly in the file view <!-- -When feature flags `graphql_git_blame`, `blob_blame_info` and `highlight_js_worker` are removed, +When feature flags `graphql_git_blame` and `highlight_js_worker` are removed, delete this section and update the steps in "View blame for a file". --> -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/430950) in GitLab 16.7 [with flags](../../../administration/feature_flags.md) named `graphql_git_blame`, `blob_blame_info` and `highlight_js_worker`. Enabled by default. +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/430950) in GitLab 16.7 [with flags](../../../administration/feature_flags.md) named `graphql_git_blame` and `highlight_js_worker`. Enabled by default. FLAG: On self-managed GitLab, by default this feature is available. -To hide the feature, an administrator can [disable the feature flag](../../../administration/feature_flags.md) named `blob_blame_info`. On GitLab.com, this feature is available. When this feature is enabled, you can additionally view blame for a file directly from the file page. diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 1f95c040056..fd802b0c5d0 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -12104,6 +12104,9 @@ msgstr "" msgid "CodeSuggestions|A user can be assigned a Duo Pro seat only once each billable month." msgstr "" +msgid "CodeSuggestions|Boost productivity by using %{linkStart}Code Suggestions%{linkEnd} to write and understand code. Code Suggestions is part of the GitLab Duo Pro add-on, available to Premium and Ultimate users now." +msgstr "" + msgid "CodeSuggestions|Code Suggestions" msgstr "" @@ -12125,6 +12128,9 @@ msgstr "" msgid "CodeSuggestions|Introducing Duo Pro" msgstr "" +msgid "CodeSuggestions|Introducing the GitLab Duo Pro add-on" +msgstr "" + msgid "CodeSuggestions|Manage seat assignments for Duo Pro across your instance." msgstr "" diff --git a/spec/frontend/repository/components/blob_content_viewer_spec.js b/spec/frontend/repository/components/blob_content_viewer_spec.js index cd5bc08faf0..8414dfcf151 100644 --- a/spec/frontend/repository/components/blob_content_viewer_spec.js +++ b/spec/frontend/repository/components/blob_content_viewer_spec.js @@ -75,7 +75,6 @@ const createComponent = async (mockData = {}, mountFn = shallowMount, mockRoute createMergeRequestIn = userPermissionsMock.createMergeRequestIn, isBinary, inject = {}, - blobBlameInfo = true, } = mockData; const blobInfo = { @@ -139,7 +138,6 @@ const createComponent = async (mockData = {}, mountFn = shallowMount, mockRoute ...inject, glFeatures: { highlightJsWorker: false, - blobBlameInfo, }, }, }), @@ -219,14 +217,6 @@ describe('Blob content viewer component', () => { expect(findSourceViewerNew().props('showBlame')).toBe(false); }); - describe('blobBlameInfo feature flag disabled', () => { - it('does not render a blame toggle', async () => { - await createComponent({ blob: simpleViewerMock, blobBlameInfo: false }); - - expect(findBlobHeader().props('showBlameToggle')).toEqual(false); - }); - }); - describe('when viewing rich content', () => { it('always shows the blame when clicking on the blame button', async () => { loadViewer.mockReturnValueOnce(SourceViewerNew); diff --git a/spec/migrations/20240116072014_change_i_code_review_create_mr_keys_from_hll_to_integer_spec.rb b/spec/migrations/20240116072014_change_i_code_review_create_mr_keys_from_hll_to_integer_spec.rb index dd355ec4f06..165b0522bd0 100644 --- a/spec/migrations/20240116072014_change_i_code_review_create_mr_keys_from_hll_to_integer_spec.rb +++ b/spec/migrations/20240116072014_change_i_code_review_create_mr_keys_from_hll_to_integer_spec.rb @@ -14,13 +14,13 @@ RSpec.describe ChangeICodeReviewCreateMrKeysFromHllToInteger, :migration, :clean describe "#up" do before do - set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-16', value: 1) - set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-16', value: 2) - set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-47', value: 3) - set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-48', value: 1) - set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-49', value: 2) - set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-49', value: 4) - set_redis_hll('{hll_counters}_some_other_event-2023-49', value: 7) + set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-16', 1) + set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-16', 2) + set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-47', 3) + set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-48', 1) + set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-49', 2) + set_redis_hll('{hll_counters}_i_code_review_create_mr-2023-49', 4) + set_redis_hll('{hll_counters}_some_other_event-2023-49', 7) end it 'migrates all RedisHLL keys for i_code_review_create_mr', :aggregate_failures do diff --git a/spec/requests/verifies_with_email_spec.rb b/spec/requests/verifies_with_email_spec.rb index c8a0c0975a3..922b97994e5 100644 --- a/spec/requests/verifies_with_email_spec.rb +++ b/spec/requests/verifies_with_email_spec.rb @@ -178,7 +178,7 @@ RSpec.describe 'VerifiesWithEmail', :clean_gitlab_redis_sessions, :clean_gitlab_ context 'when an expired verification_token param exists' do before do - user.update!(locked_at: 1.hour.ago) + user.update!(locked_at: 4.hours.ago) post(user_session_path(user: { verification_token: 'token' })) end @@ -222,7 +222,7 @@ RSpec.describe 'VerifiesWithEmail', :clean_gitlab_redis_sessions, :clean_gitlab_ context 'when email reset has already been offered' do before do - user.update!(email_reset_offered_at: 1.hour.ago, email: 'new@email') + user.update!(email_reset_offered_at: 4.hours.ago, email: 'new@email') end it 'does not change the email_reset_offered_at field' do diff --git a/spec/services/users/email_verification/validate_token_service_spec.rb b/spec/services/users/email_verification/validate_token_service_spec.rb index c8924bc20b7..f49a70ae391 100644 --- a/spec/services/users/email_verification/validate_token_service_spec.rb +++ b/spec/services/users/email_verification/validate_token_service_spec.rb @@ -43,7 +43,7 @@ RSpec.describe Users::EmailVerification::ValidateTokenService, :clean_gitlab_red end context 'when expired' do - let(:token_generated_at) { 2.hours.ago } + let(:token_generated_at) { 5.hours.ago } it 'returns a failure status' do expect(service.execute).to eq( |