Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
b2ea21fff5
commit
bb2e600515
|
|
@ -1 +1 @@
|
|||
5b34830d209669e3ffa45b917104474435e0bd90
|
||||
323958c43117fc44a76b4fac671a401bbec75833
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
ca089de1bada3b8c5470c7b0a5356b02e33a24e8
|
||||
e45a2da54ec5766ace4f9c0f5cb25f2b59becba8
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@ export default {
|
|||
|
||||
return {
|
||||
valueIsVisible: this.initialVisibility,
|
||||
mousetrap: null,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -107,11 +108,11 @@ export default {
|
|||
},
|
||||
},
|
||||
mounted() {
|
||||
this.$options.mousetrap = new Mousetrap(this.$refs.input.$el);
|
||||
this.$options.mousetrap.bind(MOUSETRAP_COPY_KEYBOARD_SHORTCUT, this.handleFormInputCopy);
|
||||
this.mousetrap = new Mousetrap(this.$refs.input.$el);
|
||||
this.mousetrap.bind(MOUSETRAP_COPY_KEYBOARD_SHORTCUT, this.handleFormInputCopy);
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$options.mousetrap?.unbind(MOUSETRAP_COPY_KEYBOARD_SHORTCUT);
|
||||
this.mousetrap?.unbind(MOUSETRAP_COPY_KEYBOARD_SHORTCUT);
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
|
@ -155,7 +156,6 @@ export default {
|
|||
this.$emit('input', newValue);
|
||||
},
|
||||
},
|
||||
mousetrap: null,
|
||||
};
|
||||
</script>
|
||||
<template>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ module Resolvers
|
|||
|
||||
def preloads
|
||||
{
|
||||
activity_events: { activity_events: [:user, { agent_token: :agent }] },
|
||||
activity_events: { activity_events: [{ user: [:user_detail, :user_preference] }, { agent_token: :agent }] },
|
||||
tokens: :active_agent_tokens
|
||||
}
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: summarize_notes_with_duo
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156650
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/477886
|
||||
milestone: '17.2'
|
||||
type: development
|
||||
group: group::project management
|
||||
default_enabled: true
|
||||
|
|
@ -19,3 +19,4 @@ desired_sharding_key:
|
|||
table: alert_management_alerts
|
||||
sharding_key: project_id
|
||||
belongs_to: alert
|
||||
desired_sharding_key_migration_job_name: BackfillAlertManagementAlertMetricImagesProjectId
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
migration_job_name: BackfillAlertManagementAlertMetricImagesProjectId
|
||||
description: Backfills sharding key `alert_management_alert_metric_images.project_id` from `alert_management_alerts`.
|
||||
feature_category: incident_management
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/166074
|
||||
milestone: '17.5'
|
||||
queued_migration_version: 20240915140444
|
||||
finalize_after: '2024-10-22'
|
||||
finalized_by: # version of the migration that finalized this BBM
|
||||
|
|
@ -10,4 +10,4 @@ description: When a project is first forked, a row is created in this table. Als
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3098
|
||||
milestone: '10.1'
|
||||
gitlab_schema: gitlab_main_cell
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490480
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Geo verification states for LFS objects
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63981
|
||||
milestone: '14.6'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490481
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: LFS files
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/1727
|
||||
milestone: '8.2'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490482
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ description: Holds information about a repository storing objects which are
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/fff7754186202cfcdeaa0962c28e5d43ddd705b7
|
||||
milestone: '11.6'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490484
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Stores merge access settings for protected branches
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5081
|
||||
milestone: '8.11'
|
||||
gitlab_schema: gitlab_main_cell
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490485
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Stores push access settings for protected branches
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5081
|
||||
milestone: '8.11'
|
||||
gitlab_schema: gitlab_main_cell
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490486
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@ milestone: '10.7'
|
|||
gitlab_schema: gitlab_main_cell
|
||||
allow_cross_foreign_keys:
|
||||
- gitlab_main_clusterwide
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490487
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: TODO
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/1b98b5ab97ce3e9997df542059cbf3c6ce0bf0e1
|
||||
milestone: '8.10'
|
||||
gitlab_schema: gitlab_main_cell
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490488
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Keeps required code owners sections
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43573
|
||||
milestone: '13.5'
|
||||
gitlab_schema: gitlab_main_cell
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490489
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Stores repository information used to version control snippets.
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23796
|
||||
milestone: '12.8'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490490
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Keeps track of snippet repositories being moved across storages.
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45990
|
||||
milestone: '13.6'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490491
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ description: Stores the repository size, commit count, and file count regarding
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35026
|
||||
milestone: '13.2'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490492
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ description: For storing mentioned users, groups, projects referenced in a snipp
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19009
|
||||
milestone: '12.6'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490493
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Stores data about X.509 certificate
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17773
|
||||
milestone: '12.8'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490494
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ description: Stores data about issuer of X.509 certificate
|
|||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17773
|
||||
milestone: '12.8'
|
||||
gitlab_schema: gitlab_main
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/462136
|
||||
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/490496
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddProjectIdToAlertManagementAlertMetricImages < Gitlab::Database::Migration[2.2]
|
||||
milestone '17.5'
|
||||
|
||||
def change
|
||||
add_column :alert_management_alert_metric_images, :project_id, :bigint
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class IndexAlertManagementAlertMetricImagesOnProjectId < Gitlab::Database::Migration[2.2]
|
||||
milestone '17.5'
|
||||
disable_ddl_transaction!
|
||||
|
||||
INDEX_NAME = 'index_alert_management_alert_metric_images_on_project_id'
|
||||
|
||||
def up
|
||||
add_concurrent_index :alert_management_alert_metric_images, :project_id, name: INDEX_NAME
|
||||
end
|
||||
|
||||
def down
|
||||
remove_concurrent_index_by_name :alert_management_alert_metric_images, INDEX_NAME
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddAlertManagementAlertMetricImagesProjectIdFk < Gitlab::Database::Migration[2.2]
|
||||
milestone '17.5'
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
add_concurrent_foreign_key :alert_management_alert_metric_images, :projects, column: :project_id,
|
||||
on_delete: :cascade
|
||||
end
|
||||
|
||||
def down
|
||||
with_lock_retries do
|
||||
remove_foreign_key :alert_management_alert_metric_images, column: :project_id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddAlertManagementAlertMetricImagesProjectIdTrigger < Gitlab::Database::Migration[2.2]
|
||||
milestone '17.5'
|
||||
|
||||
def up
|
||||
install_sharding_key_assignment_trigger(
|
||||
table: :alert_management_alert_metric_images,
|
||||
sharding_key: :project_id,
|
||||
parent_table: :alert_management_alerts,
|
||||
parent_sharding_key: :project_id,
|
||||
foreign_key: :alert_id
|
||||
)
|
||||
end
|
||||
|
||||
def down
|
||||
remove_sharding_key_assignment_trigger(
|
||||
table: :alert_management_alert_metric_images,
|
||||
sharding_key: :project_id,
|
||||
parent_table: :alert_management_alerts,
|
||||
parent_sharding_key: :project_id,
|
||||
foreign_key: :alert_id
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class QueueBackfillAlertManagementAlertMetricImagesProjectId < Gitlab::Database::Migration[2.2]
|
||||
milestone '17.5'
|
||||
restrict_gitlab_migration gitlab_schema: :gitlab_main_cell
|
||||
|
||||
MIGRATION = "BackfillAlertManagementAlertMetricImagesProjectId"
|
||||
DELAY_INTERVAL = 2.minutes
|
||||
BATCH_SIZE = 1000
|
||||
SUB_BATCH_SIZE = 100
|
||||
|
||||
def up
|
||||
queue_batched_background_migration(
|
||||
MIGRATION,
|
||||
:alert_management_alert_metric_images,
|
||||
:id,
|
||||
:project_id,
|
||||
:alert_management_alerts,
|
||||
:project_id,
|
||||
:alert_id,
|
||||
job_interval: DELAY_INTERVAL,
|
||||
batch_size: BATCH_SIZE,
|
||||
sub_batch_size: SUB_BATCH_SIZE
|
||||
)
|
||||
end
|
||||
|
||||
def down
|
||||
delete_batched_background_migration(
|
||||
MIGRATION,
|
||||
:alert_management_alert_metric_images,
|
||||
:id,
|
||||
[
|
||||
:project_id,
|
||||
:alert_management_alerts,
|
||||
:project_id,
|
||||
:alert_id
|
||||
]
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1 @@
|
|||
f7e8f6a537719bd2f53501406daed6729317c2374d36a892381fc0856131c7f1
|
||||
|
|
@ -0,0 +1 @@
|
|||
14c9ab00978c00a7081a37ff941fcffaebc67f54c917a60f5157c3f3c2e885a7
|
||||
|
|
@ -0,0 +1 @@
|
|||
3099ae5784b9647222c5ca82ad37a6aadf027ae84d0e0aae91ff1180b23e164f
|
||||
|
|
@ -0,0 +1 @@
|
|||
26e65032cadb1549baef1ecbde655d776034854f8ba3048033399eac48015ab0
|
||||
|
|
@ -0,0 +1 @@
|
|||
322c89fee81174ca629115be3584567666c6f58405bc4a8dd12917c170463ba1
|
||||
|
|
@ -2169,6 +2169,22 @@ RETURN NEW;
|
|||
END
|
||||
$$;
|
||||
|
||||
CREATE FUNCTION trigger_ec1934755627() RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
BEGIN
|
||||
IF NEW."project_id" IS NULL THEN
|
||||
SELECT "project_id"
|
||||
INTO NEW."project_id"
|
||||
FROM "alert_management_alerts"
|
||||
WHERE "alert_management_alerts"."id" = NEW."alert_id";
|
||||
END IF;
|
||||
|
||||
RETURN NEW;
|
||||
|
||||
END
|
||||
$$;
|
||||
|
||||
CREATE FUNCTION trigger_f6c61cdddf31() RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
AS $$
|
||||
|
|
@ -5210,6 +5226,7 @@ CREATE TABLE alert_management_alert_metric_images (
|
|||
file text NOT NULL,
|
||||
url text,
|
||||
url_text text,
|
||||
project_id bigint,
|
||||
CONSTRAINT check_2587666252 CHECK ((char_length(url_text) <= 128)),
|
||||
CONSTRAINT check_4d811d9007 CHECK ((char_length(url) <= 255)),
|
||||
CONSTRAINT check_70fafae519 CHECK ((char_length(file) <= 255))
|
||||
|
|
@ -27069,6 +27086,8 @@ CREATE INDEX index_alert_management_alert_assignees_on_project_id ON alert_manag
|
|||
|
||||
CREATE INDEX index_alert_management_alert_metric_images_on_alert_id ON alert_management_alert_metric_images USING btree (alert_id);
|
||||
|
||||
CREATE INDEX index_alert_management_alert_metric_images_on_project_id ON alert_management_alert_metric_images USING btree (project_id);
|
||||
|
||||
CREATE INDEX index_alert_management_alerts_on_domain ON alert_management_alerts USING btree (domain);
|
||||
|
||||
CREATE INDEX index_alert_management_alerts_on_environment_id ON alert_management_alerts USING btree (environment_id) WHERE (environment_id IS NOT NULL);
|
||||
|
|
@ -33105,6 +33124,8 @@ CREATE TRIGGER trigger_e49ab4d904a0 BEFORE INSERT OR UPDATE ON vulnerability_fin
|
|||
|
||||
CREATE TRIGGER trigger_ebab34f83f1d BEFORE INSERT OR UPDATE ON packages_debian_publications FOR EACH ROW EXECUTE FUNCTION trigger_ebab34f83f1d();
|
||||
|
||||
CREATE TRIGGER trigger_ec1934755627 BEFORE INSERT OR UPDATE ON alert_management_alert_metric_images FOR EACH ROW EXECUTE FUNCTION trigger_ec1934755627();
|
||||
|
||||
CREATE TRIGGER trigger_f6c61cdddf31 BEFORE INSERT OR UPDATE ON ml_model_metadata FOR EACH ROW EXECUTE FUNCTION trigger_f6c61cdddf31();
|
||||
|
||||
CREATE TRIGGER trigger_f6f59d8216b3 BEFORE INSERT OR UPDATE ON protected_environment_deploy_access_levels FOR EACH ROW EXECUTE FUNCTION trigger_f6f59d8216b3();
|
||||
|
|
@ -33908,6 +33929,9 @@ ALTER TABLE ONLY packages_debian_project_components
|
|||
ALTER TABLE ONLY sprints
|
||||
ADD CONSTRAINT fk_80aa8a1f95 FOREIGN KEY (group_id) REFERENCES namespaces(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY alert_management_alert_metric_images
|
||||
ADD CONSTRAINT fk_80b75a6094 FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY related_epic_links
|
||||
ADD CONSTRAINT fk_8257080565 FOREIGN KEY (group_id) REFERENCES namespaces(id) ON DELETE CASCADE;
|
||||
|
||||
|
|
|
|||
|
|
@ -183,11 +183,69 @@ Inspiration:
|
|||
- <https://tailwindcss.com/docs/utility-first>
|
||||
- <https://tailwindcss.com/docs/extracting-components>
|
||||
|
||||
### Leveraging Tailwind CSS in stylesheets
|
||||
### Leveraging Tailwind CSS in HTML and in stylesheets
|
||||
|
||||
When writing custom SCSS, you may want to inherit style definitions from the design system without
|
||||
needing to figure out the relevant properties or values. To simplify this process, you can use
|
||||
Tailwind CSS's [`@apply` directive](https://tailwindcss.com/docs/reusing-styles#extracting-classes-with-apply)
|
||||
When writing component classes, it's important to effectively integrate Tailwind CSS's utility classes to
|
||||
maintain consistency with the design system and keeping the CSS bundles small.
|
||||
|
||||
**Utility CSS Classes in HTML vs. in stylesheets:**
|
||||
|
||||
By using the utility classes directly in the HTML, we can keep the CSS file size smaller and adhere
|
||||
to the utility-first philosophy. By avoiding to combine utility classes with custom styles in one components class
|
||||
unless absolutely necessary, we can prevent confusion and potential conflicts.
|
||||
|
||||
- **Reasons for the Preference:**
|
||||
- **Smaller CSS File Size:** Utilizing utility classes directly can lead to more compact CSS files and
|
||||
promote a more consistent design system.
|
||||
- **Clarity and Maintainability:** When utility classes are used in HTML, it's clearer how styles are
|
||||
applied, reducing the risk of conflicts and regressions.
|
||||
|
||||
- **Potential Issues with Combining Styles:**
|
||||
- **Conflicts:** If utility classes and custom styles are combined in a single class, conflicts can arise,
|
||||
especially when the styles have interdependencies.
|
||||
- **Regressions:** It becomes less obvious how styles should resolve, leading to possible regressions
|
||||
or unexpected behavior.
|
||||
|
||||
By following these guidelines, we can create clean, maintainable stylesheets that leverage Tailwind CSS effectively.
|
||||
|
||||
#### 1. Use utility classes directly in HTML (preferred approach)
|
||||
|
||||
For better maintainability and to adhere to the utility-first principle, add utility classes directly
|
||||
to the HTML element. A component class should primarily contain only the non-utility CSS styles.
|
||||
In the following example, you add the utility classes `gl-fixed` and `gl-inset-x-0`, instead of adding
|
||||
`position: fixed; right: 0; left: 0;` to the SCSS file:
|
||||
|
||||
```html
|
||||
<!-- Bad -->
|
||||
<div class="my-class"></div>
|
||||
|
||||
<style>
|
||||
.my-class {
|
||||
top: $header-height;
|
||||
z-index: 999;
|
||||
position: fixed;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Good -->
|
||||
<div class="my-class gl-fixed gl-inset-x-0"></div>
|
||||
|
||||
<style>
|
||||
.my-class {
|
||||
top: $header-height;
|
||||
z-index: 999;
|
||||
}
|
||||
</style>
|
||||
```
|
||||
|
||||
#### 2. Apply utility classes in component classes (when necessary)
|
||||
|
||||
Sometime it might not feasible to use utility classes directly in HTML and you need to include them in our
|
||||
custom SCSS files. Then, you might want to inherit style definitions from the design system without needing to figure
|
||||
out the relevant properties or values. To simplify this process, you can use Tailwind CSS's
|
||||
[`@apply` directive](https://tailwindcss.com/docs/reusing-styles#extracting-classes-with-apply)
|
||||
to include utilities' style definitions in your custom styles.
|
||||
|
||||
Using `@apply` is _encouraged_ for applying CSS properties that depend on the design system (e.g. `margin`, `padding`).
|
||||
|
|
|
|||
|
|
@ -4,14 +4,15 @@ group: unassigned
|
|||
info: Any user with at least the Maintainer role can merge updates to this content. For details, see https://docs.gitlab.com/ee/development/development_processes.html#development-guidelines-review.
|
||||
---
|
||||
|
||||
# Sidekiq limited capacity worker
|
||||
|
||||
NOTE:
|
||||
The following documentation for limited capacity worker relates to a specific
|
||||
type of worker that usually does not take arguments but instead gets work from
|
||||
a custom queue (e.g. a PostgresSQL backlog of work). It cannot be used for
|
||||
throttling normal Sidekiq workers. To restrict the concurrency of a normal
|
||||
Sidekiq worker you can use a [concurrency limit](worker_attributes.md#concurrency-limit).
|
||||
|
||||
# Sidekiq limited capacity worker
|
||||
|
||||
It is possible to limit the number of concurrent running jobs for a worker class
|
||||
by using the `LimitedCapacity::Worker` concern.
|
||||
|
||||
|
|
|
|||
|
|
@ -325,11 +325,6 @@ DETAILS:
|
|||
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/454550) to GitLab Duo and promoted to [beta](../../policy/experiment-beta-support.md#beta) in GitLab 17.3 [with a flag](../../administration/feature_flags.md) named `summarize_notes_with_duo`. Disabled by default.
|
||||
> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162122) in GitLab 17.4.
|
||||
|
||||
FLAG:
|
||||
The availability of this feature is controlled by a feature flag.
|
||||
For more information, see the history.
|
||||
This feature is available for testing, but not ready for production use.
|
||||
|
||||
Generate a summary of discussions on an issue.
|
||||
|
||||
Prerequisites:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Gitlab
|
||||
module BackgroundMigration
|
||||
class BackfillAlertManagementAlertMetricImagesProjectId < BackfillDesiredShardingKeyJob
|
||||
operation_name :backfill_alert_management_alert_metric_images_project_id
|
||||
feature_category :incident_management
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -55566,9 +55566,6 @@ msgstr ""
|
|||
msgid "This epic does not exist or you don't have sufficient permission."
|
||||
msgstr ""
|
||||
|
||||
msgid "This feature is not enabled yet."
|
||||
msgstr ""
|
||||
|
||||
msgid "This feature requires local storage to be enabled"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { GlAlert } from '@gitlab/ui';
|
||||
import { nextTick } from 'vue';
|
||||
import { setHTMLFixture, resetHTMLFixture } from 'helpers/fixtures';
|
||||
import { mountExtended } from 'helpers/vue_test_utils_helper';
|
||||
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
|
||||
import NewAccessTokenApp from '~/access_tokens/components/new_access_token_app.vue';
|
||||
import { EVENT_ERROR, EVENT_SUCCESS, FORM_SELECTOR } from '~/access_tokens/components/constants';
|
||||
import { createAlert, VARIANT_INFO } from '~/alert';
|
||||
|
|
@ -17,7 +17,7 @@ describe('~/access_tokens/components/new_access_token_app', () => {
|
|||
const accessTokenType = 'personal access token';
|
||||
|
||||
const createComponent = (provide = { accessTokenType }) => {
|
||||
wrapper = mountExtended(NewAccessTokenApp, {
|
||||
wrapper = shallowMountExtended(NewAccessTokenApp, {
|
||||
provide,
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { mountExtended } from 'helpers/vue_test_utils_helper';
|
||||
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
|
||||
|
||||
import Token from '~/access_tokens/components/token.vue';
|
||||
import InputCopyToggleVisibility from '~/vue_shared/components/form/input_copy_toggle_visibility.vue';
|
||||
|
|
@ -20,7 +20,7 @@ describe('Token', () => {
|
|||
};
|
||||
|
||||
const createComponent = () => {
|
||||
wrapper = mountExtended(Token, { propsData: defaultPropsData, slots: defaultSlots });
|
||||
wrapper = shallowMountExtended(Token, { propsData: defaultPropsData, slots: defaultSlots });
|
||||
};
|
||||
|
||||
it('renders title slot', () => {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ describe('InputCopyToggleVisibility', () => {
|
|||
return event;
|
||||
};
|
||||
const triggerCopyShortcut = () => {
|
||||
wrapper.vm.$options.mousetrap.trigger(MOUSETRAP_COPY_KEYBOARD_SHORTCUT);
|
||||
wrapper.vm.mousetrap.trigger(MOUSETRAP_COPY_KEYBOARD_SHORTCUT);
|
||||
};
|
||||
|
||||
function expectInputToBeMasked() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe Gitlab::BackgroundMigration::BackfillAlertManagementAlertMetricImagesProjectId,
|
||||
feature_category: :incident_management,
|
||||
schema: 20240915140440 do
|
||||
include_examples 'desired sharding key backfill job' do
|
||||
let(:batch_table) { :alert_management_alert_metric_images }
|
||||
let(:backfill_column) { :project_id }
|
||||
let(:backfill_via_table) { :alert_management_alerts }
|
||||
let(:backfill_via_column) { :project_id }
|
||||
let(:backfill_via_foreign_key) { :alert_id }
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
require_migration!
|
||||
|
||||
RSpec.describe QueueBackfillAlertManagementAlertMetricImagesProjectId, feature_category: :incident_management do
|
||||
let!(:batched_migration) { described_class::MIGRATION }
|
||||
|
||||
it 'schedules a new batched migration' do
|
||||
reversible_migration do |migration|
|
||||
migration.before -> {
|
||||
expect(batched_migration).not_to have_scheduled_batched_migration
|
||||
}
|
||||
|
||||
migration.after -> {
|
||||
expect(batched_migration).to have_scheduled_batched_migration(
|
||||
table_name: :alert_management_alert_metric_images,
|
||||
column_name: :id,
|
||||
interval: described_class::DELAY_INTERVAL,
|
||||
batch_size: described_class::BATCH_SIZE,
|
||||
sub_batch_size: described_class::SUB_BATCH_SIZE,
|
||||
gitlab_schema: :gitlab_main_cell,
|
||||
job_arguments: [
|
||||
:project_id,
|
||||
:alert_management_alerts,
|
||||
:project_id,
|
||||
:alert_id
|
||||
]
|
||||
)
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -128,7 +128,7 @@ RSpec.describe 'Project.cluster_agents', feature_category: :deployment_managemen
|
|||
})
|
||||
end
|
||||
|
||||
it 'preloads associations to prevent N+1 queries', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/350868' do
|
||||
it 'preloads associations to prevent N+1 queries' do
|
||||
user = create(:user)
|
||||
token = create(:cluster_agent_token, agent: agents.second)
|
||||
create(:agent_activity_event, agent: agents.second, agent_token: token, user: user)
|
||||
|
|
|
|||
Loading…
Reference in New Issue