Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
482be09c39
commit
2f49e36105
|
|
@ -1203,6 +1203,7 @@ rspec-ee unit pg16:
|
|||
rspec-ee unit pg16 es8:
|
||||
extends:
|
||||
- .rspec-ee-base-pg16-es8
|
||||
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
|
||||
- .rspec-ee-unit-parallel
|
||||
|
||||
rspec-ee integration pg16:
|
||||
|
|
@ -1214,6 +1215,7 @@ rspec-ee integration pg16:
|
|||
rspec-ee integration pg16 es8:
|
||||
extends:
|
||||
- .rspec-ee-base-pg16-es8
|
||||
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
|
||||
- .rspec-ee-integration-parallel
|
||||
|
||||
rspec-ee system pg16:
|
||||
|
|
@ -1225,6 +1227,7 @@ rspec-ee system pg16:
|
|||
rspec-ee system pg16 es8:
|
||||
extends:
|
||||
- .rspec-ee-base-pg16-es8
|
||||
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
|
||||
- .rspec-ee-system-parallel
|
||||
# EE: default branch nightly scheduled jobs #
|
||||
#####################################
|
||||
|
|
|
|||
|
|
@ -2049,6 +2049,9 @@
|
|||
rules:
|
||||
- <<: *if-fork-merge-request
|
||||
changes: *code-backstage-patterns
|
||||
- <<: *if-merge-request
|
||||
changes: *core-backend-patterns
|
||||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-expedite
|
||||
when: never
|
||||
- <<: *if-merge-request-approved
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
* Use this template for documentation issues identified
|
||||
* by [Vale](https://docs.gitlab.com/ee/development/documentation/testing.html#vale)
|
||||
* or [markdownlint](https://docs.gitlab.com/ee/development/documentation/testing.html#markdownlint).
|
||||
* by [Vale](https://docs.gitlab.com/ee/development/documentation/testing/vale.html)
|
||||
* or [markdownlint](https://docs.gitlab.com/ee/development/documentation/testing/markdownlint.html).
|
||||
* This template is meant to describe work for first-time contributors or
|
||||
* for work during Hackathons.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -233,6 +233,25 @@ function moveCursor({
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Inserts the given MarkdownText into the given textArea or editor
|
||||
*
|
||||
* WARNING: This is a bit of legacy code that has some complicated logic.
|
||||
* There are a lot of hidden contexts to consider here. Please proceed with caution.
|
||||
*
|
||||
* We've tried to document the parameter responsibilities as best as possible.
|
||||
* Please look for actual usage in the code to verify any assumptions.
|
||||
*
|
||||
* @param {Object} options - Named parameters
|
||||
* @param {HTMLTextAreaElement} options.textArea - The relevant text area
|
||||
* @param {String} options.text - The current text of the text area
|
||||
* @param {String} options.tag - The markdown tag we want to enter (Example: `- [ ] ` for lists)
|
||||
* @param {Number} options.cursorOffset - Applied to the position after we insert the text (moves backward)
|
||||
* @param {String} options.blockTag - The markdown tag to use if a block is detected (Example ` ``` ` vs. ` ` `)
|
||||
* @param {Boolean} options.wrap - Flag for whether the tag is a wrapping tag (Example `**text**` vs `* text`)
|
||||
* @param {String} options.select - The text to select after inserting (Example `url` of `({text})[url]`)
|
||||
* @param {Object} options.editor - The instance of the SourceEditor which we are inserting MarkdownText into. This should be mutually exclusive with textArea.
|
||||
*/
|
||||
export function insertMarkdownText({
|
||||
textArea,
|
||||
text,
|
||||
|
|
@ -244,6 +263,13 @@ export function insertMarkdownText({
|
|||
select,
|
||||
editor,
|
||||
}) {
|
||||
// If we aren't really inserting anything, let's just noop.
|
||||
// Let's check for `selected` too because there might be hidden logic that actually
|
||||
// is expected to run for this case.
|
||||
if (!tag && !blockTag && !selected) {
|
||||
return;
|
||||
}
|
||||
|
||||
let removedLastNewLine = false;
|
||||
let removedFirstNewLine = false;
|
||||
let currentLineEmpty = false;
|
||||
|
|
@ -359,7 +385,8 @@ export function insertMarkdownText({
|
|||
} else {
|
||||
insertText(textArea, textToInsert);
|
||||
}
|
||||
return moveCursor({
|
||||
|
||||
moveCursor({
|
||||
textArea,
|
||||
tag: tag.replace(textPlaceholder, selected),
|
||||
cursorOffset,
|
||||
|
|
|
|||
|
|
@ -155,13 +155,3 @@ aside.right-sidebar:not(.right-sidebar-merge-requests) {
|
|||
// soften on darkmode
|
||||
background-color: mix($gray-50, $orange-50, 75%) !important;
|
||||
}
|
||||
|
||||
.tanuki-bot-chat-drawer .tanuki-bot-message {
|
||||
// lightens chat bubble in darkmode as $gray-50 matches drawer background. See tanuki_bot_chat.scss
|
||||
background-color: $gray-100;
|
||||
}
|
||||
|
||||
.ai-genie-chat,
|
||||
.ai-genie-chat .gl-form-input {
|
||||
background-color: $gray-10;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ fragment LinkedPipelineData on Pipeline {
|
|||
group
|
||||
label
|
||||
icon
|
||||
text
|
||||
}
|
||||
sourceJob {
|
||||
__typename
|
||||
|
|
@ -94,6 +95,7 @@ query getPipelineDetails($projectPath: ID!, $iid: ID!) {
|
|||
label
|
||||
group
|
||||
icon
|
||||
text
|
||||
}
|
||||
name
|
||||
size
|
||||
|
|
@ -128,6 +130,7 @@ query getPipelineDetails($projectPath: ID!, $iid: ID!) {
|
|||
detailsPath
|
||||
group
|
||||
label
|
||||
text
|
||||
action {
|
||||
__typename
|
||||
id
|
||||
|
|
|
|||
|
|
@ -698,7 +698,6 @@ class Member < ApplicationRecord
|
|||
end
|
||||
|
||||
def create_organization_user_record
|
||||
return if Feature.disabled?(:update_organization_users, source.root_ancestor, type: :gitlab_com_derisk)
|
||||
return if invite?
|
||||
return if source.organization.blank?
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
name: update_organization_users
|
||||
feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/419366
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139188
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/435868
|
||||
milestone: '16.8'
|
||||
group: group::tenant scale
|
||||
type: gitlab_com_derisk
|
||||
default_enabled: false
|
||||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_viewing_analytics_group_devops_adoption
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_viewing_analytics_group_devops_adoption
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- g_edit_by_web_ide
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- g_edit_by_web_ide
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_search_total
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'incident_management_alert_status_changed'
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'incident_management_incident_created'
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- incident_management_incident_created
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- g_project_management_issue_title_changed
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_search_total
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_code_review_click_diff_view_setting
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_quickactions_approve
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_package_composer_deploy_token
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_package_composer_user
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_ecosystem_jira_service_close_issue
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_code_review_user_single_file_diffs'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_code_review_user_vs_code_api_request'
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ time_frame: 28d
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_code_review_user_single_file_diffs'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- o_pipeline_authoring_unique_users_committing_ciconfigfile
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_creating_work_items
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_creating_work_items
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_creating_work_items
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_category: optional
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- error_tracking_view_list
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_category: optional
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- incident_management_timeline_event_created
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_testing_test_report_uploaded'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_category: optional
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_container_registry_push_tag_user
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_viewing_analytics_group_devops_adoption
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_viewing_analytics_group_devops_adoption
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- g_edit_by_web_ide
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_search_total
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'incident_management_alert_status_changed'
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'incident_management_incident_created'
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- incident_management_incident_created
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- g_project_management_issue_title_changed
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_code_review_click_diff_view_setting
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_quickactions_approve
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_package_composer_deploy_token
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_package_composer_user
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_ecosystem_jira_service_close_issue
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ time_frame: 7d
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_code_review_user_single_file_diffs'
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_code_review_user_single_file_diffs'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_code_review_user_vs_code_api_request'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_source: redis_hll
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- o_pipeline_authoring_unique_users_committing_ciconfigfile
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ data_source: redis_hll
|
|||
time_frame: 7d
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_creating_work_items
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_creating_work_items
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- users_creating_work_items
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_category: optional
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- error_tracking_view_list
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_category: optional
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- incident_management_timeline_event_created
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- 'i_testing_test_report_uploaded'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ data_category: optional
|
|||
instrumentation_class: AggregatedMetric
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- i_container_registry_push_tag_user
|
||||
|
|
|
|||
|
|
@ -50,12 +50,6 @@
|
|||
"aggregate": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"operator": {
|
||||
"enum": [
|
||||
"OR",
|
||||
"AND"
|
||||
]
|
||||
},
|
||||
"attribute": {
|
||||
"enum": [
|
||||
"user_id",
|
||||
|
|
@ -64,7 +58,6 @@
|
|||
}
|
||||
},
|
||||
"required": [
|
||||
"operator",
|
||||
"attribute"
|
||||
],
|
||||
"additionalProperties": false
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ key_path: reply_by_email_enabled
|
|||
description: Whether incoming email is setup
|
||||
product_section: dev
|
||||
product_stage: plan
|
||||
product_group: certify
|
||||
product_group: product_planning
|
||||
value_type: boolean
|
||||
status: active
|
||||
time_frame: none
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
# For a list of all options, see https://vale.sh/docs/topics/styles/
|
||||
extends: metric
|
||||
message: "The grade level is %s. Aim for 8th grade or lower by using shorter sentences and words."
|
||||
link: https://docs.gitlab.com/ee/development/documentation/testing.html#vale-readability-score
|
||||
link: https://docs.gitlab.com/ee/development/documentation/testing/vale.html#readability-score
|
||||
level: suggestion
|
||||
formula: |
|
||||
(0.39 * (words / sentences)) + (11.8 * (syllables / words)) - 15.59
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
# For a list of all options, see https://vale.sh/docs/topics/styles/
|
||||
extends: conditional
|
||||
message: "Instead of uppercase for '%s', use lowercase or backticks (`) if possible. Otherwise, ask a Technical Writer to add this word or acronym to the rule's exception list."
|
||||
link: https://docs.gitlab.com/ee/development/documentation/testing.html#vale-uppercase-acronym-test
|
||||
link: https://docs.gitlab.com/ee/development/documentation/testing/vale.html#vale-uppercase-acronym-test
|
||||
level: suggestion
|
||||
ignorecase: false
|
||||
# Ensures that the existence of 'first' implies the existence of 'second'.
|
||||
|
|
|
|||
|
|
@ -6,8 +6,10 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
|
||||
<!--
|
||||
This documentation is auto generated by a script.
|
||||
Please do not edit this file directly.
|
||||
|
||||
Please do not edit this file directly, check compile_docs task on lib/tasks/gitlab/graphql.rake.
|
||||
Run `bundle exec rake gitlab:graphql:compile_docs`
|
||||
or check the `compile_docs` task in `lib/tasks/gitlab/graphql.rake`.
|
||||
-->
|
||||
|
||||
# GraphQL API resources
|
||||
|
|
@ -26,11 +28,11 @@ in [Removed Items](../removed_items.md).
|
|||
|
||||
<!-- vale off -->
|
||||
<!-- Vale linting disabled after this line. -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing.html#disable-vale-tests -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing/vale.html#disable-vale-tests -->
|
||||
|
||||
<!-- markdownlint-disable MD044 -->
|
||||
<!-- MD044/proper-names test disabled after this line to make page compatible with markdownlint-cli 0.29.0. -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing.html#disable-markdownlint-tests -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing/markdownlint.html#disable-markdownlint-tests -->
|
||||
|
||||
## `Query` type
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ To enable additional CI analytics features:
|
|||
| Feature flag name | Purpose | Status |
|
||||
|------------------------------------|---------------------------------------------------------------------------|------------------------------------|
|
||||
| `ci_data_ingestion_to_click_house` | Enables synchronization of new finished CI builds to ClickHouse database. | Enabled by default in GitLab 16.8. |
|
||||
| `clickhouse_ci_analytics` | Enables the **Wait time to pick a job** chart. | Removed in 16.8. |
|
||||
| `clickhouse_ci_analytics` | Enables the **Wait time to pick a job** chart. | Removed in GitLab 16.8. |
|
||||
|
||||
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
|
||||
For a video walkthrough, see [Setting up Runner Fleet Dashboard with ClickHouse](https://www.youtube.com/watch?v=YpGV95Ctbpk).
|
||||
|
|
|
|||
|
|
@ -253,9 +253,6 @@ You can use a YAML file to define your aggregated metrics. The following argumen
|
|||
use the same data source. Additional data source requirements are described in
|
||||
[Database sourced aggregated metrics](#database-sourced-aggregated-metrics) and
|
||||
[Event sourced aggregated metrics](#event-sourced-aggregated-metrics).
|
||||
- `options.aggregate.operator`: Operator that defines how the aggregated metric data is counted. Available operators are:
|
||||
- `OR`: Removes duplicates and counts all entries that triggered any of the listed events.
|
||||
- `AND`: Removes duplicates and counts all elements that were observed triggering all of the following events.
|
||||
- `options.aggregate.attribute`: Information pointing to the attribute that is being aggregated across events.
|
||||
- `time_frame`: One or more valid time frames. Use these to limit the data included in aggregated metrics to events within a specific date-range. Valid time frames are:
|
||||
- `7d`: The last 7 days of data.
|
||||
|
|
@ -277,7 +274,6 @@ instrumentation_class: AggregatedMetric
|
|||
data_source: internal_events
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- `incident_management_alert_status_changed`
|
||||
|
|
@ -384,7 +380,6 @@ instrumentation_class: MergeUsageCountAggregatedMetric
|
|||
data_source: redis_hll
|
||||
options:
|
||||
aggregate:
|
||||
operator: OR
|
||||
attribute: user_id
|
||||
events:
|
||||
- `incident_management_alert_status_changed`
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ description: 'Learn how to use and administer GitLab, the most scalable Git-base
|
|||
|
||||
<!-- markdownlint-disable MD044 -->
|
||||
<!-- MD044/proper-names test disabled after this line to make page compatible with markdownlint-cli 0.29.0. -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing.html#disable-markdownlint-tests -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing/markdownlint.html#disable-markdownlint-tests -->
|
||||
|
||||
<div class="d-none">
|
||||
<h3>Visit <a href="https://docs.gitlab.com/ee/">docs.gitlab.com</a> for the latest version
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ OpenShift helps you to develop, deploy, and manage container-based applications.
|
|||
## Use OpenShift to run GitLab self-managed
|
||||
|
||||
You can run GitLab in an OpenShift cluster with the GitLab Operator. For more information about
|
||||
setting up GitLab on OpenShift, see [GitLab Operator](https://docs.gitlab.com/charts/installation/operator.html).
|
||||
setting up GitLab on OpenShift, see [GitLab Operator](https://docs.gitlab.com/operator/).
|
||||
|
||||
## Use OpenShift to run a GitLab Runner Fleet
|
||||
|
||||
|
|
|
|||
|
|
@ -7,105 +7,150 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
|
||||
# Support for Experiment, Beta, and Generally Available features
|
||||
|
||||
There are cases where GitLab would like to validate the edge-cases of scale, support, and maintenance burden of features in their current form for every designed use case.
|
||||
There are also scenarios where a feature is not complete enough to be considered an [MVC](https://handbook.gitlab.com/handbook/product/product-principles/#the-minimal-viable-change-mvc).
|
||||
In these cases, GitLab has the option to release features as Experiments or Beta features, and users can opt-in and test the new experience.
|
||||
Features might not be fully documented or supported in the Experiment or Beta phases.
|
||||
GitLab sometimes releases features as Experiments or Beta features, and users can opt in and test the new experience.
|
||||
Some reasons for these kinds of feature releases include:
|
||||
|
||||
Please note that some features may not be aligned to these recommendations if they were developed before the recommendations were in place or if the group determined an alternative implementation approach was needed.
|
||||
- Validating the edge-cases of scale, support, and maintenance burden of features in their current form for every designed use case.
|
||||
- Features not complete enough to be considered an [MVC](https://handbook.gitlab.com/handbook/product/product-principles/#the-minimal-viable-change-mvc),
|
||||
but added to the codebase as part of the development process.
|
||||
|
||||
Product development teams should refrain from making changes that they reasonably believe could create significant risks or friction for GitLab users or the platform, such as:
|
||||
Please note that some features may not be aligned to these recommendations if they were developed before the recommendations were in place,
|
||||
or if a team determined an alternative implementation approach was needed.
|
||||
|
||||
- Risking damage or exfiltration of existing production data accessed by our users.
|
||||
- Destabilizing other parts of the application.
|
||||
- Introducing friction into high monthly active user (MAU) areas.
|
||||
|
||||
Some GitLab features are released as Experiment or Beta versions and are
|
||||
[not fully supported](https://about.gitlab.com/support/statement-of-support/#experiment-beta-features).
|
||||
All other features are considered to be Generally Available (GA).
|
||||
|
||||
## Experiment
|
||||
|
||||
Support is not provided for features listed as "Experimental" or "Alpha" or any similar designation. Issues regarding such features should be opened in the GitLab issue tracker. Teams should release features as GA from the start unless there are strong reasons to release them as Experiment or Beta versions first.
|
||||
All Experimental features that [meet the review criteria](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#criteria-for-starting-a-production-readiness-review) must [initiate Production Readiness Review](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#process) and complete the [experiment section in the readiness template](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/.gitlab/issue_templates/production_readiness.md#experiment).
|
||||
Experimental features:
|
||||
|
||||
Experimental features are:
|
||||
|
||||
- Not ready for production use.
|
||||
- No support available.
|
||||
- May be unstable.
|
||||
- Can be removed at any time.
|
||||
- Data loss may occur.
|
||||
- Documentation may not exist or just be in a blog format.
|
||||
- Offer a way to opt-in with minimal friction. For example, needing to flip a feature flag is too much friction, but a group or project-level setting in the UI is not.
|
||||
- Link out to the [GitLab Testing Agreement](https://handbook.gitlab.com/handbook/legal/testing-agreement/) in the opt-in.
|
||||
- Documentation reflects that the feature is subject to the [GitLab Testing Agreement](https://handbook.gitlab.com/handbook/legal/testing-agreement/).
|
||||
- [UI reflects experiment status](https://design.gitlab.com/usability/feature-management#highlighting-feature-versions).
|
||||
- Feedback issue to engage with team.
|
||||
- UX not finalized, might be just quick action access.
|
||||
- Not announced in a release post.
|
||||
- Can be promoted in the user interface through [discovery moments](https://design.gitlab.com/usability/feature-management#discovery-moments), if needed.
|
||||
- Are not ready for production use.
|
||||
- Have [no support available](https://about.gitlab.com/support/statement-of-support/#experiment-beta-features).
|
||||
Issues regarding such features should be opened in the GitLab issue tracker.
|
||||
- Might be unstable.
|
||||
- Could be removed at any time.
|
||||
- Might have a risk of data loss.
|
||||
- Might have no documentation, or information limited to just GitLab issues or a blog.
|
||||
- Might not have a finalized user experience, and might only be accessible through quick actions or API requests.
|
||||
|
||||
## Beta
|
||||
|
||||
Commercially-reasonable efforts are made to provide limited support for features designated as "Beta," with the expectation that issues require extra time and assistance from development to troubleshoot.
|
||||
All Beta features that [meet the review criteria](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#criteria-for-starting-a-production-readiness-review) must complete all sections up to and including the [beta section in the readiness template](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/.gitlab/issue_templates/production_readiness.md#beta) by following the [Production Readiness Review process](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#process).
|
||||
Beta features:
|
||||
|
||||
Beta features are:
|
||||
|
||||
- May not be ready for production use.
|
||||
- Support on a commercially-reasonable effort basis.
|
||||
- Not required or necessary for most features.
|
||||
- May be unstable.
|
||||
- Configuration and dependencies unlikely to change.
|
||||
- Features and functions unlikely to change. However, breaking changes may occur outside of major releases or with less notice than for Generally Available features.
|
||||
- Data loss not likely.
|
||||
- Documentation reflects Beta status.
|
||||
- [User interface reflects Beta status](https://design.gitlab.com/usability/feature-management#highlighting-feature-versions).
|
||||
- User experience complete or near completion.
|
||||
- Behind a feature flag that is on by default.
|
||||
- Behind a toggle that is off by default.
|
||||
- Can be announced in a release post that reflects Beta status.
|
||||
- Can be promoted in the user interface through [discovery moments](https://design.gitlab.com/usability/feature-management#discovery-moments), if needed.
|
||||
- Might not be ready for production use.
|
||||
- Are [supported on a commercially-reasonable effort basis](https://about.gitlab.com/support/statement-of-support/#experiment-beta-features),
|
||||
but with the expectation that issues require extra time and assistance from development to troubleshoot.
|
||||
- Might be unstable.
|
||||
- Have configuration and dependencies that are unlikely to change.
|
||||
- Have features and functions that are unlikely to change. However, breaking changes can occur outside of major releases
|
||||
or with less notice than for Generally Available features.
|
||||
- Have a low risk of data loss.
|
||||
- Have a user experience that is complete or near completion.
|
||||
|
||||
## Generally Available (GA)
|
||||
|
||||
Generally Available features that [meet the review criteria](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#criteria-for-starting-a-production-readiness-review) must complete the [Production Readiness Review](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness) and complete all sections up to and including the [GA section in the readiness template](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/.gitlab/issue_templates/production_readiness.md#general-availability).
|
||||
Generally Available features:
|
||||
|
||||
GA features are:
|
||||
|
||||
- Ready for production use at any scale.
|
||||
- Fully documented and supported.
|
||||
- User experience complete and in line with GitLab design standards.
|
||||
|
||||
## Provide earlier access
|
||||
|
||||
Give users the ability to opt into experimental features when there is enough value.
|
||||
Where possible, release an experimental feature externally instead of only testing internally or waiting for the feature to be in a Beta state.
|
||||
Our [mission is "everyone can contribute"](https://about.gitlab.com/company/mission/), and that is only possible if people outside the company can try a feature.
|
||||
We get higher quality (more diverse) feedback if people from different organizations try something.
|
||||
We've learned that keeping features internal only for extended periods of time slows us down unnecessarily.
|
||||
The experimental features are only shown when people/organizations opt-in to experiments, we are allowed to make mistakes here and literally experiment.
|
||||
- Are ready for production use at any scale.
|
||||
- Are [fully supported](https://about.gitlab.com/support/statement-of-support/) and documented.
|
||||
- Have a complete user experience aligned with GitLab design standards.
|
||||
|
||||
## All features are in production
|
||||
|
||||
All features that are available on GitLab.com are considered "in production".
|
||||
Because all Experiment, Beta, and Generally Available features are available on GitLab.com, they are all considered to be in production.
|
||||
All Experiment, Beta, and Generally Available features are available on GitLab.com,
|
||||
so they are all considered to be "in production".
|
||||
|
||||
## Experiment and Beta Exit Criteria
|
||||
## GitLab Experiment and Beta development guidelines
|
||||
|
||||
To ensure the phases before General Availability are as short as possible each phase of Experiment, Beta and LA should include exit criteria.
|
||||
This encourages rapid iteration and reduces [cycle time](https://handbook.gitlab.com/handbook/values/#reduce-cycle-time).
|
||||
GitLab Product Managers will take the following into account when deciding what exit criteria to apply to their Experimental and Beta features:
|
||||
Teams should release features as GA from the start unless there are strong reasons to release them as Experiment or Beta versions first.
|
||||
|
||||
Product development teams should refrain from making changes that they reasonably believe
|
||||
could create significant risks or friction for GitLab users or the platform, such as:
|
||||
|
||||
- Risking damage or exfiltration of existing production data accessed by our users.
|
||||
- Destabilizing other parts of the application.
|
||||
- Introducing friction into high Monthly Active User (MAU) areas.
|
||||
|
||||
### Experiment features
|
||||
|
||||
In addition to the [Experiment details](#experiment) for users, Experiments should:
|
||||
|
||||
- Offer a way to opt in with minimal friction. For example, needing to flip a feature flag is too much friction,
|
||||
but a group or project-level setting in the UI is not.
|
||||
- Link out to the [GitLab Testing Agreement](https://handbook.gitlab.com/handbook/legal/testing-agreement/) in the opt-in.
|
||||
- Have documentation that reflects that the feature is subject to the [GitLab Testing Agreement](https://handbook.gitlab.com/handbook/legal/testing-agreement/).
|
||||
- Have [UI that reflects the Experiment status](https://design.gitlab.com/usability/feature-management#highlighting-feature-versions).
|
||||
- Have a feedback issue to engage with internal and external users.
|
||||
- Not be announced in a release post.
|
||||
- Be promoted in the user interface through [discovery moments](https://design.gitlab.com/usability/feature-management#discovery-moments),
|
||||
if needed.
|
||||
|
||||
All Experimental features that [meet the review criteria](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#criteria-for-starting-a-production-readiness-review)
|
||||
must [initiate Production Readiness Review](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#process)
|
||||
and complete the [experiment section in the readiness template](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/.gitlab/issue_templates/production_readiness.md#experiment).
|
||||
|
||||
### Beta features
|
||||
|
||||
In addition to the [Beta details](#beta) for users, Beta features should:
|
||||
|
||||
- Not be required or necessary for most features.
|
||||
- Have documentation that reflects the Beta status.
|
||||
- Have [UI that reflects the Beta status](https://design.gitlab.com/usability/feature-management#highlighting-feature-versions).
|
||||
- Be behind a feature flag that is on by default.
|
||||
- Be behind a toggle that is off by default.
|
||||
- Be announced in a release post that reflects the Beta status, if desired.
|
||||
- Be promoted in the user interface through [discovery moments](https://design.gitlab.com/usability/feature-management#discovery-moments),
|
||||
if needed.
|
||||
|
||||
All Beta features that [meet the review criteria](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#criteria-for-starting-a-production-readiness-review)
|
||||
must complete all sections up to and including the [beta section in the readiness template](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/.gitlab/issue_templates/production_readiness.md#beta)
|
||||
by following the [Production Readiness Review process](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#process).
|
||||
|
||||
### GA features
|
||||
|
||||
Generally Available features that [meet the review criteria](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness/#criteria-for-starting-a-production-readiness-review)
|
||||
must complete the [Production Readiness Review](https://handbook.gitlab.com/handbook/engineering/infrastructure/production/readiness)
|
||||
and complete all sections up to and including the [GA section in the readiness template](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/.gitlab/issue_templates/production_readiness.md#general-availability).
|
||||
|
||||
### Provide earlier access
|
||||
|
||||
Our [mission is "everyone can contribute"](https://about.gitlab.com/company/mission/),
|
||||
and that is only possible if people outside the company can try a feature. We get higher quality (more diverse) feedback
|
||||
if people from different organizations try something, so give users the ability to opt in to Experimental
|
||||
features when there is enough value.
|
||||
|
||||
Where possible, release an Experimental feature externally instead of only testing internally
|
||||
or waiting for the feature to be in a Beta state. We've learned that keeping features internal-only
|
||||
for extended periods of time slows us down unnecessarily.
|
||||
|
||||
Experimental features are only shown when people/organizations opt in to Experiments,
|
||||
so we are allowed to make mistakes here and literally experiment.
|
||||
|
||||
### Experiment and Beta Exit Criteria
|
||||
|
||||
To ensure the phases before General Availability are as short as possible each phase of Experiment,
|
||||
Beta, and Limited Availability should include exit criteria. This encourages rapid iteration and
|
||||
reduces [cycle time](https://handbook.gitlab.com/handbook/values/#reduce-cycle-time).
|
||||
|
||||
GitLab Product Managers must take the following into account when deciding what exit criteria
|
||||
to apply to their Experimental and Beta features:
|
||||
|
||||
- **Time**: Define an end date at which point the feature will be General Availability.
|
||||
- Consider setting a time-bound target metric that will define readiness for exit into GA (e.g. X number of customers retained MoM over 6 months after launch of Experiment, X% growth of free and paid users in three months since launch Beta, etc.)
|
||||
- Be mindful of balancing time to market, user experience, and richness of experience. Some Beta programs have lasted 1 milestone while other have lasted a couple of years.
|
||||
- Consider setting a time-bound target metric that will define readiness for exit into GA.
|
||||
For example, X number of customers retained MoM over 6 months after launch of Experiment,
|
||||
X% growth of free and paid users in three months since launch Beta, or similar.
|
||||
- Be mindful of balancing time to market, user experience, and richness of experience.
|
||||
Some Beta programs have lasted one milestone while others have lasted a couple of years.
|
||||
- **Feedback**: Define the minimum number of customers that have been onboarded and interviewed.
|
||||
- Consider also setting a time bound when using user feedback as an exit criteria for leaving a phases. If a given time period elapses and we can not solicit feedback from enough users, it is better to ship what we have and iterate on it as a GA at that point rather than maintain a pre-GA state.
|
||||
- Consider also setting a time bound when using user feedback as an exit criteria for leaving a phase.
|
||||
If a given time period elapses and we can not solicit feedback from enough users,
|
||||
it is better to ship what we have and iterate on it as a GA at that point rather than maintain a pre-GA state.
|
||||
- **Limited Feature Completion**: Determine if there is functionality that should be completed before moving to General Availability.
|
||||
- Be wary of including "just one more" feature. Iteration will be easier and more effective with more feedback from more users so getting to General Availability is preferred.
|
||||
- **System Performance metrics**: Determine the criteria that the platform has shown before being ready for General Availability. Examples include response times and successfully handling a number of requests per second.
|
||||
- **Success criteria**: Not all features may reach GA. It is OK to pivot if early feedback indicates that a different direction would provide more value or a better user experience. If open questions must be answered to decide if the feature is worth putting in the product, list and answer those.
|
||||
- Be wary of including "just one more" feature. Iteration is easier and more effective with more feedback from more users,
|
||||
so getting to General Availability is preferred.
|
||||
- **System Performance metrics**: Determine the criteria that the platform has shown before being ready for General Availability.
|
||||
Examples include response times and successfully handling a specific number of requests per second.
|
||||
- **Success criteria**: Not all features may reach GA. It is OK to pivot if early feedback indicates that
|
||||
a different direction would provide more value or a better user experience. If open questions must be answered
|
||||
to decide if the feature is worth putting in the product, list and answer those.
|
||||
|
||||
For the exit criteria of **AI features**, in addition to the above, see the [UX maturity requirements](https://handbook.gitlab.com/handbook/product/ai/ux-maturity/).
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ After you purchase GitLab Duo Pro, you can assign seats to billable users to gra
|
|||
1. Select the **GitLab Duo Pro** tab.
|
||||
1. To the right of the user, turn on the toggle to assign GitLab Duo Pro.
|
||||
|
||||
To use Code Suggestions in any project or group, a user must be assigned a seat in at least one top-level group.
|
||||
|
||||
### For self-managed
|
||||
|
||||
Prerequisites:
|
||||
|
|
|
|||
|
|
@ -67,6 +67,16 @@ under **Contribution Analytics**.
|
|||
|
||||
The selected time period applies to all charts and the table.
|
||||
|
||||
## Contribution analytics with ClickHouse
|
||||
|
||||
On GitLab.com, contribution analytics run through the ClickHouse Cloud cluster.
|
||||
When you configure the ClickHouse integration, the ClickHouse events table is populated in the ClickHouse database, and new events are inserted automatically in ClickHouse.
|
||||
|
||||
For more information, see:
|
||||
|
||||
- [ClickHouse integration guidelines](../../../integration/clickhouse.md)
|
||||
- [ClickHouse usage at GitLab](../../../architecture/blueprints/clickhouse_usage/index.md)
|
||||
|
||||
## Contribution analytics GraphQL API
|
||||
|
||||
To retrieve metrics for user contributions, use the [GraphQL](../../../api/graphql/reference/index.md#groupcontributions) API.
|
||||
|
|
|
|||
|
|
@ -202,7 +202,12 @@ To restore a project marked for deletion:
|
|||
## Archive a project
|
||||
|
||||
When you archive a project, the repository, packages, issues, merge requests, and all
|
||||
other features become read-only. Archived projects are also hidden from project lists.
|
||||
other features become read-only. Archived projects are:
|
||||
|
||||
- Labeled with an `archived` badge on the project page.
|
||||
- Listed on the group page in the **Archived projects** tab.
|
||||
- Hidden from project lists in **Your Work** and **Explore**.
|
||||
- Read-only.
|
||||
|
||||
To archive a project:
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ pre-push:
|
|||
files: git diff --name-only --diff-filter=d $(git merge-base origin/master HEAD)..HEAD
|
||||
glob: '{,ee/}app/graphql/**/*.rb'
|
||||
run: bundle exec rake gitlab:graphql:check_docs
|
||||
vale: # Requires Vale: https://docs.gitlab.com/ee/development/documentation/testing.html#install-linters
|
||||
vale: # Requires Vale: https://docs.gitlab.com/ee/development/documentation/testing/vale.html
|
||||
tags: documentation style
|
||||
files: git diff --name-only --diff-filter=d $(git merge-base origin/master HEAD)..HEAD
|
||||
exclude: "doc/api/graphql/reference/index.md"
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@
|
|||
"sass": "^1.69.7",
|
||||
"scrollparent": "^2.0.1",
|
||||
"semver": "^7.3.4",
|
||||
"sentrybrowser": "npm:@sentry/browser@7.100.1",
|
||||
"sentrybrowser": "npm:@sentry/browser@7.102.0",
|
||||
"sentrybrowser5": "npm:@sentry/browser@5.30.0",
|
||||
"sortablejs": "^1.10.2",
|
||||
"string-hash": "1.1.3",
|
||||
|
|
|
|||
|
|
@ -233,6 +233,8 @@ module QA
|
|||
# Selenium::WebDriver::Error::ElementClickInterceptedError
|
||||
def click_element_coordinates(name, **kwargs)
|
||||
page.driver.browser.action.move_to(find_element(name, **kwargs).native).click.perform
|
||||
rescue Selenium::WebDriver::Error::StaleElementReferenceError => e
|
||||
QA::Runtime::Logger.error("Element #{name} has become stale: #{e}")
|
||||
end
|
||||
|
||||
# replace with (..., page = self.class)
|
||||
|
|
|
|||
|
|
@ -72,6 +72,6 @@ await Promise.all(
|
|||
if (errors > 0) {
|
||||
console.log(`Total errors: ${errors}`);
|
||||
// eslint-disable-next-line no-restricted-syntax
|
||||
console.log(`To fix these errors, see https://docs.gitlab.com/ee/development/documentation/testing.html#mermaid.`);
|
||||
console.log(`To fix these errors, see https://docs.gitlab.com/ee/development/documentation/testing/#tests-in-mermaidlint.`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ export const downstream = {
|
|||
group: 'success',
|
||||
label: 'passed',
|
||||
icon: 'status_success',
|
||||
text: 'Success',
|
||||
__typename: 'DetailedStatus',
|
||||
},
|
||||
sourceJob: {
|
||||
|
|
@ -57,6 +58,7 @@ export const downstream = {
|
|||
group: 'success',
|
||||
label: 'passed',
|
||||
icon: 'status_success',
|
||||
text: 'Success',
|
||||
__typename: 'DetailedStatus',
|
||||
},
|
||||
sourceJob: {
|
||||
|
|
@ -91,6 +93,7 @@ export const upstream = {
|
|||
group: 'success',
|
||||
label: 'passed',
|
||||
icon: 'status_success',
|
||||
text: 'Success',
|
||||
__typename: 'DetailedStatus',
|
||||
},
|
||||
sourceJob: null,
|
||||
|
|
@ -144,6 +147,7 @@ export const wrappedPipelineReturn = {
|
|||
group: 'success',
|
||||
label: 'passed',
|
||||
icon: 'status_success',
|
||||
text: 'Success',
|
||||
},
|
||||
sourceJob: {
|
||||
name: 'test_c',
|
||||
|
|
@ -182,6 +186,7 @@ export const wrappedPipelineReturn = {
|
|||
label: 'passed',
|
||||
group: 'success',
|
||||
icon: 'status_success',
|
||||
text: 'Success',
|
||||
},
|
||||
name: 'build_n',
|
||||
size: 1,
|
||||
|
|
@ -206,6 +211,7 @@ export const wrappedPipelineReturn = {
|
|||
__typename: 'DetailedStatus',
|
||||
id: '84',
|
||||
icon: 'status_success',
|
||||
text: 'Success',
|
||||
tooltip: 'passed',
|
||||
label: 'passed',
|
||||
hasDetails: true,
|
||||
|
|
@ -276,6 +282,7 @@ export const delayedJob = {
|
|||
hasDetails: true,
|
||||
detailsPath: '/root/kinder-pipe/-/jobs/5339',
|
||||
group: 'scheduled',
|
||||
text: 'Success',
|
||||
action: {
|
||||
__typename: 'StatusAction',
|
||||
icon: 'time-out',
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ describe('init markdown', () => {
|
|||
let outdentButton;
|
||||
let axiosMock;
|
||||
|
||||
let spyTextAreaInput;
|
||||
|
||||
beforeAll(() => {
|
||||
setHTMLFixture(
|
||||
`<div class='md-area'>
|
||||
|
|
@ -35,6 +37,9 @@ describe('init markdown', () => {
|
|||
|
||||
textArea.focus();
|
||||
|
||||
spyTextAreaInput = jest.fn();
|
||||
textArea.addEventListener('input', spyTextAreaInput);
|
||||
|
||||
// needed for the underlying insertText to work
|
||||
document.execCommand = jest.fn(() => false);
|
||||
});
|
||||
|
|
@ -57,14 +62,28 @@ describe('init markdown', () => {
|
|||
|
||||
insertMarkdownText({
|
||||
textArea,
|
||||
text: '',
|
||||
tag: '',
|
||||
text: '2',
|
||||
tag: '*',
|
||||
blockTag: null,
|
||||
selected,
|
||||
wrap: false,
|
||||
});
|
||||
|
||||
expect(textArea.value).toBe(selected.toString());
|
||||
expect(spyTextAreaInput).toHaveBeenCalled();
|
||||
expect(textArea.value).toBe('*2');
|
||||
});
|
||||
|
||||
it('will not do anything if tag, blockTag, and selected are falsey', () => {
|
||||
insertMarkdownText({
|
||||
textArea,
|
||||
text: 'lorem ipsum',
|
||||
tab: '',
|
||||
blockTag: '',
|
||||
selected: '',
|
||||
wrap: false,
|
||||
});
|
||||
|
||||
expect(spyTextAreaInput).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -308,20 +308,18 @@ RSpec.describe Gitlab::Usage::MetricDefinition, feature_category: :service_ping
|
|||
'RedisHLLMetric' | { events: [2] } | false
|
||||
'RedisHLLMetric' | { events: 'a' } | false
|
||||
'RedisHLLMetric' | { event: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' }, events: ['a'] } | true
|
||||
'AggregatedMetric' | { aggregate: { operator: 'AND', attribute: 'project_id' }, events: %w[b c] } | true
|
||||
'AggregatedMetric' | { aggregate: { attribute: 'user_id' }, events: ['a'] } | true
|
||||
'AggregatedMetric' | { aggregate: { attribute: 'project_id' }, events: %w[b c] } | true
|
||||
'AggregatedMetric' | nil | false
|
||||
'AggregatedMetric' | {} | false
|
||||
'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' }, events: ['a'], event: 'a' } | false
|
||||
'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' } } | false
|
||||
'AggregatedMetric' | { aggregate: { attribute: 'user_id' }, events: ['a'], event: 'a' } | false
|
||||
'AggregatedMetric' | { aggregate: { attribute: 'user_id' } } | false
|
||||
'AggregatedMetric' | { events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id' }, events: 'a' } | false
|
||||
'AggregatedMetric' | { aggregate: { attribute: 'user_id' }, events: 'a' } | false
|
||||
'AggregatedMetric' | { aggregate: 'a', events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { operator: 'OR' }, events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { attribute: 'user_id' }, events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: 'user_id', a: 'b' }, events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { operator: '???', attribute: 'user_id' }, events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { operator: 'OR', attribute: ['user_id'] }, events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: {}, events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { attribute: 'user_id', a: 'b' }, events: ['a'] } | false
|
||||
'AggregatedMetric' | { aggregate: { attribute: ['user_id'] }, events: ['a'] } | false
|
||||
end
|
||||
|
||||
with_them do
|
||||
|
|
|
|||
|
|
@ -1119,13 +1119,11 @@ RSpec.describe Member, feature_category: :groups_and_projects do
|
|||
let_it_be(:group) { create(:group, :with_organization) }
|
||||
let_it_be(:user) { create(:user) }
|
||||
let(:member) { create(:group_member, source: group, user: user) }
|
||||
let(:update_organization_users_enabled) { true }
|
||||
|
||||
subject(:commit_member) { member }
|
||||
|
||||
before do
|
||||
allow(Organizations::OrganizationUser).to receive(:create_organization_record_for).once.and_call_original
|
||||
stub_feature_flags(update_organization_users: update_organization_users_enabled)
|
||||
end
|
||||
|
||||
shared_examples_for 'does not create an organization_user entry' do
|
||||
|
|
@ -1135,75 +1133,67 @@ RSpec.describe Member, feature_category: :groups_and_projects do
|
|||
end
|
||||
|
||||
context 'when creating' do
|
||||
context 'when update_organization_users is enabled' do
|
||||
it 'inserts new record on member creation' do
|
||||
expect { member }.to change { Organizations::OrganizationUser.count }.by(1)
|
||||
record_attrs = { organization: group.organization, user: member.user, access_level: :default }
|
||||
expect(Organizations::OrganizationUser.exists?(record_attrs)).to be(true)
|
||||
end
|
||||
it 'inserts new record on member creation' do
|
||||
expect { member }.to change { Organizations::OrganizationUser.count }.by(1)
|
||||
record_attrs = { organization: group.organization, user: member.user, access_level: :default }
|
||||
expect(Organizations::OrganizationUser.exists?(record_attrs)).to be(true)
|
||||
end
|
||||
|
||||
context 'when user already exists in the organization_users' do
|
||||
let_it_be(:user) { create(:user) }
|
||||
let_it_be(:common_attrs) { { organization: group.organization, user: user } }
|
||||
let(:new_member) { create(:group_member, :owner, source: group, user: user) }
|
||||
context 'when user already exists in the organization_users' do
|
||||
let_it_be(:user) { create(:user) }
|
||||
let_it_be(:common_attrs) { { organization: group.organization, user: user } }
|
||||
let(:new_member) { create(:group_member, :owner, source: group, user: user) }
|
||||
|
||||
context 'for an already existing default organization_user' do
|
||||
before_all do
|
||||
create(:organization_user, common_attrs)
|
||||
end
|
||||
|
||||
it 'does not insert a new record in organization_users' do
|
||||
expect { new_member }.not_to change { Organizations::OrganizationUser.count }
|
||||
expect(
|
||||
Organizations::OrganizationUser.exists?(
|
||||
organization: group.organization, user: user, access_level: :default
|
||||
)
|
||||
).to be(true)
|
||||
end
|
||||
|
||||
it 'does not update timestamps' do
|
||||
travel_to(1.day.from_now) do
|
||||
expect { new_member }.not_to change { Organizations::OrganizationUser.last.updated_at }
|
||||
end
|
||||
end
|
||||
context 'for an already existing default organization_user' do
|
||||
before_all do
|
||||
create(:organization_user, common_attrs)
|
||||
end
|
||||
|
||||
context 'for an already existing owner organization_user' do
|
||||
before_all do
|
||||
create(:organization_user, :owner, common_attrs)
|
||||
end
|
||||
it 'does not insert a new record in organization_users' do
|
||||
expect { new_member }.not_to change { Organizations::OrganizationUser.count }
|
||||
expect(
|
||||
Organizations::OrganizationUser.exists?(
|
||||
organization: group.organization, user: user, access_level: :default
|
||||
)
|
||||
).to be(true)
|
||||
end
|
||||
|
||||
it 'does not insert a new record in organization_users nor update the access_level' do
|
||||
expect do
|
||||
create(:group_member, :owner, source: group, user: user)
|
||||
end.not_to change { Organizations::OrganizationUser.count }
|
||||
|
||||
expect(
|
||||
Organizations::OrganizationUser.exists?(common_attrs.merge(access_level: :default))
|
||||
).to be(false)
|
||||
expect(
|
||||
Organizations::OrganizationUser.exists?(common_attrs.merge(access_level: :owner))
|
||||
).to be(true)
|
||||
it 'does not update timestamps' do
|
||||
travel_to(1.day.from_now) do
|
||||
expect { new_member }.not_to change { Organizations::OrganizationUser.last.updated_at }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when updating the organization_users is not successful' do
|
||||
it 'rolls back the member creation' do
|
||||
allow(Organizations::OrganizationUser)
|
||||
.to receive(:create_organization_record_for).once.and_raise(ActiveRecord::StatementTimeout)
|
||||
context 'for an already existing owner organization_user' do
|
||||
before_all do
|
||||
create(:organization_user, :owner, common_attrs)
|
||||
end
|
||||
|
||||
expect { commit_member }.to raise_error(ActiveRecord::StatementTimeout)
|
||||
expect(Organizations::OrganizationUser.exists?(organization: group.organization)).to be(false)
|
||||
expect(group.group_members).to be_empty
|
||||
it 'does not insert a new record in organization_users nor update the access_level' do
|
||||
expect do
|
||||
create(:group_member, :owner, source: group, user: user)
|
||||
end.not_to change { Organizations::OrganizationUser.count }
|
||||
|
||||
expect(
|
||||
Organizations::OrganizationUser.exists?(common_attrs.merge(access_level: :default))
|
||||
).to be(false)
|
||||
expect(
|
||||
Organizations::OrganizationUser.exists?(common_attrs.merge(access_level: :owner))
|
||||
).to be(true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when update_organization_users is disabled' do
|
||||
let(:update_organization_users_enabled) { false }
|
||||
context 'when updating the organization_users is not successful' do
|
||||
it 'rolls back the member creation' do
|
||||
allow(Organizations::OrganizationUser)
|
||||
.to receive(:create_organization_record_for).once.and_raise(ActiveRecord::StatementTimeout)
|
||||
|
||||
it_behaves_like 'does not create an organization_user entry'
|
||||
expect { commit_member }.to raise_error(ActiveRecord::StatementTimeout)
|
||||
expect(Organizations::OrganizationUser.exists?(organization: group.organization)).to be(false)
|
||||
expect(group.group_members).to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
context 'when member is an invite' do
|
||||
|
|
@ -1228,30 +1218,22 @@ RSpec.describe Member, feature_category: :groups_and_projects do
|
|||
|
||||
subject(:commit_member) { member.accept_invite!(user) }
|
||||
|
||||
context 'when update_organization_users is enabled' do
|
||||
it 'inserts new record on member creation' do
|
||||
expect { commit_member }.to change { Organizations::OrganizationUser.count }.by(1)
|
||||
expect(group.organization.user?(user)).to be(true)
|
||||
end
|
||||
|
||||
context 'when updating the organization_users is not successful' do
|
||||
before do
|
||||
allow(Organizations::OrganizationUser)
|
||||
.to receive(:create_organization_record_for).once.and_raise(ActiveRecord::StatementTimeout)
|
||||
end
|
||||
|
||||
it 'rolls back the member creation' do
|
||||
expect { commit_member }.to raise_error(ActiveRecord::StatementTimeout)
|
||||
expect(group.organization.user?(user)).to be(false)
|
||||
expect(member.reset.user).to be_nil
|
||||
end
|
||||
end
|
||||
it 'inserts new record on member creation' do
|
||||
expect { commit_member }.to change { Organizations::OrganizationUser.count }.by(1)
|
||||
expect(group.organization.user?(user)).to be(true)
|
||||
end
|
||||
|
||||
context 'when update_organization_users is disabled' do
|
||||
let(:update_organization_users_enabled) { false }
|
||||
context 'when updating the organization_users is not successful' do
|
||||
before do
|
||||
allow(Organizations::OrganizationUser)
|
||||
.to receive(:create_organization_record_for).once.and_raise(ActiveRecord::StatementTimeout)
|
||||
end
|
||||
|
||||
it_behaves_like 'does not create an organization_user entry'
|
||||
it 'rolls back the member creation' do
|
||||
expect { commit_member }.to raise_error(ActiveRecord::StatementTimeout)
|
||||
expect(group.organization.user?(user)).to be(false)
|
||||
expect(member.reset.user).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'when organization does not exist' do
|
||||
|
|
|
|||
|
|
@ -62,8 +62,10 @@ module Tooling
|
|||
|
||||
<!--
|
||||
This documentation is auto generated by a script.
|
||||
Please do not edit this file directly.
|
||||
|
||||
Please do not edit this file directly, check compile_docs task on lib/tasks/gitlab/graphql.rake.
|
||||
Run `bundle exec rake gitlab:graphql:compile_docs`
|
||||
or check the `compile_docs` task in `lib/tasks/gitlab/graphql.rake`.
|
||||
-->
|
||||
MD
|
||||
end
|
||||
|
|
|
|||
|
|
@ -19,11 +19,11 @@
|
|||
|
||||
<!-- vale off -->
|
||||
<!-- Vale linting disabled after this line. -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing.html#disable-vale-tests -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing/vale.html#disable-vale-tests -->
|
||||
|
||||
<!-- markdownlint-disable MD044 -->
|
||||
<!-- MD044/proper-names test disabled after this line to make page compatible with markdownlint-cli 0.29.0. -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing.html#disable-markdownlint-tests -->
|
||||
<!-- See https://docs.gitlab.com/ee/development/documentation/testing/markdownlint.html#disable-markdownlint-tests -->
|
||||
\
|
||||
|
||||
:plain
|
||||
|
|
|
|||
112
yarn.lock
112
yarn.lock
|
|
@ -2027,33 +2027,33 @@
|
|||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.4.1.tgz#8311b77e6cce322865ba12ada8c3779369610d18"
|
||||
integrity sha512-eAhItDX9yQtZVM3yvXS/VR3qPqcnXvnLyx1pLXl4JzyNMBNO3KC986t/iAg2zcMzpAp9JSvxB5VZGnBiNoA98w==
|
||||
|
||||
"@sentry-internal/feedback@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.100.1.tgz#99585ba6f71eca3e7afe918273dd55b12f3aac8a"
|
||||
integrity sha512-yqcRVnjf+qS+tC4NxOKLJOaSJ+csHmh/dHUzvCTkf5rLsplwXYRnny2r0tqGTQ4tuXMxwgSMKPYwicg81P+xuw==
|
||||
"@sentry-internal/feedback@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.102.0.tgz#c3c7f5cfe9726b6d4d1917bd5bd01238154f8ee7"
|
||||
integrity sha512-GxHdzbOF4tg6TtyQzFqb/8c/p07n68qZC5KYwzs7AuW5ey0IPmdC58pOh3Kk52JA0P69/RZy39+r1p1Swr6C+Q==
|
||||
dependencies:
|
||||
"@sentry/core" "7.100.1"
|
||||
"@sentry/types" "7.100.1"
|
||||
"@sentry/utils" "7.100.1"
|
||||
"@sentry/core" "7.102.0"
|
||||
"@sentry/types" "7.102.0"
|
||||
"@sentry/utils" "7.102.0"
|
||||
|
||||
"@sentry-internal/replay-canvas@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.100.1.tgz#d37228575931b869d2ad415af46b342d83dd0fd7"
|
||||
integrity sha512-TnqxqJGhbFhhYRhTG2WLFer+lVieV7mNGeIxFBiw1L4kuj8KGl+C0sknssKyZSRVJFSahhHIosHJGRMkkD//7g==
|
||||
"@sentry-internal/replay-canvas@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.102.0.tgz#2bed235bbcb22eea71c39650096d21a3ed32f466"
|
||||
integrity sha512-rgNO4PdFv0AYflBsCNbSIwpQuOOJQTqyu8i8U0PupjveNjkm0CUJhber/ZOcaGmbyjdvwikGwgWY2O0Oj0USCA==
|
||||
dependencies:
|
||||
"@sentry/core" "7.100.1"
|
||||
"@sentry/replay" "7.100.1"
|
||||
"@sentry/types" "7.100.1"
|
||||
"@sentry/utils" "7.100.1"
|
||||
"@sentry/core" "7.102.0"
|
||||
"@sentry/replay" "7.102.0"
|
||||
"@sentry/types" "7.102.0"
|
||||
"@sentry/utils" "7.102.0"
|
||||
|
||||
"@sentry-internal/tracing@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.100.1.tgz#4329492e50c390567197a4acbf7e3672b1db7820"
|
||||
integrity sha512-+u9RRf5eL3StiyiRyAHZmdkAR7GTSGx4Mt4Lmi5NEtCcWlTGZ1QgW2r8ZbhouVmTiJkjhQgYCyej3cojtazeJg==
|
||||
"@sentry-internal/tracing@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.102.0.tgz#24cf662e1eb5623f6d5197e78c66d7b257560eb8"
|
||||
integrity sha512-BlE33HWL1IzkGa0W+pwTiyu01MUIfYf+WnO9UC8qkDW3jxVvg2zhoSjXSxikT+KPCOgoZpQHspaTzwjnI1LCvw==
|
||||
dependencies:
|
||||
"@sentry/core" "7.100.1"
|
||||
"@sentry/types" "7.100.1"
|
||||
"@sentry/utils" "7.100.1"
|
||||
"@sentry/core" "7.102.0"
|
||||
"@sentry/types" "7.102.0"
|
||||
"@sentry/utils" "7.102.0"
|
||||
|
||||
"@sentry/core@5.30.0":
|
||||
version "5.30.0"
|
||||
|
|
@ -2066,13 +2066,13 @@
|
|||
"@sentry/utils" "5.30.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/core@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.100.1.tgz#7b8e101a931af8e8b3b2449534749f882772df4f"
|
||||
integrity sha512-f+ItUge/o9AjlveQq0ZUbQauKlPH1FIJbC1TRaYLJ4KNfOdrsh8yZ29RmWv0cFJ/e+FGTr603gWpRPObF5rM8Q==
|
||||
"@sentry/core@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.102.0.tgz#da5e04a5fe97ed91464944dac40b813e6f8aa453"
|
||||
integrity sha512-GO9eLOSBK1waW4AD0wDXAreaNqXFQ1MPQZrkKcN+GJYEFhJK1+u+MSV7vO5Fs/rIfaTZIZ2jtEkxSSAOucE8EQ==
|
||||
dependencies:
|
||||
"@sentry/types" "7.100.1"
|
||||
"@sentry/utils" "7.100.1"
|
||||
"@sentry/types" "7.102.0"
|
||||
"@sentry/utils" "7.102.0"
|
||||
|
||||
"@sentry/hub@5.30.0":
|
||||
version "5.30.0"
|
||||
|
|
@ -2092,25 +2092,25 @@
|
|||
"@sentry/types" "5.30.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/replay@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.100.1.tgz#d9af5f8e92ce0f93cef89f5aef74d91a8d12c3eb"
|
||||
integrity sha512-B1NFjzGEFaqejxBRdUyEzH8ChXc2kfiqlA/W/Lg0aoWIl2/7nuMk+l4ld9gW5F5bIAXDTVd5vYltb1lWEbpr7w==
|
||||
"@sentry/replay@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.102.0.tgz#209b7adb68e89772824218ecab498d3a6fbc2c42"
|
||||
integrity sha512-sUIBN4ZY0J5/dQS3KOe5VLykm856KZkTrhV8kmBEylzQhw1BBc8i2ehTILy5ZYh9Ra8uXPTAmtwpvYf/dRDfAg==
|
||||
dependencies:
|
||||
"@sentry-internal/tracing" "7.100.1"
|
||||
"@sentry/core" "7.100.1"
|
||||
"@sentry/types" "7.100.1"
|
||||
"@sentry/utils" "7.100.1"
|
||||
"@sentry-internal/tracing" "7.102.0"
|
||||
"@sentry/core" "7.102.0"
|
||||
"@sentry/types" "7.102.0"
|
||||
"@sentry/utils" "7.102.0"
|
||||
|
||||
"@sentry/types@5.30.0":
|
||||
version "5.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402"
|
||||
integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==
|
||||
|
||||
"@sentry/types@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.100.1.tgz#1349b77269cecf4e80c087842575bd1a001e9995"
|
||||
integrity sha512-fLM+LedHuKzOd8IhXBqaQuym+AA519MGjeczBa5kGakes/BbAsUMwsNfjsKQedp7Kh44RgYF99jwoRPK2oDrXw==
|
||||
"@sentry/types@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.102.0.tgz#b31e9faa54036053ab82c09c3c855035a4889c59"
|
||||
integrity sha512-FPfFBP0x3LkPARw1/6cWySLq1djIo8ao3Qo2KNBeE9CHdq8bsS1a8zzjJLuWG4Ww+wieLP8/lY3WTgrCz4jowg==
|
||||
|
||||
"@sentry/utils@5.30.0":
|
||||
version "5.30.0"
|
||||
|
|
@ -2120,12 +2120,12 @@
|
|||
"@sentry/types" "5.30.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/utils@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.100.1.tgz#6e26f3b06b1e485a2180f464ab3374ecb8d5e407"
|
||||
integrity sha512-Ve6dXr1o6xiBe3VCoJgiutmBKrugryI65EZAbYto5XI+t+PjiLLf9wXtEMF24ZrwImo4Lv3E9Uqza+fWkEbw6A==
|
||||
"@sentry/utils@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.102.0.tgz#66325f2567986cc3fd12fbdb980fb8ada170342b"
|
||||
integrity sha512-cp5KCRe0slOVMwG4iP2Z4UajQkjryRTiFskZ5H7Q3X9R5voM8+DAhiDcIW88GL9NxqyUrAJOjmKdeLK2vM+bdA==
|
||||
dependencies:
|
||||
"@sentry/types" "7.100.1"
|
||||
"@sentry/types" "7.102.0"
|
||||
|
||||
"@sinclair/typebox@^0.24.1":
|
||||
version "0.24.40"
|
||||
|
|
@ -11933,18 +11933,18 @@ send@0.17.2:
|
|||
"@sentry/utils" "5.30.0"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"sentrybrowser@npm:@sentry/browser@7.100.1":
|
||||
version "7.100.1"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.100.1.tgz#146ffca94cc187ecbf49915ef3100f6037316110"
|
||||
integrity sha512-IxHQ08ixf0bmaWpe4yt1J4UUsOpg02fxax9z3tOQYXw5MSzz5pDXn8M8DFUVJB3wWuyXhHXTub9yD3VIP9fnoA==
|
||||
"sentrybrowser@npm:@sentry/browser@7.102.0":
|
||||
version "7.102.0"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.102.0.tgz#335f51d01aabf8c4d2abc871855f9c2d19f8f70d"
|
||||
integrity sha512-hIggcMnojIbWhbmlRfkykHmy6n7pjug0AHfF19HRUQxAx9KJfMH5YdWvohov0Hb9fS+jdvqgE+/4AWbEeXQrHw==
|
||||
dependencies:
|
||||
"@sentry-internal/feedback" "7.100.1"
|
||||
"@sentry-internal/replay-canvas" "7.100.1"
|
||||
"@sentry-internal/tracing" "7.100.1"
|
||||
"@sentry/core" "7.100.1"
|
||||
"@sentry/replay" "7.100.1"
|
||||
"@sentry/types" "7.100.1"
|
||||
"@sentry/utils" "7.100.1"
|
||||
"@sentry-internal/feedback" "7.102.0"
|
||||
"@sentry-internal/replay-canvas" "7.102.0"
|
||||
"@sentry-internal/tracing" "7.102.0"
|
||||
"@sentry/core" "7.102.0"
|
||||
"@sentry/replay" "7.102.0"
|
||||
"@sentry/types" "7.102.0"
|
||||
"@sentry/utils" "7.102.0"
|
||||
|
||||
serialize-javascript@^2.1.2:
|
||||
version "2.1.2"
|
||||
|
|
|
|||
Loading…
Reference in New Issue