@@ -156,7 +165,7 @@ export default {
v-else
v-safe-html="descriptionVersion"
data-testid="description-version-diff"
- class="wrapper gl-mt-3"
+ class="wrapper gl-mt-3 gl-whitespace-pre-wrap gl-pr-7"
>
diff --git a/app/assets/stylesheets/pages/issues.scss b/app/assets/stylesheets/pages/issues.scss
index dd4faee1eee..9d62ca959a2 100644
--- a/app/assets/stylesheets/pages/issues.scss
+++ b/app/assets/stylesheets/pages/issues.scss
@@ -237,7 +237,7 @@ ul.related-merge-requests > li gl-emoji {
right: var(--application-bar-right);
width: auto;
top: $calc-application-header-height;
- max-width: calc(100vw - #{$super-sidebar-width});
+ max-width: calc(100vw - var(--application-bar-left));
}
.limit-container-width {
diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss
index 103485ab2f0..b53c368c539 100644
--- a/app/assets/stylesheets/pages/notes.scss
+++ b/app/assets/stylesheets/pages/notes.scss
@@ -415,20 +415,8 @@ $system-note-icon-m-left: $avatar-m-left + $icon-size-diff / $avatar-m-ratio;
margin-left: 1rem;
}
- .description-version {
- position: relative;
-
- .btn.delete-description-history {
- position: absolute;
- top: 18px;
- right: 10px;
- }
-
- pre {
- max-height: $dropdown-max-height-lg;
- white-space: pre-wrap;
- padding-right: 30px;
- }
+ .description-version pre {
+ max-height: $dropdown-max-height-lg;
}
.system-note-commit-list-toggler {
diff --git a/app/graphql/types/alert_management/alert_type.rb b/app/graphql/types/alert_management/alert_type.rb
index 4ec38d374e4..c065c84c9dc 100644
--- a/app/graphql/types/alert_management/alert_type.rb
+++ b/app/graphql/types/alert_management/alert_type.rb
@@ -88,7 +88,7 @@ module Types
field :event_count,
GraphQL::Types::Int,
null: true,
- description: 'Number of events of this alert.',
+ description: 'Number of events of the alert.',
method: :events
field :details, # rubocop:disable Graphql/JSONType
diff --git a/app/graphql/types/award_emojis/award_emoji_type.rb b/app/graphql/types/award_emojis/award_emoji_type.rb
index d8d86ca0038..8e9fe145222 100644
--- a/app/graphql/types/award_emojis/award_emoji_type.rb
+++ b/app/graphql/types/award_emojis/award_emoji_type.rb
@@ -33,7 +33,7 @@ module Types
field :unicode_version,
GraphQL::Types::String,
null: false,
- description: 'Unicode version for this emoji.'
+ description: 'Unicode version for the emoji.'
field :user,
Types::UserType,
diff --git a/app/graphql/types/board_list_type.rb b/app/graphql/types/board_list_type.rb
index f43e9e71339..935245e9148 100644
--- a/app/graphql/types/board_list_type.rb
+++ b/app/graphql/types/board_list_type.rb
@@ -15,7 +15,7 @@ module Types
description: 'ID (global ID) of the list.'
field :collapsed, GraphQL::Types::Boolean, null: true,
- description: 'Indicates if the list is collapsed for this user.'
+ description: 'Indicates if the list is collapsed for the user.'
field :issues_count, GraphQL::Types::Int, null: true,
description: 'Count of issues in the list.'
field :label, Types::LabelType, null: true,
diff --git a/app/graphql/types/branch_protections/base_access_level_type.rb b/app/graphql/types/branch_protections/base_access_level_type.rb
index d769708ac4a..ec11641a75e 100644
--- a/app/graphql/types/branch_protections/base_access_level_type.rb
+++ b/app/graphql/types/branch_protections/base_access_level_type.rb
@@ -13,7 +13,7 @@ module Types
field :access_level_description,
type: GraphQL::Types::String,
null: false,
- description: 'Human readable representation for this access level.',
+ description: 'Human readable representation for the access level.',
method: 'humanize'
end
end
diff --git a/app/graphql/types/branch_rules/branch_protection_type.rb b/app/graphql/types/branch_rules/branch_protection_type.rb
index e61adf28d49..34920b5338f 100644
--- a/app/graphql/types/branch_rules/branch_protection_type.rb
+++ b/app/graphql/types/branch_rules/branch_protection_type.rb
@@ -11,12 +11,12 @@ module Types
field :merge_access_levels,
type: Types::BranchProtections::MergeAccessLevelType.connection_type,
null: true,
- description: 'Details about who can merge when this branch is the source branch.'
+ description: 'Details about who can merge when the branch is the source branch.'
field :push_access_levels,
type: Types::BranchProtections::PushAccessLevelType.connection_type,
null: true,
- description: 'Details about who can push when this branch is the source branch.'
+ description: 'Details about who can push when the branch is the source branch.'
field :allow_force_push,
type: GraphQL::Types::Boolean,
diff --git a/app/graphql/types/ci/job_token_scope_type.rb b/app/graphql/types/ci/job_token_scope_type.rb
index bf59856dc1c..ddc823f8fe7 100644
--- a/app/graphql/types/ci/job_token_scope_type.rb
+++ b/app/graphql/types/ci/job_token_scope_type.rb
@@ -10,7 +10,7 @@ module Types
field :projects,
Types::ProjectType.connection_type,
null: false,
- description: 'Allow list of projects that can be accessed by CI Job tokens created by this project.',
+ description: 'Allow list of projects that can be accessed by CI Job tokens created by the project.',
method: :outbound_projects,
deprecated: {
reason: 'The `projects` attribute is being deprecated. Use `outbound_allowlist`',
diff --git a/app/graphql/types/ci/pipeline_type.rb b/app/graphql/types/ci/pipeline_type.rb
index 2cb46ec1bbe..434a2e85fbd 100644
--- a/app/graphql/types/ci/pipeline_type.rb
+++ b/app/graphql/types/ci/pipeline_type.rb
@@ -106,7 +106,7 @@ module Types
type: ::Types::Ci::JobType,
null: true,
authorize: :read_build,
- description: 'Specific job in this pipeline, either by name or ID.' do
+ description: 'Specific job in the pipeline, either by name or ID.' do
argument :id,
type: ::Types::GlobalIDType[::CommitStatus],
required: false,
@@ -129,7 +129,7 @@ module Types
description: 'Job where pipeline was triggered from.'
field :downstream, Types::Ci::PipelineType.connection_type, null: true,
- description: 'Pipelines this pipeline will trigger.',
+ description: 'Pipelines the pipeline will trigger.',
method: :triggered_pipelines_with_preloads
field :upstream, Types::Ci::PipelineType, null: true,
@@ -181,27 +181,27 @@ module Types
field :merge_request_event_type, Types::Ci::PipelineMergeRequestEventTypeEnum, null: true,
description: "Event type of the pipeline associated with a merge request."
- field :total_jobs, GraphQL::Types::Int, null: false, method: :total_size, description: "The total number of jobs in the pipeline"
+ field :total_jobs, GraphQL::Types::Int, null: false, method: :total_size, description: "Total number of jobs in the pipeline."
- field :failure_reason, GraphQL::Types::String, null: true, description: "The reason why the pipeline failed"
+ field :failure_reason, GraphQL::Types::String, null: true, description: "Reason why the pipeline failed."
- field :triggered_by_path, GraphQL::Types::String, null: true, description: "The path that triggered this pipeline"
+ field :triggered_by_path, GraphQL::Types::String, null: true, description: "Path that triggered the pipeline."
- field :source, GraphQL::Types::String, null: true, description: "The source of the pipeline"
+ field :source, GraphQL::Types::String, null: true, description: "Source of the pipeline."
- field :child, GraphQL::Types::Boolean, null: false, method: :child?, description: "If the pipeline is a child or not"
+ field :child, GraphQL::Types::Boolean, null: false, method: :child?, description: "If the pipeline is a child or not."
- field :latest, GraphQL::Types::Boolean, null: false, method: :latest?, calls_gitaly: true, description: "If the pipeline is the latest one or not"
+ field :latest, GraphQL::Types::Boolean, null: false, method: :latest?, calls_gitaly: true, description: "If the pipeline is the latest one or not."
- field :ref_text, GraphQL::Types::String, null: false, description: "The reference text from the presenter", calls_gitaly: true
+ field :ref_text, GraphQL::Types::String, null: false, description: "Reference text from the presenter.", calls_gitaly: true
- field :merge_request, Types::MergeRequestType, null: true, description: "The MR which the Pipeline is attached to"
+ field :merge_request, Types::MergeRequestType, null: true, description: "MR which the Pipeline is attached to."
field :stuck, GraphQL::Types::Boolean, method: :stuck?, null: false, description: "If the pipeline is stuck."
field :yaml_errors, GraphQL::Types::Boolean, method: :yaml_errors?, null: false, description: "If the pipeline has YAML errors."
- field :yaml_error_messages, GraphQL::Types::String, method: :yaml_errors, null: true, description: "The pipeline YAML errors."
+ field :yaml_error_messages, GraphQL::Types::String, method: :yaml_errors, null: true, description: "Pipeline YAML errors."
field :trigger, GraphQL::Types::Boolean, method: :trigger?, null: false, description: "If the pipeline was created by a Trigger request."
diff --git a/app/graphql/types/ci/runner_status_enum.rb b/app/graphql/types/ci/runner_status_enum.rb
index 3a3b7fc96fe..ea19abf0435 100644
--- a/app/graphql/types/ci/runner_status_enum.rb
+++ b/app/graphql/types/ci/runner_status_enum.rb
@@ -38,7 +38,7 @@ module Types
value: :stale
value 'NEVER_CONTACTED',
- description: 'Runner that has never contacted this instance.',
+ description: 'Runner that has never contacted the instance.',
value: :never_contacted
end
end
diff --git a/app/graphql/types/ci/runner_type.rb b/app/graphql/types/ci/runner_type.rb
index 6116a725cfc..4effd7e4b87 100644
--- a/app/graphql/types/ci/runner_type.rb
+++ b/app/graphql/types/ci/runner_type.rb
@@ -24,11 +24,11 @@ module Types
field :admin_url, GraphQL::Types::String, null: true,
description: 'Admin URL of the runner. Only available for administrators.'
field :contacted_at, Types::TimeType, null: true,
- description: 'Timestamp of last contact from this runner.'
+ description: 'Timestamp of last contact from the runner.'
field :created_at, Types::TimeType, null: true,
- description: 'Timestamp of creation of this runner.'
+ description: 'Timestamp of creation of the runner.'
field :created_by, Types::UserType, null: true,
- description: 'User that created this runner.',
+ description: 'User that created the runner.',
method: :creator
field :creation_method, Types::Ci::RunnerCreationMethodEnum, null: true,
method: :registration_type,
diff --git a/app/graphql/types/ci/runner_web_url_edge.rb b/app/graphql/types/ci/runner_web_url_edge.rb
index b63af1202d2..068305ef04a 100644
--- a/app/graphql/types/ci/runner_web_url_edge.rb
+++ b/app/graphql/types/ci/runner_web_url_edge.rb
@@ -5,10 +5,10 @@ module Types
# rubocop: disable Graphql/AuthorizeTypes
class RunnerWebUrlEdge < ::Types::BaseEdge
field :edit_url, GraphQL::Types::String, null: true,
- description: 'Web URL of the runner edit page. The value depends on where you put this field in the query. You can use it for projects or groups.',
+ description: 'Web URL of the runner edit page. The value depends on where you put the field in the query. You can use it for projects or groups.',
extras: [:parent]
field :web_url, GraphQL::Types::String, null: true,
- description: 'Web URL of the runner. The value depends on where you put this field in the query. You can use it for projects or groups.',
+ description: 'Web URL of the runner. The value depends on where you put the field in the query. You can use it for projects or groups.',
extras: [:parent]
def initialize(node, connection)
diff --git a/app/graphql/types/ci/status_action_type.rb b/app/graphql/types/ci/status_action_type.rb
index b4cac670c3f..9cd35df9890 100644
--- a/app/graphql/types/ci/status_action_type.rb
+++ b/app/graphql/types/ci/status_action_type.rb
@@ -6,7 +6,7 @@ module Types
graphql_name 'StatusAction'
field :button_title, GraphQL::Types::String, null: true,
- description: 'Title for the button, for example: Retry this job.'
+ description: 'Title for the button, for example: Retry the job.'
field :confirmation_message, GraphQL::Types::String, null: true,
description: 'Custom confirmation message for a manual job.',
alpha: { milestone: '17.0' }
diff --git a/app/graphql/types/clusters/agent_token_type.rb b/app/graphql/types/clusters/agent_token_type.rb
index 60d2eca2ec3..2c3484df328 100644
--- a/app/graphql/types/clusters/agent_token_type.rb
+++ b/app/graphql/types/clusters/agent_token_type.rb
@@ -11,7 +11,7 @@ module Types
field :cluster_agent,
Types::Clusters::AgentType,
- description: 'Cluster agent this token is associated with.',
+ description: 'Cluster agent the token is associated with.',
null: true
field :created_at,
diff --git a/app/graphql/types/clusters/agent_type.rb b/app/graphql/types/clusters/agent_type.rb
index 2caef74a752..5b51c899723 100644
--- a/app/graphql/types/clusters/agent_type.rb
+++ b/app/graphql/types/clusters/agent_type.rb
@@ -29,7 +29,7 @@ module Types
description: 'Name of the cluster agent.'
field :project, Types::ProjectType,
- description: 'Project this cluster agent is associated with.',
+ description: 'Project the cluster agent is associated with.',
null: true,
authorize: :read_project
diff --git a/app/graphql/types/container_expiration_policy_type.rb b/app/graphql/types/container_expiration_policy_type.rb
index 22020aff36b..551ed8cb42c 100644
--- a/app/graphql/types/container_expiration_policy_type.rb
+++ b/app/graphql/types/container_expiration_policy_type.rb
@@ -10,12 +10,12 @@ module Types
field :cadence, Types::ContainerExpirationPolicyCadenceEnum, null: false, description: 'This container expiration policy schedule.'
field :created_at, Types::TimeType, null: false, description: 'Timestamp of when the container expiration policy was created.'
- field :enabled, GraphQL::Types::Boolean, null: false, description: 'Indicates whether this container expiration policy is enabled.'
+ field :enabled, GraphQL::Types::Boolean, null: false, description: 'Indicates whether the container expiration policy is enabled.'
field :keep_n, Types::ContainerExpirationPolicyKeepEnum, null: true, description: 'Number of tags to retain.'
- field :name_regex, Types::UntrustedRegexp, null: true, description: 'Tags with names matching this regex pattern will expire.'
- field :name_regex_keep, Types::UntrustedRegexp, null: true, description: 'Tags with names matching this regex pattern will be preserved.'
- field :next_run_at, Types::TimeType, null: true, description: 'Next time that this container expiration policy will get executed.'
- field :older_than, Types::ContainerExpirationPolicyOlderThanEnum, null: true, description: 'Tags older that this will expire.'
+ field :name_regex, Types::UntrustedRegexp, null: true, description: 'Tags with names matching the regex pattern will expire.'
+ field :name_regex_keep, Types::UntrustedRegexp, null: true, description: 'Tags with names matching the regex pattern will be preserved.'
+ field :next_run_at, Types::TimeType, null: true, description: 'Next time that the container expiration policy will get executed.'
+ field :older_than, Types::ContainerExpirationPolicyOlderThanEnum, null: true, description: 'Tags older than the given age will expire.'
field :updated_at, Types::TimeType, null: false, description: 'Timestamp of when the container expiration policy was updated.'
end
end
diff --git a/app/graphql/types/container_repository_tag_type.rb b/app/graphql/types/container_repository_tag_type.rb
index 59114ef9f8f..03225312684 100644
--- a/app/graphql/types/container_repository_tag_type.rb
+++ b/app/graphql/types/container_repository_tag_type.rb
@@ -17,7 +17,7 @@ module Types
field :name, GraphQL::Types::String, null: false, description: 'Name of the tag.'
field :path, GraphQL::Types::String, null: false, description: 'Path of the tag.'
field :published_at, Types::TimeType, null: true, description: 'Timestamp when the tag was published.'
- field :referrers, [Types::ContainerRepositoryReferrerType], null: true, description: 'Referrers for this tag.'
+ field :referrers, [Types::ContainerRepositoryReferrerType], null: true, description: 'Referrers for the tag.'
field :revision, GraphQL::Types::String, null: true, description: 'Revision of the tag.'
field :short_revision, GraphQL::Types::String, null: true, description: 'Short revision of the tag.'
field :total_size, GraphQL::Types::BigInt, null: true, description: 'Size of the tag.'
diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml
index 14f0f414e3f..b0cf171b631 100644
--- a/app/workers/all_queues.yml
+++ b/app/workers/all_queues.yml
@@ -2435,7 +2435,7 @@
:tags: []
- :name: authorized_projects
:worker_name: AuthorizedProjectsWorker
- :feature_category: :system_access
+ :feature_category: :permissions
:has_external_dependencies: false
:urgency: :high
:resource_boundary: :unknown
diff --git a/app/workers/authorized_projects_worker.rb b/app/workers/authorized_projects_worker.rb
index dde46a4e61b..6ce69f6f6d9 100644
--- a/app/workers/authorized_projects_worker.rb
+++ b/app/workers/authorized_projects_worker.rb
@@ -7,7 +7,7 @@ class AuthorizedProjectsWorker
sidekiq_options retry: 3
- feature_category :system_access
+ feature_category :permissions
urgency :high
weight 2
idempotent!
diff --git a/db/docs/security_findings.yml b/db/docs/security_findings.yml
index a7bd77f5fa0..01c8f9c1745 100644
--- a/db/docs/security_findings.yml
+++ b/db/docs/security_findings.yml
@@ -7,7 +7,7 @@ feature_categories:
description: Stores a subset of the Finding data which is used to optimize the pipeline security tab
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40368
milestone: '13.4'
-gitlab_schema: gitlab_main_cell
+gitlab_schema: gitlab_sec
allow_cross_foreign_keys:
- gitlab_main_clusterwide
sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/454949
diff --git a/db/migrate/20240812040747_remote_deplicated_agent_config.rb b/db/migrate/20240812040747_remote_deplicated_agent_config.rb
new file mode 100644
index 00000000000..ae6cbfa42f6
--- /dev/null
+++ b/db/migrate/20240812040747_remote_deplicated_agent_config.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+class RemoteDeplicatedAgentConfig < Gitlab::Database::Migration[2.2]
+ milestone '17.4'
+ restrict_gitlab_migration gitlab_schema: :gitlab_main
+
+ class RemoteDevelopmentAgentConfig < MigrationRecord
+ self.table_name = 'remote_development_agent_configs'
+ end
+
+ def up
+ latest_ids = RemoteDevelopmentAgentConfig.select("DISTINCT ON (cluster_agent_id) id")
+ .order("cluster_agent_id, updated_at DESC")
+ .map(&:id)
+
+ ::Gitlab::AppLogger.warn(
+ message: 'removing duplicated agent configs from migration',
+ agent_config_latest_ids: latest_ids
+ )
+
+ RemoteDevelopmentAgentConfig.where.not(id: latest_ids).delete_all
+ end
+
+ def down
+ # removing duplicated agent config is irreversible
+ end
+end
diff --git a/db/migrate/20240812040748_add_unique_constraint_to_remote_development_agent_configs.rb b/db/migrate/20240812040748_add_unique_constraint_to_remote_development_agent_configs.rb
new file mode 100644
index 00000000000..e2fb820f8e4
--- /dev/null
+++ b/db/migrate/20240812040748_add_unique_constraint_to_remote_development_agent_configs.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddUniqueConstraintToRemoteDevelopmentAgentConfigs < Gitlab::Database::Migration[2.2]
+ disable_ddl_transaction!
+
+ milestone '17.4'
+ INDEX_NAME = 'index_remote_development_agent_configs_on_unique_agent_id'
+ EXISTING_INDEX_NAME = 'index_remote_development_agent_configs_on_cluster_agent_id'
+
+ def up
+ add_concurrent_index :remote_development_agent_configs, :cluster_agent_id, name: INDEX_NAME, unique: true
+ remove_concurrent_index_by_name :remote_development_agent_configs, EXISTING_INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :remote_development_agent_configs, :cluster_agent_id, name: EXISTING_INDEX_NAME
+ remove_concurrent_index_by_name :remote_development_agent_configs, INDEX_NAME
+ end
+end
diff --git a/db/schema_migrations/20240812040747 b/db/schema_migrations/20240812040747
new file mode 100644
index 00000000000..bcc02970d95
--- /dev/null
+++ b/db/schema_migrations/20240812040747
@@ -0,0 +1 @@
+339b71e75f375c29d3b9b09c306018f185463fb84aebc68a07df12d029589973
\ No newline at end of file
diff --git a/db/schema_migrations/20240812040748 b/db/schema_migrations/20240812040748
new file mode 100644
index 00000000000..b6f9ab06392
--- /dev/null
+++ b/db/schema_migrations/20240812040748
@@ -0,0 +1 @@
+252acaec01a8da80da3b769b6b83ed251bca1bae7a8fb4ccdf70a9a2d53d421a
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 8e2bb7844a8..80fc9e425f4 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -29592,10 +29592,10 @@ CREATE UNIQUE INDEX index_releases_on_project_tag_unique ON releases USING btree
CREATE INDEX index_releases_on_released_at ON releases USING btree (released_at);
-CREATE INDEX index_remote_development_agent_configs_on_cluster_agent_id ON remote_development_agent_configs USING btree (cluster_agent_id);
-
CREATE INDEX index_remote_development_agent_configs_on_project_id ON remote_development_agent_configs USING btree (project_id);
+CREATE UNIQUE INDEX index_remote_development_agent_configs_on_unique_agent_id ON remote_development_agent_configs USING btree (cluster_agent_id);
+
CREATE INDEX index_remote_mirrors_on_last_successful_update_at ON remote_mirrors USING btree (last_successful_update_at);
CREATE INDEX index_remote_mirrors_on_project_id ON remote_mirrors USING btree (project_id);
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index ef825bde250..bbba3754544 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -9308,11 +9308,11 @@ Input type: `UpdateContainerExpirationPolicyInput`
| ---- | ---- | ----------- |
|
`cadence` | [`ContainerExpirationPolicyCadenceEnum`](#containerexpirationpolicycadenceenum) | This container expiration policy schedule. |
|
`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
-|
`enabled` | [`Boolean`](#boolean) | Indicates whether this container expiration policy is enabled. |
+|
`enabled` | [`Boolean`](#boolean) | Indicates whether the container expiration policy is enabled. |
|
`keepN` | [`ContainerExpirationPolicyKeepEnum`](#containerexpirationpolicykeepenum) | Number of tags to retain. |
-|
`nameRegex` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching this regex pattern will expire. |
-|
`nameRegexKeep` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching this regex pattern will be preserved. |
-|
`olderThan` | [`ContainerExpirationPolicyOlderThanEnum`](#containerexpirationpolicyolderthanenum) | Tags older that this will expire. |
+|
`nameRegex` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching the regex pattern will expire. |
+|
`nameRegexKeep` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching the regex pattern will be preserved. |
+|
`olderThan` | [`ContainerExpirationPolicyOlderThanEnum`](#containerexpirationpolicyolderthanenum) | Tags older than the given age will expire. |
|
`projectPath` | [`ID!`](#id) | Project path where the container expiration policy is located. |
#### Fields
@@ -11664,9 +11664,9 @@ The edge type for [`CiRunner`](#cirunner).
| Name | Type | Description |
| ---- | ---- | ----------- |
|
`cursor` | [`String!`](#string) | A cursor for use in pagination. |
-|
`editUrl` | [`String`](#string) | Web URL of the runner edit page. The value depends on where you put this field in the query. You can use it for projects or groups. |
+|
`editUrl` | [`String`](#string) | Web URL of the runner edit page. The value depends on where you put the field in the query. You can use it for projects or groups. |
|
`node` | [`CiRunner`](#cirunner) | The item at the end of the edge. |
-|
`webUrl` | [`String`](#string) | Web URL of the runner. The value depends on where you put this field in the query. You can use it for projects or groups. |
+|
`webUrl` | [`String`](#string) | Web URL of the runner. The value depends on where you put the field in the query. You can use it for projects or groups. |
#### `CiRunnerManagerConnection`
@@ -17181,7 +17181,7 @@ Describes an alert from the project's Alert Management.
|
`discussions` | [`DiscussionConnection!`](#discussionconnection) | All discussions on this noteable. (see [Connections](#connections)) |
|
`endedAt` | [`Time`](#time) | Timestamp the alert ended. |
|
`environment` | [`Environment`](#environment) | Environment for the alert. |
-|
`eventCount` | [`Int`](#int) | Number of events of this alert. |
+|
`eventCount` | [`Int`](#int) | Number of events of the alert. |
|
`hosts` | [`[String!]`](#string) | List of hosts the alert came from. |
|
`id` | [`ID!`](#id) | ID of the alert. |
|
`iid` | [`String!`](#string) | Internal ID of the alert. |
@@ -17918,7 +17918,7 @@ An emoji awarded by a user.
|
`emoji` | [`String!`](#string) | Emoji as an icon. |
|
`name` | [`String!`](#string) | Emoji name. |
|
`unicode` | [`String!`](#string) | Emoji in Unicode. |
-|
`unicodeVersion` | [`String!`](#string) | Unicode version for this emoji. |
+|
`unicodeVersion` | [`String!`](#string) | Unicode version for the emoji. |
|
`user` | [`UserCore!`](#usercore) | User who awarded the emoji. |
### `BaseService`
@@ -18263,7 +18263,7 @@ Represents a list for an issue board.
| Name | Type | Description |
| ---- | ---- | ----------- |
|
`assignee` | [`UserCore`](#usercore) | Assignee in the list. |
-|
`collapsed` | [`Boolean`](#boolean) | Indicates if the list is collapsed for this user. |
+|
`collapsed` | [`Boolean`](#boolean) | Indicates if the list is collapsed for the user. |
|
`id` | [`ID!`](#id) | ID (global ID) of the list. |
|
`issuesCount` | [`Int`](#int) | Count of issues in the list. |
|
`iteration` | [`Iteration`](#iteration) | Iteration of the list. |
@@ -18314,8 +18314,8 @@ Branch protection details for a branch rule.
| ---- | ---- | ----------- |
|
`allowForcePush` | [`Boolean!`](#boolean) | Toggle force push to the branch for users with write access. |
|
`codeOwnerApprovalRequired` | [`Boolean!`](#boolean) | Enforce code owner approvals before allowing a merge. |
-|
`mergeAccessLevels` | [`MergeAccessLevelConnection`](#mergeaccesslevelconnection) | Details about who can merge when this branch is the source branch. (see [Connections](#connections)) |
-|
`pushAccessLevels` | [`PushAccessLevelConnection`](#pushaccesslevelconnection) | Details about who can push when this branch is the source branch. (see [Connections](#connections)) |
+|
`mergeAccessLevels` | [`MergeAccessLevelConnection`](#mergeaccesslevelconnection) | Details about who can merge when the branch is the source branch. (see [Connections](#connections)) |
+|
`pushAccessLevels` | [`PushAccessLevelConnection`](#pushaccesslevelconnection) | Details about who can push when the branch is the source branch. (see [Connections](#connections)) |
|
`unprotectAccessLevels` | [`UnprotectAccessLevelConnection`](#unprotectaccesslevelconnection) | Details about who can unprotect this branch. (see [Connections](#connections)) |
### `BranchRule`
@@ -18817,9 +18817,9 @@ CI/CD variables for a project.
|
`accessLevel` | [`CiRunnerAccessLevel!`](#cirunneraccesslevel) | Access level of the runner. |
|
`active` **{warning-solid}** | [`Boolean!`](#boolean) | **Deprecated** in GitLab 14.8. Use paused. |
|
`adminUrl` | [`String`](#string) | Admin URL of the runner. Only available for administrators. |
-|
`contactedAt` | [`Time`](#time) | Timestamp of last contact from this runner. |
-|
`createdAt` | [`Time`](#time) | Timestamp of creation of this runner. |
-|
`createdBy` | [`UserCore`](#usercore) | User that created this runner. |
+|
`contactedAt` | [`Time`](#time) | Timestamp of last contact from the runner. |
+|
`createdAt` | [`Time`](#time) | Timestamp of creation of the runner. |
+|
`createdBy` | [`UserCore`](#usercore) | User that created the runner. |
|
`creationMethod` **{warning-solid}** | [`CiRunnerCreationMethod`](#cirunnercreationmethod) | **Introduced** in GitLab 17.0. **Status**: Experiment. Type of runner registration. |
|
`description` | [`String`](#string) | Description of the runner. |
|
`editAdminUrl` | [`String`](#string) | Admin form URL of the runner. Only available for administrators. |
@@ -19090,7 +19090,7 @@ GitLab CI/CD configuration template.
|
`createdByUser` | [`UserCore`](#usercore) | User object, containing information about the person who created the agent. |
|
`id` | [`ID!`](#id) | ID of the cluster agent. |
|
`name` | [`String`](#string) | Name of the cluster agent. |
-|
`project` | [`Project`](#project) | Project this cluster agent is associated with. |
+|
`project` | [`Project`](#project) | Project the cluster agent is associated with. |
|
`remoteDevelopmentAgentConfig` | [`RemoteDevelopmentAgentConfig`](#remotedevelopmentagentconfig) | Remote development agent config for the cluster agent. |
|
`tokens` | [`ClusterAgentTokenConnection`](#clusteragenttokenconnection) | Tokens associated with the cluster agent. (see [Connections](#connections)) |
|
`updatedAt` | [`Time`](#time) | Timestamp the cluster agent was updated. |
@@ -19154,7 +19154,7 @@ four standard [pagination arguments](#pagination-arguments):
| Name | Type | Description |
| ---- | ---- | ----------- |
-|
`clusterAgent` | [`ClusterAgent`](#clusteragent) | Cluster agent this token is associated with. |
+|
`clusterAgent` | [`ClusterAgent`](#clusteragent) | Cluster agent the token is associated with. |
|
`createdAt` | [`Time`](#time) | Timestamp the token was created. |
|
`createdByUser` | [`UserCore`](#usercore) | User who created the token. |
|
`description` | [`String`](#string) | Description of the token. |
@@ -19572,12 +19572,12 @@ A tag expiration policy designed to keep only the images that matter most.
| ---- | ---- | ----------- |
|
`cadence` | [`ContainerExpirationPolicyCadenceEnum!`](#containerexpirationpolicycadenceenum) | This container expiration policy schedule. |
|
`createdAt` | [`Time!`](#time) | Timestamp of when the container expiration policy was created. |
-|
`enabled` | [`Boolean!`](#boolean) | Indicates whether this container expiration policy is enabled. |
+|
`enabled` | [`Boolean!`](#boolean) | Indicates whether the container expiration policy is enabled. |
|
`keepN` | [`ContainerExpirationPolicyKeepEnum`](#containerexpirationpolicykeepenum) | Number of tags to retain. |
-|
`nameRegex` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching this regex pattern will expire. |
-|
`nameRegexKeep` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching this regex pattern will be preserved. |
-|
`nextRunAt` | [`Time`](#time) | Next time that this container expiration policy will get executed. |
-|
`olderThan` | [`ContainerExpirationPolicyOlderThanEnum`](#containerexpirationpolicyolderthanenum) | Tags older that this will expire. |
+|
`nameRegex` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching the regex pattern will expire. |
+|
`nameRegexKeep` | [`UntrustedRegexp`](#untrustedregexp) | Tags with names matching the regex pattern will be preserved. |
+|
`nextRunAt` | [`Time`](#time) | Next time that the container expiration policy will get executed. |
+|
`olderThan` | [`ContainerExpirationPolicyOlderThanEnum`](#containerexpirationpolicyolderthanenum) | Tags older than the given age will expire. |
|
`updatedAt` | [`Time!`](#time) | Timestamp of when the container expiration policy was updated. |
### `ContainerRegistryProtectionRule`
@@ -19735,7 +19735,7 @@ A tag from a container repository.
|
`name` | [`String!`](#string) | Name of the tag. |
|
`path` | [`String!`](#string) | Path of the tag. |
|
`publishedAt` | [`Time`](#time) | Timestamp when the tag was published. |
-|
`referrers` | [`[ContainerRepositoryReferrer!]`](#containerrepositoryreferrer) | Referrers for this tag. |
+|
`referrers` | [`[ContainerRepositoryReferrer!]`](#containerrepositoryreferrer) | Referrers for the tag. |
|
`revision` | [`String`](#string) | Revision of the tag. |
|
`shortRevision` | [`String`](#string) | Short revision of the tag. |
|
`totalSize` | [`BigInt`](#bigint) | Size of the tag. |
@@ -25095,7 +25095,7 @@ Defines which user roles, users, or groups can merge into a protected branch.
| Name | Type | Description |
| ---- | ---- | ----------- |
|
`accessLevel` | [`Int!`](#int) | GitLab::Access level. |
-|
`accessLevelDescription` | [`String!`](#string) | Human readable representation for this access level. |
+|
`accessLevelDescription` | [`String!`](#string) | Human readable representation for the access level. |
|
`group` | [`AccessLevelGroup`](#accesslevelgroup) | Group associated with this access level. |
|
`user` | [`AccessLevelUser`](#accessleveluser) | User associated with this access level. |
@@ -28195,16 +28195,16 @@ Returns [`UserMergeRequestInteraction`](#usermergerequestinteraction).
|
`createdAt` | [`Time!`](#time) | Timestamp of the pipeline's creation. |
|
`dastProfile` | [`DastProfile`](#dastprofile) | DAST profile associated with the pipeline. |
|
`detailedStatus` | [`DetailedStatus!`](#detailedstatus) | Detailed status of the pipeline. |
-|
`downstream` | [`PipelineConnection`](#pipelineconnection) | Pipelines this pipeline will trigger. (see [Connections](#connections)) |
+|
`downstream` | [`PipelineConnection`](#pipelineconnection) | Pipelines the pipeline will trigger. (see [Connections](#connections)) |
|
`duration` | [`Int`](#int) | Duration of the pipeline in seconds. |
-|
`failureReason` | [`String`](#string) | The reason why the pipeline failed. |
+|
`failureReason` | [`String`](#string) | Reason why the pipeline failed. |
|
`finishedAt` | [`Time`](#time) | Timestamp of the pipeline's completion. |
|
`id` | [`ID!`](#id) | ID of the pipeline. |
|
`iid` | [`String!`](#string) | Internal ID of the pipeline. |
|
`jobArtifacts` | [`[CiJobArtifact!]`](#cijobartifact) | Job artifacts of the pipeline. |
|
`latest` | [`Boolean!`](#boolean) | If the pipeline is the latest one or not. |
|
`manualVariables` | [`PipelineManualVariableConnection`](#pipelinemanualvariableconnection) | CI/CD variables added to a manual pipeline. (see [Connections](#connections)) |
-|
`mergeRequest` | [`MergeRequest`](#mergerequest) | The MR which the Pipeline is attached to. |
+|
`mergeRequest` | [`MergeRequest`](#mergerequest) | MR which the Pipeline is attached to. |
|
`mergeRequestEventType` | [`PipelineMergeRequestEventType`](#pipelinemergerequesteventtype) | Event type of the pipeline associated with a merge request. |
|
`name` | [`String`](#string) | Name of the pipeline. |
|
`path` | [`String`](#string) | Relative path to the pipeline's page. |
@@ -28212,19 +28212,19 @@ Returns [`UserMergeRequestInteraction`](#usermergerequestinteraction).
|
`queuedDuration` | [`Duration`](#duration) | How long the pipeline was queued before starting. |
|
`ref` | [`String`](#string) | Reference to the branch from which the pipeline was triggered. |
|
`refPath` | [`String`](#string) | Reference path to the branch from which the pipeline was triggered. |
-|
`refText` | [`String!`](#string) | The reference text from the presenter. |
+|
`refText` | [`String!`](#string) | Reference text from the presenter. |
|
`retryable` | [`Boolean!`](#boolean) | Specifies if a pipeline's jobs can be retried. |
|
`securityReportSummary` | [`SecurityReportSummary`](#securityreportsummary) | Vulnerability and scanned resource counts for each security scanner of the pipeline. |
-|
`source` | [`String`](#string) | The source of the pipeline. |
+|
`source` | [`String`](#string) | Source of the pipeline. |
|
`sourceJob` | [`CiJob`](#cijob) | Job where pipeline was triggered from. |
|
`stages` | [`CiStageConnection`](#cistageconnection) | Stages of the pipeline. (see [Connections](#connections)) |
|
`startedAt` | [`Time`](#time) | Timestamp when the pipeline was started. |
|
`status` | [`PipelineStatusEnum!`](#pipelinestatusenum) | Status of the pipeline (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELED, CANCELING, SKIPPED, MANUAL, SCHEDULED). |
|
`stuck` | [`Boolean!`](#boolean) | If the pipeline is stuck. |
|
`testReportSummary` | [`TestReportSummary!`](#testreportsummary) | Summary of the test report generated by the pipeline. |
-|
`totalJobs` | [`Int!`](#int) | The total number of jobs in the pipeline. |
+|
`totalJobs` | [`Int!`](#int) | Total number of jobs in the pipeline. |
|
`trigger` | [`Boolean!`](#boolean) | If the pipeline was created by a Trigger request. |
-|
`triggeredByPath` | [`String`](#string) | The path that triggered this pipeline. |
+|
`triggeredByPath` | [`String`](#string) | Path that triggered the pipeline. |
|
`updatedAt` | [`Time!`](#time) | Timestamp of the pipeline's last activity. |
|
`upstream` | [`Pipeline`](#pipeline) | Pipeline that triggered the pipeline. |
|
`user` | [`UserCore`](#usercore) | Pipeline user. |
@@ -28232,14 +28232,14 @@ Returns [`UserMergeRequestInteraction`](#usermergerequestinteraction).
|
`usesNeeds` | [`Boolean`](#boolean) | Indicates if the pipeline has jobs with `needs` dependencies. |
|
`warningMessages` | [`[PipelineMessage!]`](#pipelinemessage) | Pipeline warning messages. |
|
`warnings` | [`Boolean!`](#boolean) | Indicates if a pipeline has warnings. |
-|
`yamlErrorMessages` | [`String`](#string) | The pipeline YAML errors. |
+|
`yamlErrorMessages` | [`String`](#string) | Pipeline YAML errors. |
|
`yamlErrors` | [`Boolean!`](#boolean) | If the pipeline has YAML errors. |
#### Fields with arguments
##### `Pipeline.job`
-Specific job in this pipeline, either by name or ID.
+Specific job in the pipeline, either by name or ID.
Returns [`CiJob`](#cijob).
@@ -31094,7 +31094,7 @@ Defines which user roles, users, or groups can push to a protected branch.
| Name | Type | Description |
| ---- | ---- | ----------- |
|
`accessLevel` | [`Int!`](#int) | GitLab::Access level. |
-|
`accessLevelDescription` | [`String!`](#string) | Human readable representation for this access level. |
+|
`accessLevelDescription` | [`String!`](#string) | Human readable representation for the access level. |
|
`deployKey` | [`AccessLevelDeployKey`](#accessleveldeploykey) | Deploy key assigned to the access level. |
|
`group` | [`AccessLevelGroup`](#accesslevelgroup) | Group associated with this access level. |
|
`user` | [`AccessLevelUser`](#accessleveluser) | User associated with this access level. |
@@ -32204,7 +32204,7 @@ Progress of standards adherence checks.
| Name | Type | Description |
| ---- | ---- | ----------- |
-|
`buttonTitle` | [`String`](#string) | Title for the button, for example: Retry this job. |
+|
`buttonTitle` | [`String`](#string) | Title for the button, for example: Retry the job. |
|
`confirmationMessage` **{warning-solid}** | [`String`](#string) | **Introduced** in GitLab 17.0. **Status**: Experiment. Custom confirmation message for a manual job. |
|
`icon` | [`String`](#string) | Icon used in the action button. |
|
`id` | [`String!`](#string) | ID for a status action. |
@@ -32734,7 +32734,7 @@ Defines which user roles, users, or groups can unprotect a protected branch.
| Name | Type | Description |
| ---- | ---- | ----------- |
|
`accessLevel` | [`Int!`](#int) | GitLab::Access level. |
-|
`accessLevelDescription` | [`String!`](#string) | Human readable representation for this access level. |
+|
`accessLevelDescription` | [`String!`](#string) | Human readable representation for the access level. |
|
`group` | [`AccessLevelGroup`](#accesslevelgroup) | Group associated with this access level. |
|
`user` | [`AccessLevelUser`](#accessleveluser) | User associated with this access level. |
@@ -35177,7 +35177,7 @@ Values for sorting runners.
| Value | Description |
| ----- | ----------- |
|
`ACTIVE` **{warning-solid}** | **Deprecated** in GitLab 14.6. This was renamed. Use: [`CiRunner.paused`](#cirunnerpaused). |
-|
`NEVER_CONTACTED` | Runner that has never contacted this instance. |
+|
`NEVER_CONTACTED` | Runner that has never contacted the instance. |
|
`OFFLINE` | Runner that has not contacted this instance within the last 2 hours. Will be considered `STALE` if offline for more than 7 days. |
|
`ONLINE` | Runner that contacted this instance within the last 2 hours. |
|
`PAUSED` **{warning-solid}** | **Deprecated** in GitLab 14.6. This was renamed. Use: [`CiRunner.paused`](#cirunnerpaused). |
diff --git a/doc/api/groups.md b/doc/api/groups.md
index 1d663265932..7dadd159a4b 100644
--- a/doc/api/groups.md
+++ b/doc/api/groups.md
@@ -2659,6 +2659,7 @@ PUT /groups/:id/push_rule
| `commit_committer_name_check` | boolean | no | Users can only push commits to this repository if the commit author name is consistent with their GitLab account name |
| `reject_unsigned_commits` | boolean | no | Reject commit when it’s not signed |
| `reject_non_dco_commits` | boolean | no | Reject commit when it’s not DCO certified |
+
```shell
diff --git a/doc/development/contributing/index.md b/doc/development/contributing/index.md
index 4f427c17336..50894869698 100644
--- a/doc/development/contributing/index.md
+++ b/doc/development/contributing/index.md
@@ -33,6 +33,7 @@ For example:
- [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner)
- [Gitaly](https://gitlab.com/gitlab-org/gitaly)
- [GLab](https://gitlab.com/gitlab-org/cli)
+- [GitLab Terraform Provider](https://gitlab.com/gitlab-org/terraform-provider-gitlab)
We have [development style guides for each technology](style_guides.md) to help you align with our coding standards.
@@ -47,7 +48,10 @@ Select the appropriate template and add all the necessary information about the
That way you can get more guidance and support.
If you're not sure what to work on, you can
-[view issues with the `~quick win` label](https://gitlab.com/groups/gitlab-org/-/issues/?label_name%5B%5D=quick%20win).
+[view issues with the `~quick win` label](https://gitlab.com/groups/gitlab-org/-/issues/?sort=created_asc&state=opened&label_name%5B%5D=quick%20win&first_page_size=100),
+and filter specifically for [documentation `~quick win`](https://gitlab.com/groups/gitlab-org/-/issues/?sort=created_asc&state=opened&label_name%5B%5D=quick%20win&label_name%5B%5D=documentation&first_page_size=100),
+[backend `~quick win`](https://gitlab.com/groups/gitlab-org/-/issues/?sort=created_asc&state=opened&label_name%5B%5D=quick%20win&label_name%5B%5D=backend&first_page_size=100),
+or [frontend `~quick win`](https://gitlab.com/groups/gitlab-org/-/issues/?sort=created_asc&state=opened&label_name%5B%5D=quick%20win&label_name%5B%5D=frontend&first_page_size=100).
When you find an issue you want to work on, leave a comment on it.
This helps the GitLab team and members of the wider GitLab community know that you will be working on that issue.
@@ -55,6 +59,7 @@ This helps the GitLab team and members of the wider GitLab community know that y
This is a good opportunity to [validate the issue](issue_workflow.md#clarifyingvalidating-an-issue).
Confirm that the issue is still valid, clarify your intended approach, and ask if a feature or change is likely to be accepted.
You do not need to be assigned to the issue to get started.
+If the issue already has an assignee, ask if they are still working on the issue or if they would like to collaborate.
For details, see [the issues workflow](issue_workflow.md).
diff --git a/doc/operations/index.md b/doc/operations/index.md
index 07c6e26f6e5..4e8534c4eac 100644
--- a/doc/operations/index.md
+++ b/doc/operations/index.md
@@ -1,7 +1,7 @@
---
stage: Monitor
group: Observability
-description: Track errors, application performance issues and manage incident response
+description: Track errors, application performance issues, and manage incident response.
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
@@ -9,7 +9,6 @@ info: To determine the technical writer assigned to the Stage/Group associated w
Visualize and analyze errors, traces, metrics and logs collected from your application and its infrastructure. Monitor, identify and resolve performance issues and incidents collaboratively.
-| | | |
|--|--|--|
-| [**Getting started**](../user/get_started/get_started_monitoring.md) **{chevron-right}** | [**Error tracking**](error_tracking.md) **{chevron-right}** | [**Distributed tracing**](tracing.md) **{chevron-right}** |
-| [**Metrics**](metrics.md) **{chevron-right}** | [**Logs**](logs.md) **{chevron-right}** | [**Incident management**](incident_management/index.md) **{chevron-right}** |
+| [**Getting started**](../user/get_started/get_started_monitoring.md) **{chevron-right}**
Overview of how features fit together. | [**Error tracking**](error_tracking.md) **{chevron-right}**
Error tracking, logging, debugging, data retention. | [**Distributed tracing**](tracing.md) **{chevron-right}**
Monitoring, troubleshooting, performance analysis, request tracking. |
+| [**Metrics**](metrics.md) **{chevron-right}**
Monitoring, visualization, aggregation, analysis, retention. | [**Logs**](logs.md) **{chevron-right}**
Centralized logging, analysis, configuration, viewing, filtering. | [**Incident management**](incident_management/index.md) **{chevron-right}**
Alert handling, response coordination, escalation procedures. |
diff --git a/doc/topics/build_your_application.md b/doc/topics/build_your_application.md
index 492fe69bec5..d3596f6b751 100644
--- a/doc/topics/build_your_application.md
+++ b/doc/topics/build_your_application.md
@@ -11,9 +11,9 @@ Use CI/CD to generate your application.
| | | |
|--|--|--|
-| [**Getting started**](../ci/index.md) **{chevron-right}** | [**CI/CD YAML syntax reference**](../ci/yaml/index.md) **{chevron-right}** | [**Runners**](https://docs.gitlab.com/runner/) **{chevron-right}** |
-| [**Pipelines**](../ci/pipelines/index.md) **{chevron-right}** | [**Jobs**](../ci/jobs/index.md) **{chevron-right}** | [**CI/CD components**](../ci/components/index.md) **{chevron-right}** |
-| [**Variables**](../ci/variables/index.md) **{chevron-right}** | [**Pipeline security**](../ci/pipelines/pipeline_security.md) **{chevron-right}** | [**Services**](../ci/services/index.md) **{chevron-right}** |
-| [**Auto DevOps**](autodevops/index.md) **{chevron-right}** | [**Testing**](../ci/testing/index.md) **{chevron-right}** | [**SSH keys**](../ci/ssh_keys/index.md) **{chevron-right}** |
-| [**ChatOps**](../ci/chatops/index.md) **{chevron-right}** | [**Mobile DevOps**](../ci/mobile_devops.md) **{chevron-right}** | [**Google cloud integration**](../ci/gitlab_google_cloud_integration/index.md) **{chevron-right}** |
-|[**External repository integrations**](../ci/ci_cd_for_external_repos/index.md) **{chevron-right}** | | |
+| [**Getting started**](../ci/index.md) **{chevron-right}**
Overview of how features fit together. | [**CI/CD YAML syntax reference**](../ci/yaml/index.md) **{chevron-right}**
Pipeline definition, artifacts, debugging, examples, steps. | [**Runners**](https://docs.gitlab.com/runner/) **{chevron-right}**
Execution, agents, job processing, installation, configuration. |
+| [**Pipelines**](../ci/pipelines/index.md) **{chevron-right}**
Configuration, automation, stages, jobs, schedules, efficiency. | [**Jobs**](../ci/jobs/index.md) **{chevron-right}**
Configuration, logs, artifacts. | [**CI/CD components**](../ci/components/index.md) **{chevron-right}**
Reusable, versioned CI/CD components for pipelines. |
+| [**Variables**](../ci/variables/index.md) **{chevron-right}**
Configuration, usage, security, troubleshooting. | [**Pipeline security**](../ci/pipelines/pipeline_security.md) **{chevron-right}**
Secrets management, job tokens, secure files, cloud security. | [**Services**](../ci/services/index.md) **{chevron-right}**
Reusable database or caching images. |
+| [**Auto DevOps**](autodevops/index.md) **{chevron-right}**
Automated DevOps, CI/CD, language detection, deployment, customization. | [**Testing**](../ci/testing/index.md) **{chevron-right}**
Unit tests, integration tests, test reports, coverage, quality assurance. | [**SSH keys**](../ci/ssh_keys/index.md) **{chevron-right}**
Authentication, secure access, deployment, remote execution, key management. |
+| [**ChatOps**](../ci/chatops/index.md) **{chevron-right}**
Collaboration, chat integration, commands, automation, communication. | [**Mobile DevOps**](../ci/mobile_devops.md) **{chevron-right}**
Mobile apps, Android, build automation, app distribution. | [**Google cloud integration**](../ci/gitlab_google_cloud_integration/index.md) **{chevron-right}**
Cloud services, Kubernetes deployments. |
+|[**External repository integrations**](../ci/ci_cd_for_external_repos/index.md) **{chevron-right}**
GitHub, Bitbucket, external sources, mirroring, cross-platform. | | |
diff --git a/doc/topics/git/undo.md b/doc/topics/git/undo.md
index ed512173e21..89e1f20dd91 100644
--- a/doc/topics/git/undo.md
+++ b/doc/topics/git/undo.md
@@ -363,11 +363,6 @@ git rebase -i commit-id
> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/462999) in GitLab 17.2.
> - [Enabled on self-managed and GitLab Dedicated](https://gitlab.com/gitlab-org/gitlab/-/issues/462999) in GitLab 17.3.
-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.
-
Permanently delete sensitive or confidential information that was accidentally committed, ensuring
it's no longer accessible in your repository's history.
Replaces a list of strings with `***REMOVED***`.
diff --git a/doc/topics/release_your_application.md b/doc/topics/release_your_application.md
index d885357dbfc..472b05922f0 100644
--- a/doc/topics/release_your_application.md
+++ b/doc/topics/release_your_application.md
@@ -16,9 +16,9 @@ release features incrementally.
| | | |
|--|--|--|
-| [**Getting started**](../user/get_started/get_started_deploy_release.md) **{chevron-right}** | [**Packages and registries**](../user/packages/index.md) **{chevron-right}** | [**Environments and deployments**](../ci/environments/index.md) **{chevron-right}** |
-| [**Releases**](../user/project/releases/index.md) **{chevron-right}** | [**Roll out an application incrementally**](../ci/environments/incremental_rollouts.md) **{chevron-right}** | [**Feature flags**](../operations/feature_flags.md) **{chevron-right}** |
-| [**GitLab Pages**](../user/project/pages/index.md) **{chevron-right}** | | |
+| [**Getting started**](../user/get_started/get_started_deploy_release.md) **{chevron-right}**
Overview of how features fit together. | [**Packages and registries**](../user/packages/index.md) **{chevron-right}**
Package management, container registry, artifact storage, dependency management. | [**Environments and deployments**](../ci/environments/index.md) **{chevron-right}**
Environments, deployments, rollbacks, safety, approvals. |
+| [**Releases**](../user/project/releases/index.md) **{chevron-right}**
Releases, versioning, assets, tags, milestones, evidence. | [**Roll out an application incrementally**](../ci/environments/incremental_rollouts.md) **{chevron-right}**
Kubernetes, CI/CD, risk mitigation, deployment. | [**Feature flags**](../operations/feature_flags.md) **{chevron-right}**
Progressive delivery, controlled deployment, risk reduction. |
+| [**GitLab Pages**](../user/project/pages/index.md) **{chevron-right}**
Static site hosting, documentation publishing, project websites, custom domains. | | |
## Related topics
diff --git a/doc/update/versions/gitlab_17_changes.md b/doc/update/versions/gitlab_17_changes.md
index 31cef2a1d1d..d7b092193e9 100644
--- a/doc/update/versions/gitlab_17_changes.md
+++ b/doc/update/versions/gitlab_17_changes.md
@@ -87,6 +87,55 @@ For more information about upgrading GitLab Helm Chart, see [the release notes f
the upgrade. This bug has been fixed with GitLab 17.1.2 and upgrading from GitLab 16.x directly to 17.1.2 will not
cause these issues.
+## Issues to be aware of when upgrading from 17.3
+
+- Migration failures when upgrading from GitLab 17.3.
+
+ When upgrading from 17.3 to 17.4, there is a slight chance of encountering an error. During the migration process, you might see an error message like the one below:
+
+ ```shell
+ main: == [advisory_lock_connection] object_id: 127900, pg_backend_pid: 76263
+ main: == 20240812040748 AddUniqueConstraintToRemoteDevelopmentAgentConfigs: migrating
+ main: -- transaction_open?(nil)
+ main: -> 0.0000s
+ main: -- view_exists?(:postgres_partitions)
+ main: -> 0.0181s
+ main: -- index_exists?(:remote_development_agent_configs, :cluster_agent_id, {:name=>"index_remote_development_agent_configs_on_unique_agent_id", :unique=>true, :algorithm=>:concurrently})
+ main: -> 0.0026s
+ main: -- execute("SET statement_timeout TO 0")
+ main: -> 0.0004s
+ main: -- add_index(:remote_development_agent_configs, :cluster_agent_id, {:name=>"index_remote_development_agent_configs_on_unique_agent_id", :unique=>true, :algorithm=>:concurrently})
+ main: -- execute("RESET statement_timeout")
+ main: -> 0.0002s
+ main: == [advisory_lock_connection] object_id: 127900, pg_backend_pid: 76263
+ rake aborted!
+ StandardError: An error has occurred, all later migrations canceled:
+
+ PG::UniqueViolation: ERROR: could not create unique index "index_remote_development_agent_configs_on_unique_agent_id"
+ DETAIL: Key (cluster_agent_id)=(1000141) is duplicated.
+ ```
+
+ This error occurs because the migration adds a unique constraint on the `cluster_agent_id` column in the `remote_development_agent_configs` table, but there are still duplicate entries. The previous migration is supposed to remove these duplicates, but in rare cases, new duplicates may be inserted between the two migrations.
+
+ To safely resolve this issue, follow these steps:
+
+ 1. Open the Rails console where the migrations are being run.
+ 1. Copy and paste the script below into the console and execute it.
+ 1. Re-run the migrations, and they should complete successfully.
+
+ ```Ruby
+ # Get the IDs to keep for each cluster_agent_id; if there are duplicates, only the row with the latest updated_at will be kept.
+ latest_ids = ::RemoteDevelopment::RemoteDevelopmentAgentConfig.select("DISTINCT ON (cluster_agent_id) id")
+ .order("cluster_agent_id, updated_at DESC")
+ .map(&:id)
+
+ # Get the list of remote_development_agent_configs to be removed.
+ agent_configs_to_remove = ::RemoteDevelopment::RemoteDevelopmentAgentConfig.where.not(id: latest_ids)
+
+ # Delete all duplicated agent_configs.
+ agent_configs_to_remove.delete_all
+ ```
+
### Linux package installations
Specific information applies to Linux package installations:
diff --git a/doc/user/application_security/secure_your_application.md b/doc/user/application_security/secure_your_application.md
index 8d7b5419a1a..b198293c5d1 100644
--- a/doc/user/application_security/secure_your_application.md
+++ b/doc/user/application_security/secure_your_application.md
@@ -11,12 +11,11 @@ GitLab can check your applications for security vulnerabilities.
| | | |
|--|--|--|
-| [**Getting started**](get-started-security.md) **{chevron-right}** | [**Application security**](index.md) **{chevron-right}** | [**Security configuration**](configuration/index.md) **{chevron-right}** |
-| [**Container Scanning**](container_scanning/index.md) **{chevron-right}** | [**Dependency Scanning**](dependency_scanning/index.md) **{chevron-right}** | [**Comparison**](comparison_dependency_and_container_scanning.md) **{chevron-right}** |
-| [**Dependency List**](dependency_list/index.md) **{chevron-right}** | [**Continuous Vulnerability Scanning**](continuous_vulnerability_scanning/index.md) **{chevron-right}** | [**Static Application Security Testing**](sast/index.md) **{chevron-right}** |
-| [**Infrastructure as Code (IaC) Scanning**](iac_scanning/index.md) **{chevron-right}** | [**Secret detection**](secret_detection/index.md) **{chevron-right}** | [**Dynamic Application Security Testing (DAST)**](dast/index.md) **{chevron-right}** |
-| [**API Security**](api_security/index.md) **{chevron-right}** | [**Web API Fuzz Testing**](api_fuzzing/index.md) **{chevron-right}** | [**Coverage-guided fuzz testing**](coverage_fuzzing/index.md) **{chevron-right}** |
-| [**Security Dashboard**](security_dashboard/index.md) **{chevron-right}** | [**Offline environments**](offline_deployments/index.md) **{chevron-right}** | [**Vulnerability Report**](vulnerability_report/index.md) **{chevron-right}** |
-| [**Vulnerability Page**](vulnerabilities/index.md) **{chevron-right}** | [**Vulnerability severity levels**](vulnerabilities/severities.md) **{chevron-right}** | [**GitLab Advisory Database**](gitlab_advisory_database/index.md) **{chevron-right}** |
-| [**CVE ID requests**](cve_id_request.md) **{chevron-right}** | [**Policies**](policies/index.md) **{chevron-right}** | [**Security scanner integration**](../../development/integrations/secure.md) **{chevron-right}** |
-| [**Secure and Govern glossary**](terminology/index.md) **{chevron-right}** | | |
+| [**Getting started**](get-started-security.md) **{chevron-right}**
Overview of how features fit together. | [**Application security**](index.md) **{chevron-right}**
Scanning, vulnerabilities, compliance, customization, reporting. | [**Security configuration**](configuration/index.md) **{chevron-right}**
Configuration, testing, compliance, scanning, enablement. |
+| [**Container Scanning**](container_scanning/index.md) **{chevron-right}**
Image vulnerability scanning, configuration, customization, reporting. | [**Dependency Scanning**](dependency_scanning/index.md) **{chevron-right}**
Vulnerabilities, remediation, configuration, analyzers, reports. | [**Comparison**](comparison_dependency_and_container_scanning.md) **{chevron-right}**
Dependency Scanning compared to Container Scanning. |
+| [**Dependency List**](dependency_list/index.md) **{chevron-right}**
vulnerabilities, licenses, filtering, exporting. | [**Continuous Vulnerability Scanning**](continuous_vulnerability_scanning/index.md) **{chevron-right}**
Scanning, dependencies, advisories, background jobs. | [**Static Application Security Testing**](sast/index.md) **{chevron-right}**
Scanning, configuration, analyzers, vulnerabilities, reporting, customization, integration. |
+| [**Infrastructure as Code (IaC) Scanning**](iac_scanning/index.md) **{chevron-right}**
Vulnerability detection, configuration analysis, pipeline integration. | [**Secret detection**](secret_detection/index.md) **{chevron-right}**
Detection, prevention, monitoring, storage, revocation, reporting. | [**Dynamic Application Security Testing (DAST)**](dast/index.md) **{chevron-right}**
Automated penetration testing, vulnerability detection, web application scanning, security assessment, CI/CD integration. |
+| [**API Security**](api_security/index.md) **{chevron-right}**
Protection, analysis, testing, scanning, discovery. | [**Web API Fuzz Testing**](api_fuzzing/index.md) **{chevron-right}**
Testing, security, vulnerabilities, automation, errors. | [**Coverage-guided fuzz testing**](coverage_fuzzing/index.md) **{chevron-right}**
Coverage-guided fuzzing, random inputs, unexpected behavior. |
+| [**Security Dashboard**](security_dashboard/index.md) **{chevron-right}**
Security dashboards, vulnerability trends, project ratings, metrics. | [**Offline environments**](offline_deployments/index.md) **{chevron-right}**
Offline security scanning, resolving vulnerabilities. | [**Vulnerability Report**](vulnerability_report/index.md) **{chevron-right}**
Filtering, grouping, exporting, manual addition. |
+| [**Vulnerability Page**](vulnerabilities/index.md) **{chevron-right}**
Vulnerability details, status, resolution, linking issues. | [**Vulnerability severity levels**](vulnerabilities/severities.md) **{chevron-right}**
Classification, impact, prioritization, risk assessment. | [**GitLab Advisory Database**](gitlab_advisory_database/index.md) **{chevron-right}**
Security advisories, vulnerabilities, dependencies, database, updates. |
+| [**CVE ID requests**](cve_id_request.md) **{chevron-right}**
Vulnerability tracking, security disclosure. | [**Policies**](policies/index.md) **{chevron-right}**
Security policies, enforcement, compliance, approvals, scans. | [**Security scanner integration**](../../development/integrations/secure.md) **{chevron-right}**
Reporting, vulnerabilities, remediations, tracking. |
diff --git a/doc/user/infrastructure/index.md b/doc/user/infrastructure/index.md
index 427d3324d83..82eef6218ae 100644
--- a/doc/user/infrastructure/index.md
+++ b/doc/user/infrastructure/index.md
@@ -11,5 +11,5 @@ Use GitLab to speed up and simplify your infrastructure management practices.
| | | |
|--|--|--|
-| [**Getting started**](../get_started/get_started_managing_infrastructure.md) **{chevron-right}** | [**Infrastructure as Code**](iac/index.md) **{chevron-right}** | [**Create Kubernetes clusters**](../clusters/create/index.md) **{chevron-right}** |
-| [**Connect Kubernetes clusters**](../clusters/agent/index.md) **{chevron-right}** | [**Runbooks**](../project/clusters/runbooks/index.md) **{chevron-right}** | |
+| [**Getting started**](../get_started/get_started_managing_infrastructure.md) **{chevron-right}**
Overview of how features fit together. | [**Infrastructure as Code**](iac/index.md) **{chevron-right}**
Infrastructure management, versioning, automation, state storage, modules. | [**Create Kubernetes clusters**](../clusters/create/index.md) **{chevron-right}**
Amazon EKS, Azure AKS, Google GKE, Civo. |
+| [**Connect Kubernetes clusters**](../clusters/agent/index.md) **{chevron-right}**
Kubernetes integration, GitOps, CI/CD, agent deployment, cluster management. | [**Runbooks**](../project/clusters/runbooks/index.md) **{chevron-right}**
Executable runbooks, automation, troubleshooting, operations. | |
diff --git a/doc/user/project/repository/reducing_the_repo_size_using_git.md b/doc/user/project/repository/reducing_the_repo_size_using_git.md
index 5fad674b701..212c76f1224 100644
--- a/doc/user/project/repository/reducing_the_repo_size_using_git.md
+++ b/doc/user/project/repository/reducing_the_repo_size_using_git.md
@@ -248,11 +248,6 @@ When using repository cleanup, note:
> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/462999) in GitLab 17.2.
> - [Enabled on self-managed and GitLab Dedicated](https://gitlab.com/gitlab-org/gitlab/-/issues/462999) in GitLab 17.3.
-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.
-
Permanently delete sensitive or confidential information that was accidentally committed, ensuring
it's no longer accessible in your repository's history.
diff --git a/package.json b/package.json
index b07878eec69..ebfdfe1f6d1 100644
--- a/package.json
+++ b/package.json
@@ -89,41 +89,41 @@
"@snowplow/browser-plugin-timezone": "^3.24.2",
"@snowplow/browser-tracker": "^3.24.2",
"@sourcegraph/code-host-integration": "0.0.95",
- "@tiptap/core": "^2.6.4",
- "@tiptap/extension-blockquote": "^2.6.4",
- "@tiptap/extension-bold": "^2.6.4",
- "@tiptap/extension-bubble-menu": "^2.6.4",
- "@tiptap/extension-bullet-list": "^2.6.4",
- "@tiptap/extension-code": "^2.6.4",
- "@tiptap/extension-code-block": "^2.6.4",
- "@tiptap/extension-code-block-lowlight": "^2.6.4",
- "@tiptap/extension-document": "^2.6.4",
- "@tiptap/extension-dropcursor": "^2.6.4",
- "@tiptap/extension-gapcursor": "^2.6.4",
- "@tiptap/extension-hard-break": "^2.6.4",
- "@tiptap/extension-heading": "^2.6.4",
- "@tiptap/extension-highlight": "^2.6.4",
- "@tiptap/extension-history": "^2.6.4",
- "@tiptap/extension-horizontal-rule": "^2.6.4",
- "@tiptap/extension-image": "^2.6.4",
- "@tiptap/extension-italic": "^2.6.4",
- "@tiptap/extension-link": "^2.6.4",
- "@tiptap/extension-list-item": "^2.6.4",
- "@tiptap/extension-ordered-list": "^2.6.4",
- "@tiptap/extension-paragraph": "^2.6.4",
- "@tiptap/extension-strike": "^2.6.4",
- "@tiptap/extension-subscript": "^2.6.4",
- "@tiptap/extension-superscript": "^2.6.4",
- "@tiptap/extension-table": "^2.6.4",
- "@tiptap/extension-table-cell": "^2.6.4",
- "@tiptap/extension-table-header": "^2.6.4",
- "@tiptap/extension-table-row": "^2.6.4",
- "@tiptap/extension-task-item": "^2.6.4",
- "@tiptap/extension-task-list": "^2.6.4",
- "@tiptap/extension-text": "^2.6.4",
- "@tiptap/pm": "^2.6.4",
- "@tiptap/suggestion": "^2.6.4",
- "@tiptap/vue-2": "^2.6.4",
+ "@tiptap/core": "^2.6.5",
+ "@tiptap/extension-blockquote": "^2.6.5",
+ "@tiptap/extension-bold": "^2.6.5",
+ "@tiptap/extension-bubble-menu": "^2.6.5",
+ "@tiptap/extension-bullet-list": "^2.6.5",
+ "@tiptap/extension-code": "^2.6.5",
+ "@tiptap/extension-code-block": "^2.6.5",
+ "@tiptap/extension-code-block-lowlight": "^2.6.5",
+ "@tiptap/extension-document": "^2.6.5",
+ "@tiptap/extension-dropcursor": "^2.6.5",
+ "@tiptap/extension-gapcursor": "^2.6.5",
+ "@tiptap/extension-hard-break": "^2.6.5",
+ "@tiptap/extension-heading": "^2.6.5",
+ "@tiptap/extension-highlight": "^2.6.5",
+ "@tiptap/extension-history": "^2.6.5",
+ "@tiptap/extension-horizontal-rule": "^2.6.5",
+ "@tiptap/extension-image": "^2.6.5",
+ "@tiptap/extension-italic": "^2.6.5",
+ "@tiptap/extension-link": "^2.6.5",
+ "@tiptap/extension-list-item": "^2.6.5",
+ "@tiptap/extension-ordered-list": "^2.6.5",
+ "@tiptap/extension-paragraph": "^2.6.5",
+ "@tiptap/extension-strike": "^2.6.5",
+ "@tiptap/extension-subscript": "^2.6.5",
+ "@tiptap/extension-superscript": "^2.6.5",
+ "@tiptap/extension-table": "^2.6.5",
+ "@tiptap/extension-table-cell": "^2.6.5",
+ "@tiptap/extension-table-header": "^2.6.5",
+ "@tiptap/extension-table-row": "^2.6.5",
+ "@tiptap/extension-task-item": "^2.6.5",
+ "@tiptap/extension-task-list": "^2.6.5",
+ "@tiptap/extension-text": "^2.6.5",
+ "@tiptap/pm": "^2.6.5",
+ "@tiptap/suggestion": "^2.6.5",
+ "@tiptap/vue-2": "^2.6.5",
"@vue/apollo-components": "^4.0.0-beta.4",
"@vue/apollo-option": "^4.0.0-beta.4",
"apollo-upload-client": "15.0.0",
@@ -303,7 +303,7 @@
"swagger-cli": "^4.0.4",
"tailwindcss": "^3.4.1",
"timezone-mock": "^1.0.8",
- "vite": "^5.4.1",
+ "vite": "^5.4.2",
"vite-plugin-ruby": "^5.0.0",
"vue-loader-vue3": "npm:vue-loader@17.4.2",
"vue-test-utils-compat": "0.0.14",
diff --git a/spec/frontend/clusters_list/components/agent_token_spec.js b/spec/frontend/clusters_list/components/agent_token_spec.js
index 8bafa11b1cb..71db80646f7 100644
--- a/spec/frontend/clusters_list/components/agent_token_spec.js
+++ b/spec/frontend/clusters_list/components/agent_token_spec.js
@@ -94,12 +94,38 @@ describe('InstallAgentModal', () => {
expect(findAlert().text()).toBe(I18N_AGENT_TOKEN.tokenSingleUseWarningTitle);
});
- it('shows code block with agent installation command', () => {
- expect(findCodeBlock().props('code')).toContain(`helm upgrade --install ${agentName}`);
- expect(findCodeBlock().props('code')).toContain(`--namespace gitlab-agent-${agentName}`);
- expect(findCodeBlock().props('code')).toContain(`--set config.token=${agentToken}`);
- expect(findCodeBlock().props('code')).toContain(`--set config.kasAddress=${kasAddress}`);
- expect(findCodeBlock().props('code')).toContain(`--set image.tag=v${kasInstallVersion}`);
+ describe('when on dot_com', () => {
+ beforeEach(() => {
+ gon.dot_com = true;
+
+ createWrapper();
+ });
+
+ it('shows code block with agent installation command without image version', () => {
+ expect(findCodeBlock().props('code')).toContain(`helm upgrade --install ${agentName}`);
+ expect(findCodeBlock().props('code')).toContain(`--namespace gitlab-agent-${agentName}`);
+ expect(findCodeBlock().props('code')).toContain(`--set config.token=${agentToken}`);
+ expect(findCodeBlock().props('code')).toContain(`--set config.kasAddress=${kasAddress}`);
+ expect(findCodeBlock().props('code')).not.toContain(
+ `--set image.tag=v${kasInstallVersion}`,
+ );
+ });
+ });
+
+ describe('when not on dot_com', () => {
+ beforeEach(() => {
+ gon.dot_com = false;
+
+ createWrapper();
+ });
+
+ it('shows code block with agent installation command with image version', () => {
+ expect(findCodeBlock().props('code')).toContain(`helm upgrade --install ${agentName}`);
+ expect(findCodeBlock().props('code')).toContain(`--namespace gitlab-agent-${agentName}`);
+ expect(findCodeBlock().props('code')).toContain(`--set config.token=${agentToken}`);
+ expect(findCodeBlock().props('code')).toContain(`--set config.kasAddress=${kasAddress}`);
+ expect(findCodeBlock().props('code')).toContain(`--set image.tag=v${kasInstallVersion}`);
+ });
});
it('truncates the namespace name if it exceeds the maximum length', () => {
diff --git a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js
index 1962e223cc7..3051e17d978 100644
--- a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js
+++ b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js
@@ -333,7 +333,7 @@ describe('tags list row', () => {
expect(findDeleteButton().exists()).toBe(true);
expect(findDeleteButton().props('item').extraAttrs).toMatchObject({
- class: 'gl-text-red-500!',
+ class: '!gl-text-red-500',
'data-testid': 'single-delete-button',
});
diff --git a/spec/frontend/packages_and_registries/infrastructure_registry/components/details/components/__snapshots__/terraform_installation_spec.js.snap b/spec/frontend/packages_and_registries/infrastructure_registry/components/details/components/__snapshots__/terraform_installation_spec.js.snap
index aaed26e1c4e..b17bd2f9519 100644
--- a/spec/frontend/packages_and_registries/infrastructure_registry/components/details/components/__snapshots__/terraform_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/infrastructure_registry/components/details/components/__snapshots__/terraform_installation_spec.js.snap
@@ -3,7 +3,7 @@
exports[`TerraformInstallation renders all the messages 1`] = `
Provision instructions
@@ -19,7 +19,7 @@ exports[`TerraformInstallation renders all the messages 1`] = `
trackinglabel=""
/>
Registry setup
diff --git a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap
index 7cb2d91244e..8d0cf6f1ca2 100644
--- a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap
+++ b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap
@@ -18,10 +18,10 @@ exports[`packages_list_row renders 1`] = `
class="gl-flex gl-font-semibold gl-items-center gl-min-h-6 gl-min-w-0 gl-text-primary"
>
@@ -36,7 +36,7 @@ exports[`packages_list_row renders 1`] = `
class="gl-flex gl-gap-3 gl-grow gl-items-center gl-min-h-6 gl-min-w-0 gl-text-sm gl-text-subtle"
>
1.0.0
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/conan_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/conan_installation_spec.js.snap
index cfdaebd889d..8cded5ce131 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/conan_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/conan_installation_spec.js.snap
@@ -14,7 +14,7 @@ exports[`ConanInstallation renders all the messages 1`] = `
trackinglabel="code_instruction"
/>
Registry setup
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/dependency_row_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/dependency_row_spec.js.snap
index 37401786d21..e4e9c3d5e67 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/dependency_row_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/dependency_row_spec.js.snap
@@ -8,7 +8,7 @@ exports[`DependencyRow renders full dependency 1`] = `
class="section-50 table-section"
>
Ninject.Extensions.Factory
@@ -19,11 +19,11 @@ exports[`DependencyRow renders full dependency 1`] = `
3.3.2
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/maven_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/maven_installation_spec.js.snap
index 2545aade29d..4a79cfcffb2 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/maven_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/maven_installation_spec.js.snap
@@ -95,7 +95,7 @@ exports[`MavenInstallation maven renders all the messages 1`] = `
trackinglabel="code_instruction"
/>
Registry setup
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap
index f57744624f2..a8473cec3d5 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap
@@ -14,7 +14,7 @@ exports[`NpmInstallation renders all the messages 1`] = `
trackinglabel="code_instruction"
/>
Registry setup
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap
index 186ce594a28..527ffe37d08 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap
@@ -14,7 +14,7 @@ exports[`NugetInstallation renders all the messages 1`] = `
trackinglabel="code_instruction"
/>
Registry setup
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap
index 0aa2e247df0..9cbe9f74cf4 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap
@@ -3,10 +3,10 @@
exports[`PypiInstallation renders all the messages 1`] = `
Installation
@@ -195,7 +195,7 @@ exports[`PypiInstallation renders all the messages 1`] = `
Registry setup
diff --git a/spec/frontend/packages_and_registries/package_registry/components/list/__snapshots__/package_list_row_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/list/__snapshots__/package_list_row_spec.js.snap
index 55ff51b99be..2646d0218c4 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/list/__snapshots__/package_list_row_spec.js.snap
+++ b/spec/frontend/packages_and_registries/package_registry/components/list/__snapshots__/package_list_row_spec.js.snap
@@ -26,11 +26,11 @@ exports[`packages_list_row renders 1`] = `
class="gl-flex gl-font-semibold gl-items-center gl-min-h-6 gl-min-w-0 gl-text-primary"
>
@gitlab-org/package-15
@@ -41,11 +41,11 @@ exports[`packages_list_row renders 1`] = `
class="gl-flex gl-gap-3 gl-grow gl-items-center gl-min-h-6 gl-min-w-0 gl-text-sm gl-text-subtle"
>
diff --git a/spec/frontend/packages_and_registries/shared/components/__snapshots__/publish_method_spec.js.snap b/spec/frontend/packages_and_registries/shared/components/__snapshots__/publish_method_spec.js.snap
index 9bd2ebd20b9..04513129dab 100644
--- a/spec/frontend/packages_and_registries/shared/components/__snapshots__/publish_method_spec.js.snap
+++ b/spec/frontend/packages_and_registries/shared/components/__snapshots__/publish_method_spec.js.snap
@@ -2,7 +2,7 @@
exports[`publish_method renders 1`] = `
{
it('shows tag badge when there is only one', () => {
createComponent([mockTags[0]]);
- const expectedStyle = [...defaultStyle, 'gl-display-flex', 'gl-ml-3'];
+ const expectedStyle = [...defaultStyle, 'gl-flex', 'gl-ml-3'];
expect(tagBadges().at(0).classes()).toEqual(expect.arrayContaining(expectedStyle));
});
diff --git a/spec/frontend/packages_and_registries/shared/components/packages_list_loader_spec.js b/spec/frontend/packages_and_registries/shared/components/packages_list_loader_spec.js
index 6718031738c..62a5f3e2aa7 100644
--- a/spec/frontend/packages_and_registries/shared/components/packages_list_loader_spec.js
+++ b/spec/frontend/packages_and_registries/shared/components/packages_list_loader_spec.js
@@ -23,11 +23,7 @@ describe('PackagesListLoader', () => {
});
it('has the correct classes', () => {
- expect(findDesktopShapes().classes()).toEqual([
- 'gl-hidden',
- 'sm:gl-flex',
- 'gl-flex-direction-column',
- ]);
+ expect(findDesktopShapes().classes()).toEqual(['gl-hidden', 'gl-flex-col', 'sm:gl-flex']);
});
});
@@ -37,7 +33,7 @@ describe('PackagesListLoader', () => {
});
it('has the correct classes', () => {
- expect(findMobileShapes().classes()).toEqual(['gl-flex-direction-column', 'sm:gl-hidden']);
+ expect(findMobileShapes().classes()).toEqual(['gl-flex-col', 'sm:gl-hidden']);
});
});
});
diff --git a/spec/workers/authorized_projects_worker_spec.rb b/spec/workers/authorized_projects_worker_spec.rb
index ea009f06a28..ab52b25649f 100644
--- a/spec/workers/authorized_projects_worker_spec.rb
+++ b/spec/workers/authorized_projects_worker_spec.rb
@@ -2,6 +2,6 @@
require 'spec_helper'
-RSpec.describe AuthorizedProjectsWorker, feature_category: :system_access do
+RSpec.describe AuthorizedProjectsWorker, feature_category: :permissions do
it_behaves_like "refreshes user's project authorizations"
end
diff --git a/workhorse/go.mod b/workhorse/go.mod
index 9ee8e73f985..24caf930cec 100644
--- a/workhorse/go.mod
+++ b/workhorse/go.mod
@@ -33,7 +33,7 @@ require (
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616
golang.org/x/net v0.28.0
golang.org/x/oauth2 v0.22.0
- golang.org/x/tools v0.23.0
+ golang.org/x/tools v0.24.0
google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.34.2
honnef.co/go/tools v0.4.7
@@ -123,7 +123,7 @@ require (
go.uber.org/atomic v1.11.0 // indirect
golang.org/x/crypto v0.26.0 // indirect
golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a // indirect
- golang.org/x/mod v0.19.0 // indirect
+ golang.org/x/mod v0.20.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.24.0 // indirect
golang.org/x/text v0.17.0 // indirect
diff --git a/workhorse/go.sum b/workhorse/go.sum
index eb792392898..bd685aa9444 100644
--- a/workhorse/go.sum
+++ b/workhorse/go.sum
@@ -587,8 +587,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
-golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
+golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -822,8 +822,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
-golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
-golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=
+golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
+golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/yarn.lock b/yarn.lock
index af17ae89980..6e45739c9ec 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1954,85 +1954,85 @@
estree-walker "^2.0.2"
picomatch "^2.3.1"
-"@rollup/rollup-android-arm-eabi@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.3.tgz#bddf05c3387d02fac04b6b86b3a779337edfed75"
- integrity sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==
+"@rollup/rollup-android-arm-eabi@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz#d941173f82f9b041c61b0dc1a2a91dcd06e4b31e"
+ integrity sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==
-"@rollup/rollup-android-arm64@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.3.tgz#b26bd09de58704c0a45e3375b76796f6eda825e4"
- integrity sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==
+"@rollup/rollup-android-arm64@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz#7e7157c8543215245ceffc445134d9e843ba51c0"
+ integrity sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==
-"@rollup/rollup-darwin-arm64@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.3.tgz#c5f3fd1aa285b6d33dda6e3f3ca395f8c37fd5ca"
- integrity sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==
+"@rollup/rollup-darwin-arm64@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz#f0a18a4fc8dc6eb1e94a51fa2adb22876f477947"
+ integrity sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==
-"@rollup/rollup-darwin-x64@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.3.tgz#8e4673734d7dc9d68f6d48e81246055cda0e840f"
- integrity sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==
+"@rollup/rollup-darwin-x64@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz#34b7867613e5cc42d2b85ddc0424228cc33b43f0"
+ integrity sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==
-"@rollup/rollup-linux-arm-gnueabihf@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.3.tgz#53ed38eb13b58ababdb55a7f66f0538a7f85dcba"
- integrity sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==
+"@rollup/rollup-linux-arm-gnueabihf@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz#422b19ff9ae02b05d3395183d1d43b38c7c8be0b"
+ integrity sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==
-"@rollup/rollup-linux-arm-musleabihf@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.14.3.tgz#0706ee38330e267a5c9326956820f009cfb21fcd"
- integrity sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==
+"@rollup/rollup-linux-arm-musleabihf@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz#568aa29195ef6fc57ec6ed3f518923764406a8ee"
+ integrity sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==
-"@rollup/rollup-linux-arm64-gnu@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.3.tgz#426fce7b8b242ac5abd48a10a5020f5a468c6cb4"
- integrity sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==
+"@rollup/rollup-linux-arm64-gnu@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz#22309c8bcba9a73114f69165c72bc94b2fbec085"
+ integrity sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==
-"@rollup/rollup-linux-arm64-musl@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz#65bf944530d759b50d7ffd00dfbdf4125a43406f"
- integrity sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==
+"@rollup/rollup-linux-arm64-musl@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz#c93c388af6d33f082894b8a60839d7265b2b9bc5"
+ integrity sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==
-"@rollup/rollup-linux-powerpc64le-gnu@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.3.tgz#494ba3b31095e9a45df9c3f646d21400fb631a95"
- integrity sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==
+"@rollup/rollup-linux-powerpc64le-gnu@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz#493c5e19e395cf3c6bd860c7139c8a903dea72b4"
+ integrity sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==
-"@rollup/rollup-linux-riscv64-gnu@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.3.tgz#8b88ed0a40724cce04aa15374ebe5ba4092d679f"
- integrity sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==
+"@rollup/rollup-linux-riscv64-gnu@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz#a2eab4346fbe5909165ce99adb935ba30c9fb444"
+ integrity sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==
-"@rollup/rollup-linux-s390x-gnu@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.3.tgz#09c9e5ec57a0f6ec3551272c860bb9a04b96d70f"
- integrity sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==
+"@rollup/rollup-linux-s390x-gnu@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz#0bc49a79db4345d78d757bb1b05e73a1b42fa5c3"
+ integrity sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==
-"@rollup/rollup-linux-x64-gnu@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.3.tgz#197f27fd481ad9c861021d5cbbf21793922a631c"
- integrity sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==
+"@rollup/rollup-linux-x64-gnu@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz#4fd36a6a41f3406d8693321b13d4f9b7658dd4b9"
+ integrity sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==
-"@rollup/rollup-linux-x64-musl@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.3.tgz#5cc0522f4942f2df625e9bfb6fb02c6580ffbce6"
- integrity sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==
+"@rollup/rollup-linux-x64-musl@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz#10ebb13bd4469cbad1a5d9b073bd27ec8a886200"
+ integrity sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==
-"@rollup/rollup-win32-arm64-msvc@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.3.tgz#a648122389d23a7543b261fba082e65fefefe4f6"
- integrity sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==
+"@rollup/rollup-win32-arm64-msvc@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz#2fef1a90f1402258ef915ae5a94cc91a5a1d5bfc"
+ integrity sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==
-"@rollup/rollup-win32-ia32-msvc@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.3.tgz#34727b5c7953c35fc6e1ae4f770ad3a2025f8e03"
- integrity sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==
+"@rollup/rollup-win32-ia32-msvc@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz#a18ad47a95c5f264defb60acdd8c27569f816fc1"
+ integrity sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==
-"@rollup/rollup-win32-x64-msvc@4.14.3":
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.3.tgz#5b2fb4d8cd44c05deef8a7b0e6deb9ccb8939d18"
- integrity sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==
+"@rollup/rollup-win32-x64-msvc@4.21.0":
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz#20c09cf44dcb082140cc7f439dd679fe4bba3375"
+ integrity sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==
"@sentry-internal/browser-utils@8.25.0":
version "8.25.0"
@@ -2631,181 +2631,181 @@
dom-accessibility-api "^0.5.1"
pretty-format "^26.4.2"
-"@tiptap/core@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.6.4.tgz#e01d560e233a3b49effbd112ca6c03538dd35717"
- integrity sha512-lv+JyBI+5C6C7BMLYg2bloB00HvAZkcvgO3CzmFia28Vtt1P9yhS44elvBemhUf7IP7Hu12FUzDWY+2GQqiqkw==
+"@tiptap/core@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.6.5.tgz#7e7b46e8f8203bee22a23613bd91bbd43ead2ae7"
+ integrity sha512-1q5gn4YB0Qm3xFxdQq40FMwjL0gj4flP3UeXHlHXHYvJtMK9ZckRJReYtTEGjRp99BJWivU0YehGdC/96f47GA==
-"@tiptap/extension-blockquote@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.6.4.tgz#d10a8cf520a0e460a60e219973556d79d37927a8"
- integrity sha512-BzeQ52qHL4AEryPqgvPNRJ2siSTfSi2s3k7hVC29QYUTOidLSSDWVihn7lzJoBnqDMAOYj7yUhnEUEdjvOFGqw==
+"@tiptap/extension-blockquote@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.6.5.tgz#eba9b45a325cb1222bb2ef66ac0023e6ba9d8a27"
+ integrity sha512-lKg/8UfsToG0GycizXGqFlA4/ptB3KumM8ch3MBKRLqy/yViu4oXpbTCqE9sqx/WNUYiriPrvkQnBW10LfFIJQ==
-"@tiptap/extension-bold@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.6.4.tgz#10d143336879affe134caeb54c75d0c1392de56e"
- integrity sha512-DIKUiO2aqO9D3dAQngBacWk/vYwDY13+q3t5dlawRTCIHxgV571vGb+YbcLswbWPQjOziIBc5QgwUVZLjA8OkA==
+"@tiptap/extension-bold@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.6.5.tgz#c0efe273266c091a6b2939b6dd15bd89a07bc544"
+ integrity sha512-ey78g9YCOQi+qQ58QBFvWJVIXLQ+9isamshO9lzoc4RdtWDm+WuIUmmyoeneRcQixbVlyvOOMUf7PNKdIZHHtg==
-"@tiptap/extension-bubble-menu@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.6.4.tgz#34c0da755aceee1c67c35fb6f18a16ba786bf163"
- integrity sha512-rtqV6d4qfoTBcXdiYYMpFi7cRhraVaLiGOrGCsHX0mNr4imDbwxVsge279X7IzyGhTvn+kprTTQG57s67Te5aA==
+"@tiptap/extension-bubble-menu@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.6.5.tgz#16fd87a91e5fcbff8e2381aeb0b94f65e22e3ed2"
+ integrity sha512-KIqZnbmIcHEg7ynkkDS7PKqHmsF45FZYeyJGXESrvxwfrvPElTtCwDeNaqmDwb000ljwW7BwiVUj5DjZCJlj2A==
dependencies:
tippy.js "^6.3.7"
-"@tiptap/extension-bullet-list@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.6.4.tgz#92bf05100b72d491ff1db21b752a42f34fe66878"
- integrity sha512-SsEqWNvbcLjgPYQXWT+gm8Mdtd6SnM9kr5xdfOvfe9W1RCYi7U7SQjaYGLGQXuy3E8NDugNiG+ss2POMj4RaUQ==
+"@tiptap/extension-bullet-list@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.6.5.tgz#8de2fde0028f0c051128b31df6e1372454bdf261"
+ integrity sha512-6r1sc7voURIVU1bl6D9iBOJCHRQphQXHRzE2tLENCHdT8nlgO6wRwAIUVaps8Xkckr+WkLEeHTun+AD6bS+Q3A==
-"@tiptap/extension-code-block-lowlight@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.6.4.tgz#1ca7d361999d92ac6b5be46a19ae10fe15e2e849"
- integrity sha512-MSgRoVJdztZ4y+1ffBw3xcUp7R1/p8zuNAHalSPjv3Lm+iNI+QeBoPRE1B4sC1K0NujZqb0F/LYjdXVGSSng1A==
+"@tiptap/extension-code-block-lowlight@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.6.5.tgz#de077f1a237a7d7a766919977336fee66044b9b9"
+ integrity sha512-zb8zQuOBhsVJ3UWTHh1xvPWnpNFA5etuD7rQdzLHXGtowz9DUOqxdMmVMnBcwXE5g5MKQQBJJwqqDw0jGJn/jw==
-"@tiptap/extension-code-block@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.6.4.tgz#2b2941e7bfc8a5ccf909ae6e384e8ba090b72311"
- integrity sha512-dnZYiKVNdHfqZqYgoCElLk8ETLlV3Q0rw3IVDKDTwrhanSSooGfkVts/Gn/jtJUIulRdu8lH/0qZCgM4ihznfw==
+"@tiptap/extension-code-block@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.6.5.tgz#b0a34507ba8c0f6fa59ec9e2ab82b15b55c9bab9"
+ integrity sha512-kV8VAerd3z23zv6vZSVkq0JJs0emzWb3KyrLsiUuhR1Yj+zgcxer3zw4IJlmDeDhp6qIXK/qTgHzNcxS+fV4Rw==
-"@tiptap/extension-code@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.6.4.tgz#5ab8561aecf47576905b6acb8038fc246e836d65"
- integrity sha512-qCt/CRhV+s1E9XVCDxGgFwyQRjcLsqBuY5UTwH3Zp8MIBniyLyJDD0Rv9DgvVqalzRC8RoRxVey9Al3YhYNqsw==
+"@tiptap/extension-code@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.6.5.tgz#0e2cfe32975ddc21afaba1d6ed57295c375deb4f"
+ integrity sha512-zwp1J76CmnPG1kyx8hDSRG6UM7pEIPqSMZMJRYjJMX6n0tGGGzUFFNlcshxnsZeiKOn0KZsi0o1kJN4Pza9xbg==
-"@tiptap/extension-document@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.6.4.tgz#cb0a9c0591ce3e52b12f9cdf7cd2153577f37018"
- integrity sha512-fEQzou6J/w7GWiMqxxiwX2TEB6hgjBsImkHCxU05a4IOnIkzC8C9pV+NWa8u1LGvbERmVPBQqWYJG6phDhtYkg==
+"@tiptap/extension-document@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.6.5.tgz#c536cfe2b49731cfb38d220e5fd8870816346bd9"
+ integrity sha512-3rjyNAW8yAm4jrD8AsD39n/FXZ0PMkqbEN0Uzt4RCfK0Kbi8UcTYgcRCgo+HneqqtUAK/d+5imcbdTP6R2lTCg==
-"@tiptap/extension-dropcursor@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.6.4.tgz#354f25c87da1fe4574d4b2d1251a56a655bc93b4"
- integrity sha512-maTQi2R63i1S3CCJTjyuHMpk0BvnFuUxq7krZ3LBCOJgUeS78PF/XPirbbR7s2jOVsHK77LYsgdoS3ApDu1zdQ==
+"@tiptap/extension-dropcursor@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.6.5.tgz#fbab83a1bab324d90b866cd6d9291492f7a109db"
+ integrity sha512-4Kh/TseGVSwt4eoZ6EcFZiCxhK3wSrUUTwltxdeNQVsCYG1jBfflOhIyy41fMC8N73KlnaLjQXsCvesUNx/X2Q==
-"@tiptap/extension-floating-menu@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.6.4.tgz#bc5d001abc9d713c154230b1e42163216bccdf74"
- integrity sha512-oF5utOabYQ/a0Mpt3RS21NKtz2Kd8jnwHOw+4nMgis8Crb0eO5gizWqWMyktLU7oVFU/v8CKTqMBJOAmF4a+eA==
+"@tiptap/extension-floating-menu@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.6.5.tgz#99d0a93688383db4a7e22c3dfdb2d45cbb08623d"
+ integrity sha512-RrGNBvpvklZH5n3iIeTgrKVH07n6ozb7IZ60T5idhxedWBtvbEAou3Y9XlCqOhNgooHiCqWkiV4dPngk51G2Yg==
dependencies:
tippy.js "^6.3.7"
-"@tiptap/extension-gapcursor@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.6.4.tgz#19221791b4726968ff4002a262a70bd2ba200ebc"
- integrity sha512-g5fa1RLNpFZoiE5PIvG/pFIz88CvtiWkBUp5OOYrPxNzByazcbBsBI8Sa5ptDVrbDqerayUZYAVFPhXnq7MSlQ==
+"@tiptap/extension-gapcursor@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.6.5.tgz#7a0222fcd544b3bf5adf1dcc496447ad7df87586"
+ integrity sha512-ga6bSmvcd0YuM6xKMg4E8YzzIPWbT9oZOIM2euNLPCZHDlIeUeNewbNa9exPotg1GZJIrYO52dKvOSJ+U0dVqA==
-"@tiptap/extension-hard-break@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.6.4.tgz#1f592e6ac94118c5e455b274a1072d010917b33e"
- integrity sha512-kBGGSBtp9oQlRBH7PfRvhbrauEphiJEuFUP9n/amAbrrNSabwmvBgyMl6wFXgMdfHF6CSv2YDgndE1sk8SjPSg==
+"@tiptap/extension-hard-break@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.6.5.tgz#0abd96c48c2eed2877b2a1e9247aa7ea45e96be1"
+ integrity sha512-5DcI6hDm3pw5I1jWwzNo/tx/2Nx+as4Nl6Stk3tJO1WPKCWPWouyR62EHyzhgMqcPFKRUWtWpeHag2rGDoY4Bw==
-"@tiptap/extension-heading@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.6.4.tgz#d1d5442c71f5a3c466c93289d021c0eecd1f7f6f"
- integrity sha512-GHwDguzRXRrB5htGPx6T0f0uN9RPAkjbjrl28T7LFXX5Lb2XO+Esr1l4LNsTU49H4wR9nL/89ZjEcd36BUWkog==
+"@tiptap/extension-heading@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.6.5.tgz#09781cb249cb2029db40b15caed722c62f289cb9"
+ integrity sha512-H7WqddzURXUptUznPWqW988mVK1HwghSwKYNTvcw3BHUI6nbVK2UJQyZUV3+XDDru2W77lXwvmBTw8xglPkHlg==
-"@tiptap/extension-highlight@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.6.4.tgz#67012fde696a0b47a41006dc48a8d1a3ce75c507"
- integrity sha512-PAxZyRKEBt3LB2/s2mBLoPmKRzomIqq2pI+WLqf2Xdkn1UuVPOQEHj9XGvyIG5E6lbMa6CpJSfRDDzN0W4OMMw==
+"@tiptap/extension-highlight@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.6.5.tgz#521acf75a1fab50f0fe4e825a30d042ab0115995"
+ integrity sha512-4MFOO/iqnkFuwmd8clAXurP8c2kHNhtzwx+ElYVH4z21v9JXDM8rX6LQEQZaUlTGs6CXk2oAqnXxpWXkoguD4w==
-"@tiptap/extension-history@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.6.4.tgz#bc9271a401736d1a2066a563c2a143decd1a08d3"
- integrity sha512-Hr3SrvMsyDHKcsF4u3QPdY/NBYG9V0g5pPmZs/tdysXot3NUdkEYowjs9K9o5osKom364KjxQS0c9mOjyeKu1g==
+"@tiptap/extension-history@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.6.5.tgz#ff13dce85338f86614f40958beff6773a872a484"
+ integrity sha512-zDCXiVKfqii0D+Q9lu65skW3+4Jqzicge+sw42YBQp4H7jXLJC55QoLuctwhl4iGXliiWnobRpotTPdaUXYhoA==
-"@tiptap/extension-horizontal-rule@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.6.4.tgz#ed5a7ae83ab6fe4e5683b8b2f8eb81eaf294b2dc"
- integrity sha512-lL29Hxsj1qFwRqtg41JlBOK/hmN+qnwIWvNCyZpKEVHs7d0iELj2REB/7R1KKAAdsvYo7pJrgqwBd1Ph6xRLpw==
+"@tiptap/extension-horizontal-rule@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.6.5.tgz#7f1021757a29779bbecf6e3a9a8682774ab209b8"
+ integrity sha512-NzbbzR9VQ0YY/NbjiRxuk7k1M0GfCx327I/TXc7/0YTQ2Am3QvOtrnpwQsM4P9920yhc6QT65ZP63LXcJFkiBg==
-"@tiptap/extension-image@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.6.4.tgz#fa2e7a8d4050a4bade76cef24e20ca45f38fc638"
- integrity sha512-uc2JA1qnZ6X33di3RTIDfE9oaJeWKyE6aJdWDt5OXPOW60kPKO8PIxy9n11O8v0oVb/+bZ9cnPu9UpSnJVaUCg==
+"@tiptap/extension-image@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.6.5.tgz#6616a0ca6fc37ba87bcf58ee750c6a0544746356"
+ integrity sha512-JDwjtGMzcPd9aq2+3LjNoZpwsDaRrKr+Eam3WfBrmses9avezb5ajSU0aSECkUvIDvgzOm4W3Kemep9zsNdrjA==
-"@tiptap/extension-italic@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.6.4.tgz#38a4056f9d3268879f32b1680d94d380f978ed78"
- integrity sha512-XG/zaKVuorKr1vGEWEgLQTnQwOpNn/JyGxO7oC7wfYx5eYpbbCtMTEMvuqNvkm7kpvVAUx3ugi/D8DWyWZEtYg==
+"@tiptap/extension-italic@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.6.5.tgz#339f4ad0d7783fffc76e8f41f4b5bff2877a0898"
+ integrity sha512-g+OC1KcgKu3xhaydTRDcw/Ydr+EEAVLelmtwNILv5UfypFDvcYZRQNqF5/m2ZJ6kjtXQQ8whC3ddMGUgxs29Bg==
-"@tiptap/extension-link@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.6.4.tgz#dabae0d6301e4d016671d0f72d0159626c332f71"
- integrity sha512-Uwx9J0lfNZFYYGDDoomTB35CzEx9RDBzoIoKXjLWU+RXxAZzwgx+8W3F6otnyjrm5AcNf67JLzcvCFFN7FtrQQ==
+"@tiptap/extension-link@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.6.5.tgz#746ce975384c7add3897cc1ff85a27976f12fff7"
+ integrity sha512-AZCATebxJJdt4sJCkrbhTZZpyU2uqfLz7qv9FaVSUdYEMCDSFEDVfBhN5rKG+ZsXrrDo6fX7JO1xgkXGPWJNBw==
dependencies:
linkifyjs "^4.1.0"
-"@tiptap/extension-list-item@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.6.4.tgz#496a3f1e217b3bcadf6118f24aacb365c62dc9db"
- integrity sha512-NLP0nshX8eCZMLospdCsUApUQHPL1+T/MIi/Hhr0aNeaAg7KwBNH8/rFPuxPNs4BQkHOCuYq4Fm+klkebkFYJA==
+"@tiptap/extension-list-item@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.6.5.tgz#7fd6a9ba9653266352d35abdd1d6248b9105383a"
+ integrity sha512-Ks/m2spl3t3pX8W23H1clq0CQ2cGrLKdPxpSn3DAbZxYjT3SF7jpJaG3e+MKKh84PcjY0Xa3FextuLFRSLlgOw==
-"@tiptap/extension-ordered-list@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.6.4.tgz#2bfc22acdfe6f2c18a8e93c18393e04792c238b2"
- integrity sha512-ecAEFpRKZc+b3f54EGvaRp7hsVza2i1nRhxHoPElqVR5DiCCSuSgAPCsKhUUT1rKweK9h56HiC4xswAyFrU5Ag==
+"@tiptap/extension-ordered-list@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.6.5.tgz#c79d8edc0fbb1e470eefda16176e5a9778bf8a80"
+ integrity sha512-brTZiwS3Lg3bFXCJABfJ1UOLiX08BNnWw/mOBYuKsnBvIPJQpJ98C1galnX77ihsjFtAUdVdm7xlwcX2q5x8Yg==
-"@tiptap/extension-paragraph@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.6.4.tgz#3f713aac2b53933cf87d6383c908090fdf15a3f6"
- integrity sha512-JVlvhZPzjz0Q+29KmnrmLr3A3SvAMfKOZxbZZVnzee6vtI6rqjdYGBOtyyyWwrAliNQB6GkHiKmT3GxH76dz7A==
+"@tiptap/extension-paragraph@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.6.5.tgz#e76af1d3f03bae543f3afd2269efdc2dfc16edcb"
+ integrity sha512-RGevQMVpqTxuU9Gz2G4STOVcqoP9i9Fc0QurM/B0mDjs5onzCCJLd6qIqxuT7WfFYILe8q3QIu8KB+XGmvmobQ==
-"@tiptap/extension-strike@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.6.4.tgz#aeb6253a996e74a1cb245b2688019a230b446d2e"
- integrity sha512-EV4hEA5qnRtKViaLKcucFvXP9xEUJOFgpFeOrp2xIgSXJLSmutkaDfz7nxJ2RLzwwYvPfWUL7ay97JSCzSuaIA==
+"@tiptap/extension-strike@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.6.5.tgz#4c9634e8f384d9d809c12debdd5d00194f11e57b"
+ integrity sha512-ehA++vHPMmLNhfjKFDHJR6FAh3wziIfehaZShuvkjlF7mryTa19y7KJem+8d0wv2w5AwoFOMBJmC7EBXyG0boQ==
-"@tiptap/extension-subscript@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.6.4.tgz#af10a976c5430a3fc8c4ff3d05f14bdd1310e4dd"
- integrity sha512-JPKkQQUYleVzzoYCzL6n4dfd1WQb4kVRWfFYqDDxBqSP7X59uAiNP5ouoBqbz8Sx4szIBhmoDqET2TN5F7GvgQ==
+"@tiptap/extension-subscript@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.6.5.tgz#0d67f0a9503f8b6361def0f2f8fc46982d684779"
+ integrity sha512-6xNJjUqvn1XN6GvB7W+kUrxMj/r7aC/6Tb3JPtqnagxo8cdAiuU2wgRtmuqjhdzRdA7vHGnzhjRpyd0r9W9JPg==
-"@tiptap/extension-superscript@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.6.4.tgz#fe5085ec8375584027ae1ab7679ba03c3deae7f1"
- integrity sha512-CAxv7v7R0LtG0uZUdHl1wD2os2SMLvjz3Hy3WjZAgLo5yBWu1liEzoagNLv7zsKfYqS+h42Lh9+JbgcZqvNYOQ==
+"@tiptap/extension-superscript@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.6.5.tgz#82b18d4d81a13943fd890b98bd968cea2a8faf05"
+ integrity sha512-IaisTroP4PrZmSpAZvHDuzgBv4DvErS16EcT8hBlMIo3PzgDqSCAHBLq0nf4IxU4rLO0me5Ra9FbieoQtOqw+A==
-"@tiptap/extension-table-cell@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.6.4.tgz#9e8696ba131ea1c042a35e36b033819f05046335"
- integrity sha512-nI5mSg8LTgwiJr/SY/cQb/FFlaiiANu6kMHHx4Wc1YHcGLw+2XybKNN4d6RzCBbJF2VvjrtsvVOrRJIeCNvtNg==
+"@tiptap/extension-table-cell@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.6.5.tgz#8ca6f7178d61c18c947c4e3749e8d53a99a2d825"
+ integrity sha512-Y5haD7K4NbQcXmPt7LhDwCUfxNffwD7tT+tX5ZTYVfTcoWt+cjgSoDfRHuTdX9IAsLI66JZpkSsrQ6oMrVXxOQ==
-"@tiptap/extension-table-header@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.6.4.tgz#ee6ff8c85978ffc3e6c8254433b1ed3dd996d53b"
- integrity sha512-/N6gav9qBo4Ne43WDcqrXvlw24BOzD4BoT8mFsfukBOlvYp2r7Ug6Vapxg1INyr+U/X0ph+SPfDmVClXn/hh6Q==
+"@tiptap/extension-table-header@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.6.5.tgz#d0160842db9d497b33ef9ce9e4aacf72f288bd9f"
+ integrity sha512-yGUJfRNfs5+2dAguyxpQgnjpNptXkh8FdRrEum/fdk/xSnRfIrt+s7Vzael2JljyyX2g0eoE5s8xcB6CSNiyfQ==
-"@tiptap/extension-table-row@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.6.4.tgz#8ded685dea96e686c965189bde31af5cc80ae5b5"
- integrity sha512-ySTmLfAdW8yA+JXKkXPRGHrauVHZSkh1SxbATMbFyWJ6GxciI95VC4ucW/rNN6Ix9UdwXVrZbIIOkd+MARdYPQ==
+"@tiptap/extension-table-row@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.6.5.tgz#8d13e78bd0277635a4f12d1a773e908701fb9072"
+ integrity sha512-gI4cDRpuEUwQAn3M8HShiFQNdza3i7BjnUWbP8jxatPiJWdOsbcLQwlmA282d2RbjUT9odedy1PV4Bgk1BNj+w==
-"@tiptap/extension-table@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.6.4.tgz#77434795801ac0a8c8dd1c5c0f3a22962eb7b390"
- integrity sha512-rQm1HWUVh7Idw/kGfIbh/FP+oKrZ3ISyxOflRaNXAB/H9fCfSejgZf7WZH+RHCnWvGfNCD24auE5E1wS+Eqs+Q==
+"@tiptap/extension-table@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.6.5.tgz#a5da9da37d68f2fc83c08a16d7e6a724f6c69947"
+ integrity sha512-qIYAGtJQPMvcdSAtYaNYmRFESigBReed8Fac4U/g+rC/Ucs5sandzHTbZZOU/Wgiu4N8zphfenZeEB6FRGdarw==
-"@tiptap/extension-task-item@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.6.4.tgz#b8fb4f91a5ab1a2b641b2c026ca9731a19861503"
- integrity sha512-DPtXO7VdYd+GsLyl8ZAVf2+KsAeYNEZ3HwWLERFoMBHA5JYvfA/aA1VanE7FAWb3KD9V76BSP4oDKmkyxWt+yw==
+"@tiptap/extension-task-item@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.6.5.tgz#2c406db33987d5cd16c635a17dc18ccf32160d75"
+ integrity sha512-RX6S9OVb4AEZ+hdMlBp1jIRRzdxIPnxSAeyJeRwg7Asx04Qm8M10tV6GfGkOdBvSWdgsgIRo9kNctq2lSZl20Q==
-"@tiptap/extension-task-list@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.6.4.tgz#36d52616057a4b48719e2d823a2b5cc36ac5580a"
- integrity sha512-ennPydfDoO9mKlitoBaybX7okNxzWwQ/2es7EtCC+jS14akBsEuWM8TA/a6P6EJAXNqx6IN+ADZJVYIdUqdabw==
+"@tiptap/extension-task-list@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.6.5.tgz#c8ee7c358d5f6d5839c74e29cba00649dd227ab1"
+ integrity sha512-fSp65hDG/A+kPnP7uX+kTz0OVmnu+ZhNHqIVLVPu3/sYej+71kF4SY7V0ur6vJ4hrp8sAEnS7p5b8Rp1cXohqg==
-"@tiptap/extension-text@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.6.4.tgz#b03c234dbaa69d1e9bec3f50e7a80f51c882e94d"
- integrity sha512-QfspuCTTpmFrSLbDs2z/0W7GLaoNanwj4OCKPSPz5XcraZJgFLsWAqZxZE4aLgZbJH2hcGWMe5ZHmvLf5dJogw==
+"@tiptap/extension-text@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.6.5.tgz#4f48fdbc6d72d4400c9d0fa7577a9ff06db431ac"
+ integrity sha512-ItYw4K2EjP4yNBP2BVa77kimdvpsEqDy0Iic+d46F3SM60wLMhp1qmauZhwk5oo89sDuMz3DI0p+R4lI43wprA==
-"@tiptap/pm@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.6.4.tgz#19e467cf66e98cf2342f25ca5d33af5808a2293f"
- integrity sha512-k/AyigUioZVxFTcF7kWcUh5xeOV0bdGzHz+wmtP33md2jo8SJP29yEZ4Kshvk0IcFnVFEDrsfKiGhLRWpKx+YQ==
+"@tiptap/pm@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.6.5.tgz#8b87201f4df9173cf0a995a1628270148a59fdba"
+ integrity sha512-5n7O7MdVATwJTNMs5mW0qngtIfaxzBXnkO6gaQj169HgmDHKA0ST60r/G6r6yQ/QU6UCt6ey9Stgr7ko1eU1NQ==
dependencies:
prosemirror-changeset "^2.2.1"
prosemirror-collab "^1.3.1"
@@ -2826,18 +2826,18 @@
prosemirror-transform "^1.9.0"
prosemirror-view "^1.33.9"
-"@tiptap/suggestion@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.6.4.tgz#47019e5e628365e3c4eca6c00494c73cbdc963dd"
- integrity sha512-t4GOEcsVSCwTlugHjZdK5Swe6or/tBej5E3ZWYOFHxkNLDod76Q7hvAeBPYrLeDo6m3sPnxrazfdqSeVclk72g==
+"@tiptap/suggestion@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.6.5.tgz#0bf4dcc3afcbb451e888a3012bf9d7bd7595d157"
+ integrity sha512-yjJUwhkHTfGNOt/zzGRVrkNyBkkfU42mmqCntbrggAVbkw2QDD7QqDpYZOqLGADnkfct6DYiDQHXh1pMYi+Caw==
-"@tiptap/vue-2@^2.6.4":
- version "2.6.4"
- resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.6.4.tgz#dbeafb9407269230748822668e49c76f88664955"
- integrity sha512-NHd+IuJ1Mp7gmXbk6xNREwjsZa1pTKRwTvXLSJDNQscQrdvuyexa8lkljrzpdC6dvDqlsYPCR5yDlDIJPn8M6g==
+"@tiptap/vue-2@^2.6.5":
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.6.5.tgz#b482b15dc36d68fa636a80229eea71b7f05d1b3e"
+ integrity sha512-ImRX66HystlljLGeQQErC2Y+32dcxsMM/3zIdGXaSIpt1ZF7iQkeC55UF8pR5u8Nbpgf13XqTZJUOPI7z3B2xw==
dependencies:
- "@tiptap/extension-bubble-menu" "^2.6.4"
- "@tiptap/extension-floating-menu" "^2.6.4"
+ "@tiptap/extension-bubble-menu" "^2.6.5"
+ "@tiptap/extension-floating-menu" "^2.6.5"
vue-ts-types "^1.6.0"
"@tootallnate/once@2":
@@ -12219,29 +12219,29 @@ robust-predicates@^3.0.0:
resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.1.tgz#ecde075044f7f30118682bd9fb3f123109577f9a"
integrity sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==
-rollup@^4.13.0:
- version "4.14.3"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.14.3.tgz#bcbb7784b35826d3164346fa6d5aac95190d8ba9"
- integrity sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==
+rollup@^4.20.0:
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.21.0.tgz#28db5f5c556a5180361d35009979ccc749560b9d"
+ integrity sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==
dependencies:
"@types/estree" "1.0.5"
optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.14.3"
- "@rollup/rollup-android-arm64" "4.14.3"
- "@rollup/rollup-darwin-arm64" "4.14.3"
- "@rollup/rollup-darwin-x64" "4.14.3"
- "@rollup/rollup-linux-arm-gnueabihf" "4.14.3"
- "@rollup/rollup-linux-arm-musleabihf" "4.14.3"
- "@rollup/rollup-linux-arm64-gnu" "4.14.3"
- "@rollup/rollup-linux-arm64-musl" "4.14.3"
- "@rollup/rollup-linux-powerpc64le-gnu" "4.14.3"
- "@rollup/rollup-linux-riscv64-gnu" "4.14.3"
- "@rollup/rollup-linux-s390x-gnu" "4.14.3"
- "@rollup/rollup-linux-x64-gnu" "4.14.3"
- "@rollup/rollup-linux-x64-musl" "4.14.3"
- "@rollup/rollup-win32-arm64-msvc" "4.14.3"
- "@rollup/rollup-win32-ia32-msvc" "4.14.3"
- "@rollup/rollup-win32-x64-msvc" "4.14.3"
+ "@rollup/rollup-android-arm-eabi" "4.21.0"
+ "@rollup/rollup-android-arm64" "4.21.0"
+ "@rollup/rollup-darwin-arm64" "4.21.0"
+ "@rollup/rollup-darwin-x64" "4.21.0"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.21.0"
+ "@rollup/rollup-linux-arm-musleabihf" "4.21.0"
+ "@rollup/rollup-linux-arm64-gnu" "4.21.0"
+ "@rollup/rollup-linux-arm64-musl" "4.21.0"
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.21.0"
+ "@rollup/rollup-linux-riscv64-gnu" "4.21.0"
+ "@rollup/rollup-linux-s390x-gnu" "4.21.0"
+ "@rollup/rollup-linux-x64-gnu" "4.21.0"
+ "@rollup/rollup-linux-x64-musl" "4.21.0"
+ "@rollup/rollup-win32-arm64-msvc" "4.21.0"
+ "@rollup/rollup-win32-ia32-msvc" "4.21.0"
+ "@rollup/rollup-win32-x64-msvc" "4.21.0"
fsevents "~2.3.2"
rope-sequence@^1.3.0:
@@ -14138,14 +14138,14 @@ vite-plugin-ruby@^5.0.0:
debug "^4.3.4"
fast-glob "^3.3.2"
-vite@^5.4.1:
- version "5.4.1"
- resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.1.tgz#2aa72370de824d23f53658affd807e4c9905b058"
- integrity sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==
+vite@^5.4.2:
+ version "5.4.2"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.2.tgz#8acb6ec4bfab823cdfc1cb2d6c53ed311bc4e47e"
+ integrity sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==
dependencies:
esbuild "^0.21.3"
postcss "^8.4.41"
- rollup "^4.13.0"
+ rollup "^4.20.0"
optionalDependencies:
fsevents "~2.3.3"