Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2023-12-01 15:10:12 +00:00
parent 79c94e595b
commit c3ddbeb162
80 changed files with 486 additions and 487 deletions

View File

@ -15,6 +15,7 @@ import notesEventHub from '~/notes/event_hub';
import { generateTreeList } from '~/diffs/utils/tree_worker_utils';
import { sortTree } from '~/ide/stores/utils';
import { containsSensitiveToken, confirmSensitiveAction } from '~/lib/utils/secret_detection';
import { isCollapsed } from '~/diffs/utils/diff_file';
import {
PARALLEL_DIFF_VIEW_TYPE,
INLINE_DIFF_VIEW_TYPE,
@ -73,6 +74,7 @@ import {
prepareLineForRenamedFile,
parseUrlHashAsFileHash,
isUrlHashNoteLink,
findDiffFile,
} from './utils';
export const setBaseConfig = ({ commit }, options) => {
@ -1041,8 +1043,15 @@ export function reviewFile({ commit, state }, { file, reviewed = true }) {
export const disableVirtualScroller = ({ commit }) => commit(types.DISABLE_VIRTUAL_SCROLLING);
export const toggleFileCommentForm = ({ commit }, filePath) =>
commit(types.TOGGLE_FILE_COMMENT_FORM, filePath);
export const toggleFileCommentForm = ({ state, commit }, filePath) => {
const file = findDiffFile(state.diffFiles, filePath, 'file_path');
if (isCollapsed(file)) {
commit(types.SET_FILE_COMMENT_FORM, { filePath, expanded: true });
} else {
commit(types.TOGGLE_FILE_COMMENT_FORM, filePath);
}
commit(types.SET_FILE_COLLAPSED, { filePath, collapsed: false });
};
export const addDraftToFile = ({ commit }, { filePath, draft }) =>
commit(types.ADD_DRAFT_TO_FILE, { filePath, draft });

View File

@ -53,4 +53,5 @@ export const TOGGLE_LINE_DISCUSSIONS = 'TOGGLE_LINE_DISCUSSIONS';
export const DISABLE_VIRTUAL_SCROLLING = 'DISABLE_VIRTUAL_SCROLLING';
export const TOGGLE_FILE_COMMENT_FORM = 'TOGGLE_FILE_COMMENT_FORM';
export const SET_FILE_COMMENT_FORM = 'SET_FILE_COMMENT_FORM';
export const ADD_DRAFT_TO_FILE = 'ADD_DRAFT_TO_FILE';

View File

@ -394,6 +394,11 @@ export default {
file.hasCommentForm = !file.hasCommentForm;
},
[types.SET_FILE_COMMENT_FORM](state, { filePath, expanded }) {
const file = findDiffFile(state.diffFiles, filePath, 'file_path');
file.hasCommentForm = expanded;
},
[types.ADD_DRAFT_TO_FILE](state, { filePath, draft }) {
const file = findDiffFile(state.diffFiles, filePath, 'file_path');

View File

@ -562,7 +562,7 @@ export default {
<slot name="header">
<issue-header
class="gl-p-0 gl-mt-2 gl-sm-mt-0"
class="gl-p-0 gl-mt-2"
:class="headerClasses"
:author="author"
:confidential="isConfidential"

View File

@ -308,7 +308,7 @@ export default {
<template>
<div class="detail-page-header-actions gl-display-flex gl-align-self-start gl-sm-gap-3">
<div class="gl-sm-display-none! w-100">
<div class="gl-md-display-none! gl-w-full">
<gl-disclosure-dropdown
v-if="hasMobileDropdown"
ref="issuableActionsDropdownMobile"
@ -398,7 +398,7 @@ export default {
v-gl-tooltip.bottom
:title="$options.i18n.editTitleAndDescription"
:aria-label="$options.i18n.editTitleAndDescription"
class="js-issuable-edit gl-display-none! gl-sm-display-block!"
class="js-issuable-edit gl-display-none! gl-md-display-block!"
data-testid="edit-button"
@click="edit"
>
@ -410,7 +410,7 @@ export default {
id="new-actions-header-dropdown"
ref="issuableActionsDropdownDesktop"
v-gl-tooltip.hover
class="gl-display-none gl-sm-display-inline-flex!"
class="gl-display-none gl-md-display-inline-flex!"
icon="ellipsis_v"
category="tertiary"
placement="left"

View File

@ -133,8 +133,7 @@ export default {
item.classList.toggle('gl-display-none', !isSummaryTab);
});
editButton?.classList.toggle('gl-display-none', !isSummaryTab);
editButton?.classList.toggle('gl-sm-display-inline-flex!', isSummaryTab);
editButton?.classList.toggle('gl-md-display-block!', isSummaryTab);
}
},
},

View File

@ -54,7 +54,7 @@ export default {
<template>
<div
class="gl-display-flex gl-align-items-flex-start gl-flex-direction-column gl-sm-flex-direction-row gl-gap-3 gl-pt-3"
class="gl-display-flex gl-align-items-flex-start gl-flex-direction-column gl-md-flex-direction-row gl-gap-3 gl-pt-3"
>
<h1
v-safe-html="titleHtml"

View File

@ -155,8 +155,8 @@ export default {
</script>
<template>
<div class="detail-page-header gl-flex-direction-column gl-sm-flex-direction-row">
<div class="detail-page-header-body gl-flex-wrap gl-gap-2">
<div class="detail-page-header gl-flex-direction-column gl-md-flex-direction-row">
<div class="detail-page-header-body gl-flex-wrap gl-column-gap-2">
<gl-badge :variant="badgeVariant" data-testid="issue-state-badge">
<gl-icon v-if="statusIcon" :name="statusIcon" :class="statusIconClass" />
<span class="gl-display-none gl-sm-display-block" :class="{ 'gl-ml-2': statusIcon }">

View File

@ -0,0 +1,27 @@
# frozen_string_literal: true
module AutocompleteSources
module ExpiresIn
extend ActiveSupport::Concern
AUTOCOMPLETE_EXPIRES_IN = 3.minutes
AUTOCOMPLETE_CACHED_ACTIONS = [:members, :commands, :labels].freeze
included do
before_action :set_expires_in, only: AUTOCOMPLETE_CACHED_ACTIONS
end
private
def set_expires_in
case action_name.to_sym
when :members
expires_in AUTOCOMPLETE_EXPIRES_IN if Feature.enabled?(:cache_autocomplete_sources_members, current_user)
when :commands
expires_in AUTOCOMPLETE_EXPIRES_IN if Feature.enabled?(:cache_autocomplete_sources_commands, current_user)
when :labels
expires_in AUTOCOMPLETE_EXPIRES_IN if Feature.enabled?(:cache_autocomplete_sources_labels, current_user)
end
end
end
end

View File

@ -1,6 +1,8 @@
# frozen_string_literal: true
class Groups::AutocompleteSourcesController < Groups::ApplicationController
include AutocompleteSources::ExpiresIn
feature_category :groups_and_projects, [:members]
feature_category :team_planning, [:issues, :labels, :milestones, :commands]
feature_category :code_review_workflow, [:merge_requests]
@ -8,11 +10,6 @@ class Groups::AutocompleteSourcesController < Groups::ApplicationController
urgency :low, [:issues, :labels, :milestones, :commands, :merge_requests, :members]
def members
if Feature.enabled?(:cache_autocomplete_sources_members, current_user)
# Cache the response on the frontend
expires_in 3.minutes
end
render json: ::Groups::ParticipantsService.new(@group, current_user).execute(target)
end

View File

@ -1,6 +1,8 @@
# frozen_string_literal: true
class Projects::AutocompleteSourcesController < Projects::ApplicationController
include AutocompleteSources::ExpiresIn
before_action :authorize_read_milestone!, only: :milestones
before_action :authorize_read_crm_contact!, only: :contacts
@ -13,11 +15,6 @@ class Projects::AutocompleteSourcesController < Projects::ApplicationController
urgency :low, [:issues, :labels, :milestones, :commands, :contacts]
def members
if Feature.enabled?(:cache_autocomplete_sources_members, current_user)
# Cache the response on the frontend
expires_in 3.minutes
end
render json: ::Projects::ParticipantsService.new(@project, current_user).execute(target)
end

View File

@ -0,0 +1,8 @@
---
name: approval_group_rules
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137268
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432248
milestone: '16.7'
type: development
group: 'group::source code'
default_enabled: false

View File

@ -0,0 +1,8 @@
---
name: cache_autocomplete_sources_commands
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138226
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433168
milestone: '16.7'
type: development
group: group::global search
default_enabled: false

View File

@ -0,0 +1,8 @@
---
name: cache_autocomplete_sources_labels
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138226
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/433170
milestone: '16.7'
type: development
group: group::global search
default_enabled: false

View File

@ -0,0 +1,8 @@
---
name: group_level_vulnerability_report_grouping
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137778
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432778
milestone: '16.7'
type: development
group: group::threat insights
default_enabled: false

View File

@ -181,7 +181,6 @@ options:
- p_ci_templates_terraform_module_base
- p_ci_templates_terraform_module
- p_ci_templates_pages_zola
- p_ci_templates_diffblue_cover
distribution:
- ce
- ee

View File

@ -1,24 +0,0 @@
---
key_path: redis_hll_counters.ci_templates.p_ci_templates_diffblue_cover_monthly
description: Count of pipelines using the Diffblue Cover template
product_section: ci
product_stage: pipeline_authoring
product_group: pipeline_authoring
value_type: number
status: active
milestone: "16.7"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137047
time_frame: 28d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
distribution:
- ce
- ee
tier:
- free
- premium
- ultimate
options:
events:
- p_ci_templates_diffblue_cover

View File

@ -182,7 +182,6 @@ options:
- p_ci_templates_terraform_module_base
- p_ci_templates_terraform_module
- p_ci_templates_pages_zola
- p_ci_templates_diffblue_cover
distribution:
- ce
- ee

View File

@ -1,24 +0,0 @@
---
key_path: redis_hll_counters.ci_templates.p_ci_templates_diffblue_cover_weekly
description: Count of pipelines using the Diffblue Cover template
product_section: ci
product_stage: pipeline_authoring
product_group: pipeline_authoring
value_type: number
status: active
milestone: "16.7"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137047
time_frame: 7d
data_source: redis_hll
data_category: optional
instrumentation_class: RedisHLLMetric
distribution:
- ce
- ee
tier:
- free
- premium
- ultimate
options:
events:
- p_ci_templates_diffblue_cover

View File

@ -117,8 +117,7 @@ This allows the administrator to "see what the user sees," and take actions on b
You can impersonate a user in the following ways:
- Through the UI:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Users**.
1. From the list of users, select a user.
1. Select **Impersonate**.

View File

@ -167,8 +167,7 @@ may see the following message: `Access denied for your LDAP account`.
We have a workaround, based on toggling the access level of affected users:
1. As an administrator, on the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Users**.
1. Select the name of the affected user.
1. In the upper-right corner, select **Edit**.
@ -368,8 +367,7 @@ things to debug the situation.
- Ensure the correct [LDAP group link is added to the GitLab group](ldap_synchronization.md#add-group-links).
- Check that the user has an LDAP identity:
1. Sign in to GitLab as an administrator user.
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Users**.
1. Search for the user.
1. Open the user by selecting their name. Do not select **Edit**.

View File

@ -88,8 +88,7 @@ To prepare the new server:
```
1. Disable periodic background jobs:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. Under the Sidekiq dashboard, select **Cron** tab and then
**Disable All**.

View File

@ -40,8 +40,7 @@ An administrator can flag a user as external by either of the following methods:
- [Through the API](../api/users.md#user-modification).
- Using the GitLab UI:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Users** to create a new user or edit an existing one.
There, you can find the option to flag the user as external.

View File

@ -98,8 +98,7 @@ sudo gitlab-rake geo:verification:wiki:reset
If the **primary** and **secondary** sites have a checksum verification mismatch, the cause may not be apparent. To find the cause of a checksum mismatch:
1. On the **primary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Projects**.
1. Find the project that you want to check the checksum differences and
select its name.

View File

@ -208,8 +208,7 @@ be disabled on the **primary** site:
1. If you are manually replicating any data not managed by Geo, trigger the
final replication process now.
1. On the **primary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. On the Sidekiq dashboard, select **Queues**, and wait for all queues except
those with `geo` in the name to drop to 0.
@ -224,8 +223,7 @@ be disabled on the **primary** site:
- The Geo log cursor is up to date (0 events behind).
1. On the **secondary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. On the Sidekiq dashboard, select **Queues**, and wait for all the `geo`
queues to drop to 0 queued and 0 running jobs.

View File

@ -104,8 +104,7 @@ follow these steps to avoid unnecessary data loss:
[data not managed by Geo](../../replication/datatypes.md#limitations-on-replicationverification),
trigger the final replication process now.
1. On the **primary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. On the Sidekiq dashboard, select **Queues**, and wait for all queues except
those with `geo` in the name to drop to 0.
@ -120,8 +119,7 @@ follow these steps to avoid unnecessary data loss:
- The Geo log cursor is up to date (0 events behind).
1. On the **secondary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. On the Sidekiq dashboard, select **Queues**, and wait for all the `geo`
queues to drop to 0 queued and 0 running jobs.

View File

@ -115,8 +115,7 @@ follow these steps to avoid unnecessary data loss:
connection.
1. On the **primary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**..
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. On the Sidekiq dashboard, select **Cron**.
1. Select `Disable All` to disable any non-Geo periodic background jobs.
@ -134,8 +133,7 @@ follow these steps to avoid unnecessary data loss:
[data not managed by Geo](../../replication/datatypes.md#limitations-on-replicationverification),
trigger the final replication process now.
1. On the **primary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. On the Sidekiq dashboard, select **Queues**, and wait for all queues except
those with `geo` in the name to drop to 0.
@ -150,8 +148,7 @@ follow these steps to avoid unnecessary data loss:
- The Geo log cursor is up to date (0 events behind).
1. On the **secondary** site:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Monitoring > Background Jobs**.
1. On the Sidekiq dashboard, select **Queues**, and wait for all the `geo`
queues to drop to 0 queued and 0 running jobs.

View File

@ -217,8 +217,7 @@ In the following steps, replace `<ssh_host_key_path>` with the one you're using:
```
1. Navigate to the Primary Node GitLab Instance:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Geo > Sites**.
1. Select **Add site**.
![Add secondary site](img/adding_a_secondary_v15_8.png)

View File

@ -683,7 +683,7 @@ when checking the database.
### Message: `FATAL: could not map anonymous shared memory: Cannot allocate memory`
If you see this message, it means that the secondary site's PostgreSQL tries to request memory that is higher than the available memory. There is an [issue](https://gitlab.com/gitlab-org/gitlab/-/issues/381585) that tracks this problem.
If you see this message, it means that the secondary site's PostgreSQL tries to request memory that is higher than the available memory. There is an [issue](https://gitlab.com/gitlab-org/gitlab/-/issues/381585) that tracks this problem.
Example error message in Patroni logs (located at `/var/log/gitlab/patroni/current` for Linux package installations):

View File

@ -306,8 +306,7 @@ secondary site is a read-only copy.
```
1. Go to the primary node GitLab instance:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**..
1. Select **Geo > Sites**.
1. Select **Add site**.

View File

@ -552,8 +552,7 @@ You must manually replicate the secret file across all of your secondary sites,
```
1. Navigate to the primary node GitLab instance:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Geo > Sites**.
1. Select **Add site**.

View File

@ -1326,8 +1326,7 @@ Particular attention should be shown to:
1. Check that the Praefect storage is configured to store new repositories:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > Repository**.
1. Expand the **Repository storage** section.

View File

@ -21,8 +21,7 @@ Maintenance Mode allows most external actions that do not change internal state.
Enable Maintenance Mode as an administrator in one of these ways:
- **Web UI**:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand **Maintenance Mode**, and toggle **Enable Maintenance Mode**.
You can optionally add a message for the banner as well.
@ -46,8 +45,7 @@ Enable Maintenance Mode as an administrator in one of these ways:
Disable Maintenance Mode in one of three ways:
- **Web UI**:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand **Maintenance Mode**, and toggle **Enable Maintenance Mode**.
You can optionally add a message for the banner as well.

View File

@ -140,8 +140,7 @@ This overview is brief. Refer to the above instructions for more context.
1. [Rebuild the `authorized_keys` file](../raketasks/maintenance.md#rebuild-authorized_keys-file).
1. Enable writes to the `authorized_keys` file.
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > Network**.
1. Expand **Performance optimization**.
1. Select the **Use authorized_keys file to authenticate SSH keys** checkbox.

View File

@ -213,8 +213,7 @@ You may see this error if `pages_external_url` was updated at some point of time
1. Check the [System OAuth application](../../integration/oauth_provider.md#create-an-instance-wide-application):
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Applications** and then **Add new application**.
1. Ensure the **Callback URL/Redirect URI** is using the protocol (HTTP or HTTPS) that
`pages_external_url` is configured to use.

View File

@ -134,8 +134,7 @@ These settings can be found in:
1. Fill in the **Repository size limit (MiB)** field in the **Naming, visibility** section.
1. Select **Save changes**.
- GitLab global settings:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Settings > General**.
1. Expand the **Account and limit** section.
1. Fill in the **Size limit per repository (MiB)** field.

View File

@ -93,8 +93,7 @@ The value is in MB, and the default is 100 MB per job. An administrator can chan
- Instance level:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > CI/CD > Continuous Integration and Deployment**.
1. Change the value of **Maximum artifacts size (MB)**.
1. Select **Save changes** for the changes to take effect.

View File

@ -298,8 +298,7 @@ To resolve this issue, disable the **Jira Connect Proxy URL** setting.
- In GitLab 15.8 and later:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand **GitLab for Jira App**.
1. Clear the **Jira Connect Proxy URL** text box.

View File

@ -26,8 +26,7 @@ the activity feed.
To modify this setting:
- In the Admin Area:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Settings > Network**.
1. Expand **Performance optimization**.
- Through the [Application settings API](../../api/settings.md#list-of-settings-that-can-be-accessed-via-api-calls)

View File

@ -26,8 +26,7 @@ To create a GitLab for Slack app:
- **In GitLab**:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand **GitLab for Slack app**.
1. Select **Create Slack app**.
@ -79,8 +78,7 @@ To update your copy of the GitLab for Slack app:
- **In GitLab**:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand **GitLab for Slack app**.
1. Select **Download latest manifest file** to download `slack_manifest.json`.

View File

@ -25,8 +25,7 @@ There are multiple ways to enable Silent Mode:
- **Web UI**
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**..
1. On the left sidebar, select **Settings > General**.
1. Expand **Silent Mode**, and toggle **Enable Silent Mode**.
1. Changes are saved immediately.
@ -55,8 +54,7 @@ There are multiple ways to disable Silent Mode:
- **Web UI**
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand **Silent Mode**, and toggle **Enable Silent Mode**.
1. Changes are saved immediately.

View File

@ -22,7 +22,7 @@ The examples documented here can be run using:
### GraphiQL
GraphiQL (pronounced "graphical") allows you to run real GraphQL queries against the API interactively.
GraphiQL (pronounced "graphical") allows you to run real GraphQL queries against the API interactively.
It makes exploring the schema easier by providing a UI with syntax highlighting and autocompletion.
For most people, using GraphiQL will be the easiest way to explore the GitLab GraphQL API.

View File

@ -71,7 +71,7 @@ For example:
| Stateless | does not need database, Cells provide all routing information | medium |
| Secrets-based | can make routing decision based on secret (e.g. JWT) | medium |
| Observability | can use existing observability tooling | low |
| Self-managed | can be eventually used by [self-managed](goals.md#self-managed) | low |
| Self-managed | can be eventually used by [self-managed](goals.md#self-managed) | low |
| Regional | can route requests to different [regions](goals.md#regions) | low |
## Non-Goals

View File

@ -22,15 +22,15 @@ As GitLab works towards providing a single platform for the whole DevSecOps cycl
its offering should not stop at pipelines, but should include the deployment and release management, as well as
observability of user-developed and third party applications.
While GitLab offers some concepts, like the `environment` syntax in GitLab pipelines,
it does not offer any concept on what is running in a given environment. While the environment might answer the "where" is
While GitLab offers some concepts, like the `environment` syntax in GitLab pipelines,
it does not offer any concept on what is running in a given environment. While the environment might answer the "where" is
something running, it does not answer the question of "what" is running there. We should
introduce [service](https://about.gitlab.com/direction/delivery/glossary.html#service) and [release artifact](https://about.gitlab.com/direction/delivery/glossary.html#release) to answer this question. The [Delivery glossary](https://about.gitlab.com/direction/delivery/glossary.html#service) defines
introduce [service](https://about.gitlab.com/direction/delivery/glossary.html#service) and [release artifact](https://about.gitlab.com/direction/delivery/glossary.html#release) to answer this question. The [Delivery glossary](https://about.gitlab.com/direction/delivery/glossary.html#service) defines
a service as
> a logical concept that is a (mostly) independently deployable part of an application that is loosely coupled with other services to serve specific functionalities for the application.
A service would connect to the SCM, registry or issues through release artifacts and would be a focused view into the [environments](https://about.gitlab.com/direction/delivery/glossary.html#environment) where
A service would connect to the SCM, registry or issues through release artifacts and would be a focused view into the [environments](https://about.gitlab.com/direction/delivery/glossary.html#environment) where
a specific version of the given release artifact is deployed (or being deployed).
Having a concept of services allows our users to track their applications in production, not only in CI/CD pipelines. This opens up possibilities, like cost management.

View File

@ -180,7 +180,7 @@ steps:
name: ${{ steps.previous_step.outputs.name }}
```
Therefore evaluation of expressions will done in two different kinds
Therefore evaluation of expressions will done in two different kinds
of context. One as a GitLab CI Step and one as a step definition.
### Step Inputs
@ -309,7 +309,7 @@ A provision is made for passing complex structures to steps, which
is to serialize them as JSON (see Inputs above). In this way the actual
step to be run can be merely a parameter to step running in container.
So the outer step is a `docker/run` step with a command that executes
`step-runner` with a `steps` input parameter. The `docker/run` step will
`step-runner` with a `steps` input parameter. The `docker/run` step will
run the container and then extract the output files from the container
and re-emit them to the outer steps.

View File

@ -602,8 +602,7 @@ To determine which runners need to be upgraded:
1. On the left sidebar, select **Search or go to** and find your group.
1. Select **Build > Runners**.
- For the instance:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **CI/CD > Runners**.
1. Above the list of runners, view the status:

View File

@ -58,7 +58,7 @@ to access it. In this case, you can use an SSH key pair.
1. Create a new [file type CI/CD variable](../variables/index.md#for-a-project).
- In the **Key** field, enter `SSH_PRIVATE_KEY`.
- In the **Value** field, paste the content of your _private_ key from the key pair that you created earlier.
Make sure the file ends with a newline. To add a newline, press
Make sure the file ends with a newline. To add a newline, press
<kbd>Enter</kbd> or <kbd>Return</kbd> at the end of the last line of the SSH key before saving your changes.
1. Modify your `.gitlab-ci.yml` with a `before_script` action. In the following

View File

@ -92,7 +92,7 @@ To copy the name of a single failed test:
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/235525) in Test Reports in GitLab 13.9.
If a test failed in the project's default branch in the last 14 days, a message like
`Failed {n} time(s) in {default_branch} in the last 14 days` is displayed for that test.
`Failed {n} time(s) in {default_branch} in the last 14 days` is displayed for that test.
The calculation includes failed tests in completed pipelines, but not [blocked pipelines](../jobs/job_control.md#types-of-manual-jobs).
[Issue 431265](https://gitlab.com/gitlab-org/gitlab/-/issues/431265) proposes to

View File

@ -48,7 +48,7 @@ to AI that you think could benefit from being in this list, please add it!
- **Model Validation**: group within the AI-powered Stage working on the Prompt
Library and researching AI/ML models to support other use-cases for AI at GitLab.
[Team handbook section](https://about.gitlab.com/handbook/product/categories/features/#ai-poweredai-model-validation-group).
- **Prompt library**: The ["Prompt Library"](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/prompt-library) is a Python library that provides a CLI for testing different prompting techniques with LLMs. It enables data-driven improvements to LLM applications by facilitating hypothesis testing. Key features include the ability to manage and run dataflow pipelines using Apache Beam, and the execution of multiple evaluation experiments in a single pipeline run.
- **Prompt library**: The ["Prompt Library"](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/prompt-library) is a Python library that provides a CLI for testing different prompting techniques with LLMs. It enables data-driven improvements to LLM applications by facilitating hypothesis testing. Key features include the ability to manage and run dataflow pipelines using Apache Beam, and the execution of multiple evaluation experiments in a single pipeline run.
on prompts with various third-party AI Services.
[Code](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/prompt-library).
- **Prompt Registry**: stored, versioned prompts used to interact with third-party

View File

@ -27,7 +27,7 @@ Do **not** create publicly viewable issues for suspected security vulnerabilitie
### Feature proposals
To create a feature proposal, open an issue in the issue tracker using the
To create a feature proposal, open an issue in the issue tracker using the
[**Feature Proposal - detailed** issue template](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Feature%20proposal%20-%20detailed).
In order to help track feature proposals, we use the

View File

@ -133,16 +133,14 @@ version of the product:
1. Enable **Allow use of licensed EE features** to make licensed EE features available to projects
only if the project namespace's plan includes the feature.
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand **Account and limit**.
1. Select the **Allow use of licensed EE features** checkbox.
1. Select **Save changes**.
1. Ensure the group you want to test the EE feature for is actually using an EE plan:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Groups**.
1. Identify the group you want to modify, and select **Edit**.
1. Scroll to **Permissions and group features**. For **Plan**, select `Ultimate`.

View File

@ -142,8 +142,7 @@ checking the configuration file of your GitLab instance:
- Using the Admin Area:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > Metrics and profiling**.
1. Expand **Usage statistics**.
1. Are you able to check or uncheck the checkbox to disable Service Ping?
@ -200,8 +199,7 @@ To work around this bug, you have two options:
sudo gitlab-ctl reconfigure
```
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > Metrics and profiling**.
1. Expand **Usage statistics**.
1. Clear the **Enable Service Ping** checkbox.

View File

@ -27,8 +27,7 @@ project, group, or instance level:
1. *For project-level or group-level integrations:* In GitLab, go to your project or group.
1. *For instance-level integrations:*
1. Sign in to GitLab as a user with administrator access.
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > Integrations**.
1. Scroll to **Add an integration**, and select **Datadog**.
1. Select **Active** to enable the integration.

View File

@ -45,8 +45,7 @@ With the Gitpod integration enabled for your GitLab instance, to enable it for y
For self-managed GitLab instances, a GitLab administrator must:
1. Enable the Gitpod integration in GitLab:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > General**.
1. Expand the **Gitpod** configuration section.
1. Select the **Enable Gitpod integration** checkbox.

View File

@ -147,8 +147,7 @@ With that information at hand:
```
1. As an administrator, you can confirm the new, blocked account:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Users** and review the **Blocked** tab.
1. You can enable the user.
1. If `block_auto_created_users` is false, the Kerberos user is

View File

@ -29,26 +29,26 @@ This page attempts to index the ways in which GitLab can integrate with AWS. It
- **AWS CodeStar Connections** - enables SCM connections to multiple AWS Services. **Currently for GitLab.com SaaS only**. [Configure GitLab](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gitlab.html). [Supported Providers](https://docs.aws.amazon.com/dtconsole/latest/userguide/supported-versions-connections.html). [Supported AWS Services](https://docs.aws.amazon.com/dtconsole/latest/userguide/integrations-connections.html) - each one may have to make updates to support GitLab, so here is the subset that currently support GitLab `[AWS Built]`
- [AWS CodePipeline Integration](https://docs.aws.amazon.com/codepipeline/latest/userguide/connections-gitlab.html) - use GitLab as source for CodePipeline. `[AWS Built]`
- **AWS CodeBuild Integration** - indirectly through CodePipeline support. `[AWS Built]`
- **AWS CodeBuild Integration** - indirectly through CodePipeline support. `[AWS Built]`
- **Amazon CodeWhisperer Customization Capability** [can connect to a GitLab repo](https://aws.amazon.com/blogs/aws/new-customization-capability-in-amazon-codewhisperer-generates-even-better-suggestions-preview/). `[AWS Built]`
- **AWS Service Catalog** directly inherits CodeStar Connections, there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
- **AWS Proton** directly inherits CodeStar Connections, there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
- **AWS Glue Notebook Jobs** directly inherit CodeStar Connections, there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
- **Amazon SageMaker MLOps Projects** are done in CodePipeline and so directly inherit CodeStar Connections ([as noted here](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-walkthrough-3rdgit.html#sagemaker-proejcts-walkthrough-connect-3rdgit)), there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
- **Amazon SageMaker MLOps Projects** are done in CodePipeline and so directly inherit CodeStar Connections ([as noted here](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-walkthrough-3rdgit.html#sagemaker-proejcts-walkthrough-connect-3rdgit)), there is not any specific documentation about GitLab since it just uses any GitLab CodeStar Connection that has been created in the account. `[AWS Built]`
- **Amazon SageMaker Notebooks** [allow Git repositories to be specified by the Git clone URL](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-resource.html) and configuration of a secret - so GitLab is configurable. `[AWS Configuration]`
- **AWS CloudFormation** publishing of public extensions - **not yet supported**. `[AWS Built]`
- **Amazon CodeGuru Reviewer Repositories** - **not yet supported**. `[AWS Built]`
- **AWS CloudFormation** publishing of public extensions - **not yet supported**. `[AWS Built]`
- **Amazon CodeGuru Reviewer Repositories** - **not yet supported**. `[AWS Built]`
- [GitLab Push Mirroring to CodeCommit](../../../user/project/repository/mirror/push.md#set-up-a-push-mirror-from-gitlab-to-aws-codecommit) Workaround enables GitLab repositories to leverage CodePipeline SCM Triggers. GitLab can already leverage S3 and Container Triggers for CodePipeline. **Still required for Self-Managed and Dedicated for the time being.** `[GitLab Configuration]`
### CI Integrations
- **Direct CI Integrations That Use Keys, IAM or OIDC/JWT to Authenticate to AWS Services from GitLab Runners**
- **Amazon CodeGuru Reviewer CI workflows using GitLab CI** - can be done, not yet documented. `[AWS Solution]` `[CI Solution]`
- [Amazon CodeGuru Secure Scanning using GitLab CI](https://docs.aws.amazon.com/codeguru/latest/security-ug/get-started-gitlab.html) `[AWS Solution]` `[CI Solution]`
- **Amazon CodeGuru Reviewer CI workflows using GitLab CI** - can be done, not yet documented. `[AWS Solution]` `[CI Solution]`
- [Amazon CodeGuru Secure Scanning using GitLab CI](https://docs.aws.amazon.com/codeguru/latest/security-ug/get-started-gitlab.html) `[AWS Solution]` `[CI Solution]`
### CD and Operations Integrations
- **AWS CodeDeploy Integration** - indirectly through CodePipeline support. `[AWS Built]`
- **AWS CodeDeploy Integration** - indirectly through CodePipeline support. `[AWS Built]`
- [Integrate EKS clusters for application deployment](../../../user/infrastructure/clusters/connect/new_eks_cluster.md). `[GitLab Built]`
## Solutions For Specific Development Frameworks and Ecosystems

View File

@ -118,8 +118,7 @@ to your instance and then upgrade it for any relevant features you're using.
[turning on maintenance mode](../administration/maintenance_mode/index.md) during the
upgrade.
- About PostgreSQL:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**..
1. Look for the version of PostgreSQL you are using.
If [a PostgreSQL upgrade is needed](../administration/package_information/postgresql_versions.md),
account for the relevant

View File

@ -244,7 +244,7 @@ Specific information applies to installations using Geo:
| 16.3 | 16.3.0 - 16.3.5 | 16.3.6 |
| 16.4 | 16.4.0 - 16.4.1 | 16.4.2 |
- After [Group Wiki](../../user/project/wiki/group.md) verification was added in GitLab 16.3, missing Group Wiki repositories are being incorrectly flagged as failing verification. This issue is not a result of an actual replication/verification failure but an invalid internal state for these missing repositories inside Geo and results in errors in the logs and the verification progress reporting a failed state for these Group Wiki repositories.
- After [Group Wiki](../../user/project/wiki/group.md) verification was added in GitLab 16.3, missing Group Wiki repositories are being incorrectly flagged as failing verification. This issue is not a result of an actual replication/verification failure but an invalid internal state for these missing repositories inside Geo and results in errors in the logs and the verification progress reporting a failed state for these Group Wiki repositories.
See details of the problem and workaround in issue [#426571](https://gitlab.com/gitlab-org/gitlab/-/issues/426571)

View File

@ -209,7 +209,7 @@ The below reflects the current retention periods of GitLab AI model [Sub-Process
- Anthropic retains input and output data for 30 days.
- Google discards input and output data immediately after the output is provided. Google currently does not store data for abuse monitoring.
All of these AI providers are under data protection agreements with GitLab that prohibit the use of Customer Content for their own purposes, except to perform their independent legal obligations.
All of these AI providers are under data protection agreements with GitLab that prohibit the use of Customer Content for their own purposes, except to perform their independent legal obligations.
### Telemetry

View File

@ -139,7 +139,7 @@ FLAG:
On self-managed GitLab, by default this feature is not available. To make it available per project or for your entire instance, an administrator can [enable the feature flag](../../administration/feature_flags.md) named `dora_configuration`.
On GitLab.com, this feature is not available.
This feature is an [Experiment](../../policy/experiment-beta-support.md).
This feature is an [Experiment](../../policy/experiment-beta-support.md).
To join the list of users testing this feature, [here is a suggested test flow](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96561#steps-to-check-on-localhost).
If you find a bug, [open an issue here](https://gitlab.com/groups/gitlab-org/-/epics/11490).
To share your use cases and feedback, comment in [epic 11490](https://gitlab.com/groups/gitlab-org/-/epics/11490).

View File

@ -15,10 +15,10 @@ stored secrets, injecting code to take over accounts, or executing OS commands.
## Remediation
Never pass user input directly into functions which evaluate string data as code, such as `eval`,
`send`, `public_send`, `instance_eval` or `class_eval`. There is almost no benefit of passing string
`send`, `public_send`, `instance_eval` or `class_eval`. There is almost no benefit of passing string
values to these methods, as such the best recommendation is to replace the current logic with more safe
implementations of dynamically evaluating logic with user input. If using `send` or `public_send` ensure
the first argument is to a known, hardcoded method/symbol and does not come from user input.
the first argument is to a known, hardcoded method/symbol and does not come from user input.
For `eval`, `instance_eval` and `class_eval`, user input should never be sent directly to these methods.
One alternative is to store functions or methods in a Hash that can be looked up using a key. If the key

View File

@ -62,8 +62,7 @@ To associate a cluster management project with your cluster:
- [Group-level cluster](../group/clusters/index.md), go to your group's **Kubernetes**
page.
- [Instance-level cluster](../instance/clusters/index.md):
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Kubernetes**.
1. Expand **Advanced settings**.
1. From the **Cluster management project** dropdown list, select the cluster management project

View File

@ -241,8 +241,7 @@ curl --request PUT --header "Content-Type: application/json" --header "Authoriza
After you have made sure no group members have that custom role, delete the
custom role.
1. On the left sidebar, select **Search or go to**.
1. GitLab.com only. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Settings > Roles and Permissions**.
1. Select **Custom Roles**.
1. In the **Actions** column, select **Delete role** (**{remove}**) and confirm.

View File

@ -222,7 +222,7 @@ to [reset their password](https://gitlab.com/users/password/new) if both:
Users might get an error that states "SAML Name ID and email address do not match your user account. Contact an administrator."
This means:
- The NameID value sent by SAML does not match the existing SAML identity `extern_uid` value. Both the NameID and the `extern_uid` are case sensitive. For more information, see [manage user SAML identity](index.md#manage-user-saml-identity).
- The NameID value sent by SAML does not match the existing SAML identity `extern_uid` value. Both the NameID and the `extern_uid` are case sensitive. For more information, see [manage user SAML identity](index.md#manage-user-saml-identity).
- Either the SAML response did not include an email address or the email address did not match the user's GitLab email address.
The workaround is that a GitLab group Owner uses the [SAML API](../../../api/saml.md) to update the user's SAML `extern_uid`.

View File

@ -105,8 +105,7 @@ To change who can create subgroups on a group:
1. Select a role from **Roles allowed to create subgroups**.
1. Select **Save changes**.
- As an administrator:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Overview > Groups**.
1. In the group's row select **Edit**.
1. Select a role from **Allowed to create subgroups**.

View File

@ -142,8 +142,8 @@ If multiple packages have the same name, version, and filename, then the most re
Prerequisites:
- You need to [authenticate with the API](../../../api/rest/index.md#authentication).
- If authenticating with a deploy token, it must be configured with the `read_package_registry` and/or `write_package_registry` scope.
- You need to [authenticate with the API](../../../api/rest/index.md#authentication).
- If authenticating with a deploy token, it must be configured with the `read_package_registry` and/or `write_package_registry` scope.
- Project access tokens require the `read_api` scope and at least the `Reporter` role.
```plaintext

View File

@ -26,8 +26,7 @@ notifications:
1. To enable the integration for your group or project:
1. In your group or project, on the left sidebar, select **Settings > Integrations**.
1. To enable the integration for your instance:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. On the left sidebar, select **Settings > Integrations**.
1. Select the **Pumble** integration.
1. Ensure that the **Active** toggle is enabled.

View File

@ -43,8 +43,7 @@ After you invite the bot to a Telegram channel, you can configure GitLab to send
1. On the left sidebar, select **Search or go to** and find your project or group.
1. Select **Settings > Integrations**.
- **For your instance:**
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Settings > Integrations**.
1. Select **Telegram**.
1. Under **Enable integration**, select the **Active** checkbox.

View File

@ -29,8 +29,7 @@ notifications:
1. On the left sidebar, select **Search or go to** and find your project or group.
1. Select **Settings > Integrations**.
- At the instance level:
1. On the left sidebar, select **Search or go to**.
1. Select **Admin Area**.
1. On the left sidebar, at the bottom, select **Admin Area**.
1. Select **Settings > Integrations**.
1. Select the **Webex Teams** integration.
1. Ensure that the **Active** toggle is enabled.

View File

@ -1,88 +0,0 @@
# This template is provided and maintained by Diffblue.
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
# This template is designed to be used with the Cover Pipeline for GitLab integration from Diffblue.
# It will download the latest version of Diffblue Cover, build the associated project, and
# automatically write Java unit tests for the project.
# Note that additional config is required:
# https://docs.diffblue.com/features/cover-pipeline/cover-pipeline-for-gitlab
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
#
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Diffblue-Cover.gitlab-ci.yml
variables:
# Configure the following via the Diffblue Cover integration config for your project, or by
# using CI/CD masked Variables.
# For details, see https://docs.diffblue.com/features/cover-pipeline/cover-pipeline-for-gitlab
# Diffblue Cover license key: DIFFBLUE_LICENSE_KEY
# Refer to your welcome email or you can obtain a free trial key from
# https://www.diffblue.com/try-cover/gitlab
# GitLab access token: DIFFBLUE_ACCESS_TOKEN, DIFFBLUE_ACCESS_TOKEN_NAME
# The access token should have a role of Developer or better and should have
# api and write_repository permissions.
# Diffblue Cover requires a minimum of 4GB of memory.
JVM_ARGS: -Xmx4g
stages:
- build
diffblue-cover:
stage: build
# Select the Cover CLI docker image to use with your CI tool.
# Tag variations are produced for each supported JDK version.
# Go to https://hub.docker.com/r/diffblue/cover-cli for details.
# Note: To use the latest version of Diffblue Cover, use one of the latest-jdk<nn> tags.
# To use a specific release version, use one of the yyyy.mm.dd-jdk<nn> tags.
image: diffblue/cover-cli:latest-jdk17
# Diffblue Cover currently only supports running on merge_request_events.
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
# Diffblue Cover log files are saved to a .diffblue/ directory in the pipeline artifacts,
# and are available for download once the pipeline completes.
artifacts:
paths:
- "**/.diffblue/"
script:
# Diffblue Cover requires the project to be built before creating any tests.
# Either specify the build command here (one of the following), or provide
# prebuilt artifacts via a job dependency.
# Maven project example (comment out the Gradle version if used):
- mvn test-compile --batch-mode --no-transfer-progress
# Gradle project example (comment out the Maven version if used):
# - gradle testClasses
# Diffblue Cover commands and options to run.
# dcover the core Diffblue Cover command
# ci enable the GitLab CI/CD integration via environment variables
# activate - activate the license key
# validate - remove non-compiling and failing tests
# create - create new tests for your project
# --maven use the maven build tool
# For detailed information on Cover CLI commands and options, see
# https://docs.diffblue.com/features/cover-cli/commands-and-arguments
- dcover
ci
activate
validate --maven
create --maven
# Diffblue Cover will also respond to specific project labels:
# Diffblue Cover: Baseline
# Used to mark a merge request as requiring a full suite of tests to be written.
# This overrides the default behaviour where Cover will only write tests related
# to the code changes already in the merge request. This is useful when running Diffblue
# Cover for the first time on a project and when new product enhancements are released.
# Diffblue Cover: Skip
# Used to mark a merge request as requiring no tests to be written.

View File

@ -58063,6 +58063,9 @@ msgstr ""
msgid "must be before %{expiry_date}"
msgstr ""
msgid "must be enabled."
msgstr ""
msgid "must be false when email confirmation setting is off"
msgstr ""

View File

@ -74,41 +74,41 @@
"@snowplow/browser-plugin-timezone": "^3.9.0",
"@snowplow/browser-tracker": "^3.9.0",
"@sourcegraph/code-host-integration": "0.0.91",
"@tiptap/core": "^2.1.12",
"@tiptap/extension-blockquote": "^2.1.12",
"@tiptap/extension-bold": "^2.1.12",
"@tiptap/extension-bubble-menu": "^2.1.12",
"@tiptap/extension-bullet-list": "^2.1.12",
"@tiptap/extension-code": "^2.1.12",
"@tiptap/extension-code-block": "^2.1.12",
"@tiptap/extension-code-block-lowlight": "^2.1.12",
"@tiptap/extension-document": "^2.1.12",
"@tiptap/extension-dropcursor": "^2.1.12",
"@tiptap/extension-gapcursor": "^2.1.12",
"@tiptap/extension-hard-break": "^2.1.12",
"@tiptap/extension-heading": "^2.1.12",
"@tiptap/extension-highlight": "^2.1.12",
"@tiptap/extension-history": "^2.1.12",
"@tiptap/extension-horizontal-rule": "^2.1.12",
"@tiptap/extension-image": "^2.1.12",
"@tiptap/extension-italic": "^2.1.12",
"@tiptap/extension-link": "^2.1.12",
"@tiptap/extension-list-item": "^2.1.12",
"@tiptap/extension-ordered-list": "^2.1.12",
"@tiptap/extension-paragraph": "^2.1.12",
"@tiptap/extension-strike": "^2.1.12",
"@tiptap/extension-subscript": "^2.1.12",
"@tiptap/extension-superscript": "^2.1.12",
"@tiptap/extension-table": "^2.1.12",
"@tiptap/extension-table-cell": "^2.1.12",
"@tiptap/extension-table-header": "^2.1.12",
"@tiptap/extension-table-row": "^2.1.12",
"@tiptap/extension-task-item": "^2.1.12",
"@tiptap/extension-task-list": "^2.1.12",
"@tiptap/extension-text": "^2.1.12",
"@tiptap/pm": "^2.1.12",
"@tiptap/suggestion": "^2.1.12",
"@tiptap/vue-2": "^2.1.12",
"@tiptap/core": "^2.1.13",
"@tiptap/extension-blockquote": "^2.1.13",
"@tiptap/extension-bold": "^2.1.13",
"@tiptap/extension-bubble-menu": "^2.1.13",
"@tiptap/extension-bullet-list": "^2.1.13",
"@tiptap/extension-code": "^2.1.13",
"@tiptap/extension-code-block": "^2.1.13",
"@tiptap/extension-code-block-lowlight": "^2.1.13",
"@tiptap/extension-document": "^2.1.13",
"@tiptap/extension-dropcursor": "^2.1.13",
"@tiptap/extension-gapcursor": "^2.1.13",
"@tiptap/extension-hard-break": "^2.1.13",
"@tiptap/extension-heading": "^2.1.13",
"@tiptap/extension-highlight": "^2.1.13",
"@tiptap/extension-history": "^2.1.13",
"@tiptap/extension-horizontal-rule": "^2.1.13",
"@tiptap/extension-image": "^2.1.13",
"@tiptap/extension-italic": "^2.1.13",
"@tiptap/extension-link": "^2.1.13",
"@tiptap/extension-list-item": "^2.1.13",
"@tiptap/extension-ordered-list": "^2.1.13",
"@tiptap/extension-paragraph": "^2.1.13",
"@tiptap/extension-strike": "^2.1.13",
"@tiptap/extension-subscript": "^2.1.13",
"@tiptap/extension-superscript": "^2.1.13",
"@tiptap/extension-table": "^2.1.13",
"@tiptap/extension-table-cell": "^2.1.13",
"@tiptap/extension-table-header": "^2.1.13",
"@tiptap/extension-table-row": "^2.1.13",
"@tiptap/extension-task-item": "^2.1.13",
"@tiptap/extension-task-list": "^2.1.13",
"@tiptap/extension-text": "^2.1.13",
"@tiptap/pm": "^2.1.13",
"@tiptap/suggestion": "^2.1.13",
"@tiptap/vue-2": "^2.1.13",
"@vue/apollo-components": "^4.0.0-beta.4",
"@vue/apollo-option": "^4.0.0-beta.4",
"apollo-upload-client": "15.0.0",
@ -252,6 +252,7 @@
"axios-mock-adapter": "^1.15.0",
"babel-jest": "^28.1.3",
"chalk": "^2.4.1",
"chokidar": "^3.5.3",
"commander": "^2.20.3",
"custom-jquery-matchers": "^2.1.0",
"eslint": "8.54.0",

View File

@ -128,7 +128,7 @@ module QA
max: 3,
interval: 1,
retry_block: ->(exception:, **) { logger.warn("Request to GitHub failed: '#{exception}', retrying") },
exceptions: [Octokit::InternalServerError, Octokit::ServerError, Net::OpenTimeout]
exceptions: [Faraday::ServerError, Faraday::TimeoutError]
)
builder.use(Faraday::Response::RaiseError) # faraday retry swallows errors, so it needs to be re-raised
end

View File

@ -0,0 +1,69 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe AutocompleteSources::ExpiresIn, feature_category: :global_search do
controller(ActionController::Base) do
include AutocompleteSources::ExpiresIn
def members
render json: []
end
def commands
render json: []
end
def labels
render json: []
end
def not_cached
render json: []
end
end
before do
routes.draw do
get "members" => "anonymous#members"
get "commands" => "anonymous#commands"
get "labels" => "anonymous#labels"
get "not_cached" => "anonymous#not_cached"
end
end
let(:expected_cache_control) { "max-age=#{described_class::AUTOCOMPLETE_EXPIRES_IN}, private" }
described_class::AUTOCOMPLETE_CACHED_ACTIONS.each do |action|
context "when action is #{action} with feature flag enabled" do
it "sets correct cache-control" do
get action
expect(response).to have_gitlab_http_status(:ok)
expect(response.headers['Cache-Control']).to eq(expected_cache_control)
end
end
context "when action is #{action} with feature flag disabled" do
before do
stub_feature_flags("cache_autocomplete_sources_#{action}" => false)
end
it 'does not set cache-control' do
get action
expect(response).to have_gitlab_http_status(:ok)
expect(response.headers['Cache-Control']).to be_nil
end
end
end
context 'when action is not in AUTOCOMPLETE_CACHED_ACTIONS' do
it 'does not set cache-control' do
get :not_cached
expect(response).to have_gitlab_http_status(:ok)
expect(response.headers['Cache-Control']).to be_nil
end
end
end

View File

@ -2062,11 +2062,48 @@ describe('DiffsStoreActions', () => {
describe('toggleFileCommentForm', () => {
it('commits TOGGLE_FILE_COMMENT_FORM', () => {
const file = getDiffFileMock();
return testAction(
diffActions.toggleFileCommentForm,
'path',
{},
[{ type: types.TOGGLE_FILE_COMMENT_FORM, payload: 'path' }],
file.file_path,
{
diffFiles: [file],
},
[
{ type: types.TOGGLE_FILE_COMMENT_FORM, payload: file.file_path },
{
type: types.SET_FILE_COLLAPSED,
payload: { filePath: file.file_path, collapsed: false },
},
],
[],
);
});
it('always opens if file is collapsed', () => {
const file = {
...getDiffFileMock(),
viewer: {
...getDiffFileMock().viewer,
manuallyCollapsed: true,
},
};
return testAction(
diffActions.toggleFileCommentForm,
file.file_path,
{
diffFiles: [file],
},
[
{
type: types.SET_FILE_COMMENT_FORM,
payload: { filePath: file.file_path, expanded: true },
},
{
type: types.SET_FILE_COLLAPSED,
payload: { filePath: file.file_path, collapsed: false },
},
],
[],
);
});

View File

@ -1045,6 +1045,17 @@ describe('DiffsStoreMutations', () => {
});
});
describe('SET_FILE_COMMENT_FORM', () => {
it('toggles diff files hasCommentForm', () => {
const state = { diffFiles: [{ file_path: 'path', hasCommentForm: false }] };
const expanded = true;
mutations[types.SET_FILE_COMMENT_FORM](state, { filePath: 'path', expanded });
expect(state.diffFiles[0].hasCommentForm).toEqual(expanded);
});
});
describe('ADD_DRAFT_TO_FILE', () => {
it('adds draft to diff file', () => {
const state = { diffFiles: [{ file_path: 'path', drafts: [] }] };

View File

@ -1,26 +0,0 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Diffblue-Cover.gitlab-ci.yml', feature_category: :continuous_integration do
subject(:template) { Gitlab::Template::GitlabCiYmlTemplate.find('Diffblue-Cover') }
describe 'the created pipeline' do
let(:pipeline_branch) { 'patch-1' }
let_it_be(:project) { create(:project, :repository, create_branch: 'patch-1') }
let(:user) { project.first_owner }
let(:mr_service) { MergeRequests::CreatePipelineService.new(project: project, current_user: user) }
let(:merge_request) { create(:merge_request, :simple, source_project: project, source_branch: pipeline_branch) }
let(:mr_pipeline) { mr_service.execute(merge_request).payload }
let(:mr_build_names) { mr_pipeline.builds.pluck(:name) }
before do
stub_ci_pipeline_yaml_file(template.content)
end
it 'creates diffblue-cover jobs' do
expect(mr_build_names).to include('diffblue-cover')
end
end
end

View File

@ -20,7 +20,6 @@ RSpec.describe 'CI YML Templates' do
context 'that support autodevops' do
exceptions = [
'Diffblue-Cover.gitlab-ci.yml', # no auto-devops
'Security/DAST.gitlab-ci.yml', # DAST stage is defined inside AutoDevops yml
'Security/DAST-API.gitlab-ci.yml', # no auto-devops
'Security/API-Fuzzing.gitlab-ci.yml', # no auto-devops

View File

@ -3,6 +3,7 @@ import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue2';
import graphql from '@rollup/plugin-graphql';
import RubyPlugin from 'vite-plugin-ruby';
import chokidar from 'chokidar';
import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
import webpackConfig from './config/webpack.config';
import {
@ -58,6 +59,23 @@ const JH_ALIAS_FALLBACK = [
},
];
const autoRestartPlugin = {
configureServer(server) {
const watcher = chokidar.watch(['node_modules/.yarn-integrity'], {
ignoreInitial: true,
});
// GDK will restart Vite server for us
const stop = () => server.stop();
watcher.on('add', stop);
watcher.on('change', stop);
watcher.on('unlink', stop);
server.httpServer?.addListener?.('close', () => watcher.close());
},
};
export default defineConfig({
cacheDir: path.resolve(__dirname, 'tmp/cache/vite'),
resolve: {
@ -76,6 +94,8 @@ export default defineConfig({
],
},
plugins: [
// VITE_ENABLED is present when running with GDK
process.env.VITE_ENABLED ? autoRestartPlugin : null,
fixedRubyPlugin,
vue({
template: {

292
yarn.lock
View File

@ -2199,181 +2199,181 @@
dom-accessibility-api "^0.5.1"
pretty-format "^26.4.2"
"@tiptap/core@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.1.12.tgz#904fdf147e91b5e60561c76e7563c1b5a32f54ab"
integrity sha512-ZGc3xrBJA9KY8kln5AYTj8y+GDrKxi7u95xIl2eccrqTY5CQeRu6HRNM1yT4mAjuSaG9jmazyjGRlQuhyxCKxQ==
"@tiptap/core@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.1.13.tgz#e21f566e81688c826c6f26d2940886734189e193"
integrity sha512-cMC8bgTN63dj1Mv82iDeeLl6sa9kY0Pug8LSalxVEptRmyFVsVxGgu2/6Y3T+9aCYScxfS06EkA8SdzFMAwYTQ==
"@tiptap/extension-blockquote@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.1.12.tgz#97b43419606acf9bfd93b9f482a1827dcac8c3e9"
integrity sha512-Qb3YRlCfugx9pw7VgLTb+jY37OY4aBJeZnqHzx4QThSm13edNYjasokbX0nTwL1Up4NPTcY19JUeHt6fVaVVGg==
"@tiptap/extension-blockquote@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.1.13.tgz#abf01e3a00d72434b08be7f3d7e318c7320db486"
integrity sha512-oe6wSQACmODugoP9XH3Ouffjy4BsOBWfTC+dETHNCG6ZED6ShHN3CB9Vr7EwwRgmm2WLaKAjMO1sVumwH+Z1rg==
"@tiptap/extension-bold@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.1.12.tgz#5dbf41105fc0fbde8adbff629312187fbebc39b0"
integrity sha512-AZGxIxcGU1/y6V2YEbKsq6BAibL8yQrbRm6EdcBnby41vj1WziewEKswhLGmZx5IKM2r2ldxld03KlfSIlKQZg==
"@tiptap/extension-bold@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.1.13.tgz#fb0c8916269be61269e4aef9d1da417daf52b7f1"
integrity sha512-6cHsQTh/rUiG4jkbJer3vk7g60I5tBwEBSGpdxmEHh83RsvevD8+n92PjA24hYYte5RNlATB011E1wu8PVhSvw==
"@tiptap/extension-bubble-menu@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.1.12.tgz#4103a21a6433e58690c8f742ece39fad78dc26eb"
integrity sha512-gAGi21EQ4wvLmT7klgariAc2Hf+cIjaNU2NWze3ut6Ku9gUo5ZLqj1t9SKHmNf4d5JG63O8GxpErqpA7lHlRtw==
"@tiptap/extension-bubble-menu@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.1.13.tgz#884cd2e4e0c9586998baac3d0a14621b177f1859"
integrity sha512-Hm7e1GX3AI6lfaUmr6WqsS9MMyXIzCkhh+VQi6K8jj4Q4s8kY4KPoAyD/c3v9pZ/dieUtm2TfqrOCkbHzsJQBg==
dependencies:
tippy.js "^6.3.7"
"@tiptap/extension-bullet-list@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.1.12.tgz#7c905a577ce30ef2cb335870a23f9d24fd26f6aa"
integrity sha512-vtD8vWtNlmAZX8LYqt2yU9w3mU9rPCiHmbp4hDXJs2kBnI0Ju/qAyXFx6iJ3C3XyuMnMbJdDI9ee0spAvFz7cQ==
"@tiptap/extension-bullet-list@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.1.13.tgz#0a26731ebf98ddfd268884ff1712f7189be7b63c"
integrity sha512-NkWlQ5bLPUlcROj6G/d4oqAxMf3j3wfndGOPp0z8OoXJtVbVoXl/aMSlLbVgE6n8r6CS8MYxKhXNxrb7Ll2foA==
"@tiptap/extension-code-block-lowlight@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.1.12.tgz#ccbca5d0d92bee373dc8e2e2ae6c27f62f66437c"
integrity sha512-dtIbpI9QrWa9TzNO4v5q/zf7+d83wpy5i9PEccdJAVtRZ0yOI8JIZAWzG5ex3zAoCA0CnQFdsPSVykYSDdxtDA==
"@tiptap/extension-code-block-lowlight@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.1.13.tgz#91110f44d6cc8a12d95ac92aee0c848fdedefb0d"
integrity sha512-PlU0lzAEbUGqPykl7fYqlAiY7/zFRtQExsbrpi2kctSIzxC+jgMM4vEpWxLS4jZEXl7jVHvBRH6lRNINDHWmQA==
"@tiptap/extension-code-block@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.1.12.tgz#20416baef1b5fc839490a8416e97fdcbb5fdf918"
integrity sha512-RXtSYCVsnk8D+K80uNZShClfZjvv1EgO42JlXLVGWQdIgaNyuOv/6I/Jdf+ZzhnpsBnHufW+6TJjwP5vJPSPHA==
"@tiptap/extension-code-block@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.1.13.tgz#3e441d171d3ed821e67291dbf4cbad7e2ea29809"
integrity sha512-E3tweNExPOV+t1ODKX0MDVsS0aeHGWc1ECt+uyp6XwzsN0bdF2A5+pttQqM7sTcMnQkVACGFbn9wDeLRRcfyQg==
"@tiptap/extension-code@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.1.12.tgz#86d2eb5f63725af472c5fd858e5a9c7ccae06ef3"
integrity sha512-CRiRq5OTC1lFgSx6IMrECqmtb93a0ZZKujEnaRhzWliPBjLIi66va05f/P1vnV6/tHaC3yfXys6dxB5A4J8jxw==
"@tiptap/extension-code@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.1.13.tgz#27a5ca5705e59ca97390fad4d6631bf431690480"
integrity sha512-f5fLYlSgliVVa44vd7lQGvo49+peC+Z2H0Fn84TKNCH7tkNZzouoJsHYn0/enLaQ9Sq+24YPfqulfiwlxyiT8w==
"@tiptap/extension-document@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.1.12.tgz#e19e4716dfad60cbeb6abaf2f362fed759963529"
integrity sha512-0QNfAkCcFlB9O8cUNSwTSIQMV9TmoEhfEaLz/GvbjwEq4skXK3bU+OQX7Ih07waCDVXIGAZ7YAZogbvrn/WbOw==
"@tiptap/extension-document@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.1.13.tgz#5b68fa08e8a79eebd41f1360982db2ddd28ad010"
integrity sha512-wLwiTWsVmZTGIE5duTcHRmW4ulVxNW4nmgfpk95+mPn1iKyNGtrVhGWleLhBlTj+DWXDtcfNWZgqZkZNzhkqYQ==
"@tiptap/extension-dropcursor@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.1.12.tgz#9da0c275291c9d47497d3db41b4d70d96366b4ff"
integrity sha512-0tT/q8nL4NBCYPxr9T0Brck+RQbWuczm9nV0bnxgt0IiQXoRHutfPWdS7GA65PTuVRBS/3LOco30fbjFhkfz/A==
"@tiptap/extension-dropcursor@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.1.13.tgz#2e8908f2dec9e8e997a2f216a11d3b915fe062df"
integrity sha512-NAyJi4BJxH7vl/2LNS1X0ndwFKjEtX+cRgshXCnMyh7qNpIRW6Plczapc/W1OiMncOEhZJfpZfkRSfwG01FWFg==
"@tiptap/extension-floating-menu@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.1.12.tgz#68a658b2b9bdd3a0fc1afc5165231838061a8fde"
integrity sha512-uo0ydCJNg6AWwLT6cMUJYVChfvw2PY9ZfvKRhh9YJlGfM02jS4RUG/bJBts6R37f+a5FsOvAVwg8EvqPlNND1A==
"@tiptap/extension-floating-menu@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.1.13.tgz#e12e6e73ee095319d4a723a9b46b8f7b1a9f4b1a"
integrity sha512-9Oz7pk1Nts2+EyY+rYfnREGbLzQ5UFazAvRhF6zAJdvyuDmAYm0Jp6s0GoTrpV0/dJEISoFaNpPdMJOb9EBNRw==
dependencies:
tippy.js "^6.3.7"
"@tiptap/extension-gapcursor@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.1.12.tgz#63844c3abd1a38af915839cf0c097b6d2e5a86fe"
integrity sha512-zFYdZCqPgpwoB7whyuwpc8EYLYjUE5QYKb8vICvc+FraBUDM51ujYhFSgJC3rhs8EjI+8GcK8ShLbSMIn49YOQ==
"@tiptap/extension-gapcursor@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.1.13.tgz#994a54e1d4106dfaede0acce184c48457ab34450"
integrity sha512-Cl5apsoTcyPPCgE3ThufxQxZ1wyqqh+9uxUN9VF9AbeTkid6oPZvKXwaILf6AFnkSy+SuKrb9kZD2iaezxpzXw==
"@tiptap/extension-hard-break@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.1.12.tgz#54d0c9996e1173594852394975a9356eec98bc9a"
integrity sha512-nqKcAYGEOafg9D+2cy1E4gHNGuL12LerVa0eS2SQOb+PT8vSel9OTKU1RyZldsWSQJ5rq/w4uIjmLnrSR2w6Yw==
"@tiptap/extension-hard-break@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.1.13.tgz#fc84d0ff7e2fe861bf421bc8000194ecc26979b0"
integrity sha512-TGkMzMQayuKg+vN4du0x1ahEItBLcCT1jdWeRsjdM8gHfzbPLdo4PQhVsvm1I0xaZmbJZelhnVsUwRZcIu1WNA==
"@tiptap/extension-heading@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.1.12.tgz#05ae4684d6f29ae611495ab114038e14a5d1dff6"
integrity sha512-MoANP3POAP68Ko9YXarfDKLM/kXtscgp6m+xRagPAghRNujVY88nK1qBMZ3JdvTVN6b/ATJhp8UdrZX96TLV2w==
"@tiptap/extension-heading@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.1.13.tgz#94a6219448d97ffed0915fa1bf411074c39f4103"
integrity sha512-PEmc19QLmlVUTiHWoF0hpgNTNPNU0nlaFmMKskzO+cx5Df4xvHmv/UqoIwp7/UFbPMkfVJT1ozQU7oD1IWn9Hg==
"@tiptap/extension-highlight@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.1.12.tgz#184efb75238c9cbc6c18d523b735de4329f78ecc"
integrity sha512-buen31cYPyiiHA2i0o2i/UcjRTg/42mNDCizGr1OJwvv3AELG3qOFc4Y58WJWIvWNv+1Dr4ZxHA3GNVn0ANWyg==
"@tiptap/extension-highlight@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.1.13.tgz#d30221c178569264ab76327f87a0d81605493fcc"
integrity sha512-ZivjJma5WwPYcG0rpnynVDGis32OGdtpTwETEb+2OOjZBCBlyYQ4tcRk5gS3nzBAjLl/Qu84VVbawLhHXB6few==
"@tiptap/extension-history@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.1.12.tgz#03bcb9422e8ea2b82dc45207d1a1b0bc0241b055"
integrity sha512-6b7UFVkvPjq3LVoCTrYZAczt5sQrQUaoDWAieVClVZoFLfjga2Fwjcfgcie8IjdPt8YO2hG/sar/c07i9vM0Sg==
"@tiptap/extension-history@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.1.13.tgz#50478c602143fa77bb3b45c9c9cae4ddb743e0ed"
integrity sha512-1ouitThGTBUObqw250aDwGLMNESBH5PRXIGybsCFO1bktdmWtEw7m72WY41EuX2BH8iKJpcYPerl3HfY1vmCNw==
"@tiptap/extension-horizontal-rule@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.1.12.tgz#2191d4ff68ed39381d65971ad8e2aa1be43e6d6b"
integrity sha512-RRuoK4KxrXRrZNAjJW5rpaxjiP0FJIaqpi7nFbAua2oHXgsCsG8qbW2Y0WkbIoS8AJsvLZ3fNGsQ8gpdliuq3A==
"@tiptap/extension-horizontal-rule@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.1.13.tgz#4884dbf912c8dabbbc69e041ff5529d6337e638e"
integrity sha512-7OgjgNqZXvBejgULNdMSma2M1nzv4bbZG+FT5XMFZmEOxR9IB1x/RzChjPdeicff2ZK2sfhMBc4Y9femF5XkUg==
"@tiptap/extension-image@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.1.12.tgz#ab035db82f0961b1d906c4d426bf68be563fdcd3"
integrity sha512-VCgOTeNLuoR89WoCESLverpdZpPamOd7IprQbDIeG14sUySt7RHNgf2AEfyTYJEHij12rduvAwFzerPldVAIJg==
"@tiptap/extension-image@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.1.13.tgz#835fc6759b2c1184fb54d3704c538029d523dbf6"
integrity sha512-7oVAos+BU4KR/zQsfltrd8hgIxKxyxZ19dhwb1BJI2Nt3Mnx+yFPRlRSehID6RT9dYqgW4UW5d6vh/3HQcYYYw==
"@tiptap/extension-italic@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.1.12.tgz#e99480eb77f8b4e5444fc236add8a831d5aa2343"
integrity sha512-/XYrW4ZEWyqDvnXVKbgTXItpJOp2ycswk+fJ3vuexyolO6NSs0UuYC6X4f+FbHYL5VuWqVBv7EavGa+tB6sl3A==
"@tiptap/extension-italic@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.1.13.tgz#1e9521dea002c8d6de833d9fd928d4617623eab8"
integrity sha512-HyDJfuDn5hzwGKZiANcvgz6wcum6bEgb4wmJnfej8XanTMJatNVv63TVxCJ10dSc9KGpPVcIkg6W8/joNXIEbw==
"@tiptap/extension-link@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.1.12.tgz#a18f83a0b54342e6274ff9e5a5907ef7f15aa723"
integrity sha512-Sti5hhlkCqi5vzdQjU/gbmr8kb578p+u0J4kWS+SSz3BknNThEm/7Id67qdjBTOQbwuN07lHjDaabJL0hSkzGQ==
"@tiptap/extension-link@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.1.13.tgz#ae4abd7c43292e3a1841488bfc7a687b2f014249"
integrity sha512-wuGMf3zRtMHhMrKm9l6Tft5M2N21Z0UP1dZ5t1IlOAvOeYV2QZ5UynwFryxGKLO0NslCBLF/4b/HAdNXbfXWUA==
dependencies:
linkifyjs "^4.1.0"
"@tiptap/extension-list-item@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.1.12.tgz#3eb28dc998490a98f14765783770b3cf6587d39e"
integrity sha512-Gk7hBFofAPmNQ8+uw8w5QSsZOMEGf7KQXJnx5B022YAUJTYYxO3jYVuzp34Drk9p+zNNIcXD4kc7ff5+nFOTrg==
"@tiptap/extension-list-item@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.1.13.tgz#3c62127df97974f3196866ec00ee397f4c9acdc4"
integrity sha512-6e8iiCWXOiJTl1XOwVW2tc0YG18h70HUtEHFCx2m5HspOGFKsFEaSS3qYxOheM9HxlmQeDt8mTtqftRjEFRxPQ==
"@tiptap/extension-ordered-list@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.1.12.tgz#f41a45bc66b4d19e379d4833f303f2e0cd6b9d60"
integrity sha512-tF6VGl+D2avCgn9U/2YLJ8qVmV6sPE/iEzVAFZuOSe6L0Pj7SQw4K6AO640QBob/d8VrqqJFHCb6l10amJOnXA==
"@tiptap/extension-ordered-list@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.1.13.tgz#31f4b3a21fbcc2f605c48662e08b5253a304c8c7"
integrity sha512-UO4ZAL5Vrr1WwER5VjgmeNIWHpqy9cnIRo1En07gZ0OWTjs1eITPcu+4TCn1ZG6DhoFvAQzE5DTxxdhIotg+qw==
"@tiptap/extension-paragraph@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.1.12.tgz#922447b2aa1c7184787d351ceec593a74d24ed03"
integrity sha512-hoH/uWPX+KKnNAZagudlsrr4Xu57nusGekkJWBcrb5MCDE91BS+DN2xifuhwXiTHxnwOMVFjluc0bPzQbkArsw==
"@tiptap/extension-paragraph@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.1.13.tgz#30f8ae3f8833c606b339f3554b9ffdbe1e604463"
integrity sha512-cEoZBJrsQn69FPpUMePXG/ltGXtqKISgypj70PEHXt5meKDjpmMVSY4/8cXvFYEYsI9GvIwyAK0OrfAHiSoROA==
"@tiptap/extension-strike@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.1.12.tgz#2b049aedf2985e9c9e3c3f1cc0b203a574c85bd8"
integrity sha512-HlhrzIjYUT8oCH9nYzEL2QTTn8d1ECnVhKvzAe6x41xk31PjLMHTUy8aYjeQEkWZOWZ34tiTmslV1ce6R3Dt8g==
"@tiptap/extension-strike@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.1.13.tgz#6605792fa98f0e36861be4c7ed4d4125de8c77aa"
integrity sha512-VN6zlaCNCbyJUCDyBFxavw19XmQ4LkCh8n20M8huNqW77lDGXA2A7UcWLHaNBpqAijBRu9mWI8l4Bftyf2fcAw==
"@tiptap/extension-subscript@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.1.12.tgz#19f4114d779775bb772eee45dcf31b5ef9363f86"
integrity sha512-tb1jysEvf4SIiXwEOgDTXiyrG39RVNHvn/zsGMg5wy5t9qUp9m1k7kKYTH084ktuKDAPQonCcpn3hwc+ngTFzg==
"@tiptap/extension-subscript@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.1.13.tgz#4363473b760ba3805d6e5e4bd45e63dcc7099f56"
integrity sha512-+kqK0P669Dsl/7IPSQNM/bN35Er45MKtHn8eQmudcLpFmBTsL6DlxG/080/Lqr49a6OLcefQfLaENz+QQVfBag==
"@tiptap/extension-superscript@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.1.12.tgz#6964d9c9b7591101bdc8e7058e88a75fe164d0a9"
integrity sha512-ek6L+DNsrjiJieArlgTvQt1VfJ56d8V19WAPW/ciRhq88YRlTEY9nSO3QuUCSUO1nGmE5OWQpgrsiW/XZbONVw==
"@tiptap/extension-superscript@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.1.13.tgz#c508ef30340457f362b9d179a5aa65f619df134a"
integrity sha512-wZr9Ls7YYvzbVInBqqpQkn+/YwG3b78Rg3U1TldCcbg0IprwFyPsFHvu0NZnqYEG4MHhaF3F1sZRtPdZ0hDy8g==
"@tiptap/extension-table-cell@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.1.12.tgz#b13938d345065a3750610c66a81ea107edbbcea7"
integrity sha512-hextcfVTdwX8G7s8Q/V6LW2aUhGvPgu1dfV+kVVO42AFHxG+6PIkDOUuHphGajG3Nrs129bjMDWb8jphj38dUg==
"@tiptap/extension-table-cell@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.1.13.tgz#28efbc99480d53346200dcbf50cfb32bade180d1"
integrity sha512-30pyVt2PxGAk8jmsXKxDheql8K/xIRA9FiDo++kS2Kr6Y7I42/kNPQttJ2W+Q1JdRJvedNfQtziQfKWDRLLCNA==
"@tiptap/extension-table-header@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.1.12.tgz#87ac2efa073a212c6114e0b137cf4afc3d75c35f"
integrity sha512-a4WZ5Z7gqQ/QlK8cK2d1ONYdma/J5+yH/0SNtQhkfELoS45GsLJh89OyKO0W0FnY6Mg0RoH1FsoBD+cqm0yazA==
"@tiptap/extension-table-header@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.1.13.tgz#8d64a0e5a6a5ea128708b866e56a0e04e34d7a5b"
integrity sha512-FwIV5iso5kmpu01QyvrPCjJqZfqxRTjtjMsDyut2uIgx9v5TXk0V5XvMWobx435ANIDJoGTYCMRlIqcgtyqwAQ==
"@tiptap/extension-table-row@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.1.12.tgz#27bee7d046b2bea4fe6bf46260e0d89305b75663"
integrity sha512-0kPr+zngQC1YQRcU6+Fl3CpIW/SdJhVJ5qOLpQleXrLPdjmZQd3Z1DXvOSDphYjXCowGPCxeUa++6bo7IoEMJw==
"@tiptap/extension-table-row@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.1.13.tgz#ef75d6de9c7695bbb90f745aabd72d327f161ac3"
integrity sha512-27Mb9/oYbiLd+/BUFMhQzRIqMd2Z5j1BZMYsktwtDG8vGdYVlaW257UVaoNR9TmiXyIzd3Dh1mOil8G35+HRHg==
"@tiptap/extension-table@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.1.12.tgz#173cc4eac75c650b440dfcae433d3c74e78aa1bc"
integrity sha512-q/DuKZ4j1ycRfuFdb9rBJ3MglGNxlM2BQ1csScX/BrVIsAQI5B8sdzy1BrIlepQ6DRu4DCzHcKMI8u4/edUSWA==
"@tiptap/extension-table@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.1.13.tgz#cfe3fc2665d12d2c946fc83b2cce9d1485ff29a0"
integrity sha512-yMWt2LqotOsWJhLwFNo8fyTwJNLPtnk+eCUxKLlMXP23mJ/lpF+jvTihhHVVic5GqV9vLYZFU2Tn+5k/Vd5P1w==
"@tiptap/extension-task-item@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.1.12.tgz#944eacf6f0ed1a430d807217d62b49ccef3956e1"
integrity sha512-uqrDTO4JwukZUt40GQdvB6S+oDhdp4cKNPMi0sbteWziQugkSMLlkYvxU0Hfb/YeziaWWwFI7ssPu/hahyk6dQ==
"@tiptap/extension-task-item@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.1.13.tgz#f049b774f8151b9568d7afbbb5b8fbcb30f35755"
integrity sha512-0E1woY0BXpv0SBOGPl5Cmo2RuH+Zchn7dYcTILtOsqHu6onJ4eP0N76+jGFLGV3T0PnPf7JDuwsO/B6pC7yMSg==
"@tiptap/extension-task-list@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.1.12.tgz#adbfb5a5b990d6f189c776b45de2d2c5bb77e963"
integrity sha512-BUpYlEWK+Q3kw9KIiOqvhd0tUPhMcOf1+fJmCkluJok+okAxMbP1umAtCEQ3QkoCwLr+vpHJov7h3yi9+dwgeQ==
"@tiptap/extension-task-list@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.1.13.tgz#1a1c40f5886111a1a74386637e7bd0c4ca4158d9"
integrity sha512-WfTo4KN0PqpmZxx23rak08M7flfBhv9IcPVpuJ4JthZOlexYdOZxaE/Yd4vlqZhq6cibG7CFljp8VzkfTUa1Ew==
"@tiptap/extension-text@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.1.12.tgz#466e3244bdd9b2db2304c0c9a1d51ce59f5327d0"
integrity sha512-rCNUd505p/PXwU9Jgxo4ZJv4A3cIBAyAqlx/dtcY6cjztCQuXJhuQILPhjGhBTOLEEL4kW2wQtqzCmb7O8i2jg==
"@tiptap/extension-text@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.1.13.tgz#ac17a0220aef1bae1bbd646a91491353e57bb5d1"
integrity sha512-zzsTTvu5U67a8WjImi6DrmpX2Q/onLSaj+LRWPh36A1Pz2WaxW5asZgaS+xWCnR+UrozlCALWa01r7uv69jq0w==
"@tiptap/pm@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.1.12.tgz#88a4b19be0eabb13d42ddd540c19ba1bbe74b322"
integrity sha512-Q3MXXQABG4CZBesSp82yV84uhJh/W0Gag6KPm2HRWPimSFELM09Z9/5WK9RItAYE0aLhe4Krnyiczn9AAa1tQQ==
"@tiptap/pm@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.1.13.tgz#857753691580be760da13629fab2712c52750741"
integrity sha512-zNbA7muWsHuVg12GrTgN/j119rLePPq5M8dZgkKxUwdw8VmU3eUyBp1SihPEXJ2U0MGdZhNhFX7Y74g11u66sg==
dependencies:
prosemirror-changeset "^2.2.0"
prosemirror-collab "^1.3.0"
@ -2394,18 +2394,18 @@
prosemirror-transform "^1.7.0"
prosemirror-view "^1.28.2"
"@tiptap/suggestion@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.1.12.tgz#a13782d1e625ec03b3f61b6839ecc95b6b685d3f"
integrity sha512-rhlLWwVkOodBGRMK0mAmE34l2a+BqM2Y7q1ViuQRBhs/6sZ8d83O4hARHKVwqT5stY4i1l7d7PoemV3uAGI6+g==
"@tiptap/suggestion@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.1.13.tgz#0a8317260baed764a523a09099c0889a0e5b507e"
integrity sha512-Y05TsiXTFAJ5SrfoV+21MAxig5UNbY0AVa03lQlh/yicTRPpIc6hgZzblB0uxDSYoj6+kaHE4MIZvPvhUD8BJQ==
"@tiptap/vue-2@^2.1.12":
version "2.1.12"
resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.1.12.tgz#1858057fb3bb2925228ac8d245e8e971c2b92e4f"
integrity sha512-QMalZecf10kXsug76zozaZGyDKMUBP4IKj5L4PP+KNHSLMHTHgZGpjs/l8G80+pCivYb9Ww4D1yz6ZWxLbwVxw==
"@tiptap/vue-2@^2.1.13":
version "2.1.13"
resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.1.13.tgz#e84c144fa36f79c36db3cf6913aef197002bd298"
integrity sha512-OsCINarPGyT3sDIXDrhVyaoH0I0VxeDDm+NgS5P0fPbBCnsHZ8csvxD9UB9/KZ/UoxYDfJ1zLplKQn1AIlnRzg==
dependencies:
"@tiptap/extension-bubble-menu" "^2.1.12"
"@tiptap/extension-floating-menu" "^2.1.12"
"@tiptap/extension-bubble-menu" "^2.1.13"
"@tiptap/extension-floating-menu" "^2.1.13"
vue-ts-types "^1.6.0"
"@tootallnate/once@2":