Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2023-02-24 03:07:49 +00:00
parent 0abfd0b478
commit 201a883bdf
98 changed files with 354 additions and 299 deletions

View File

@ -1 +1 @@
ccf2c4c167fc08550f8b92200b512cae75f19993
fb7ac6faa5b8e8cad4a66e597665eb12d398b84d

View File

@ -8,3 +8,13 @@
- learn_more_link = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_link }
= html_escape(s_('The Slack notifications integration is deprecated and will be removed in a future release. To continue to receive notifications from Slack, use the GitLab for Slack app instead. %{learn_more_link_start}Learn more%{link_end}.')) % { learn_more_link_start: learn_more_link, link_end: '</a>'.html_safe }
- else
= render Pajamas::AlertComponent.new(title: _('Slack notifications will be deprecated'),
variant: :warning,
dismissible: false,
alert_options: { class: 'gl-mt-5', data: { testid: "slack-notifications-deprecation" } }) do |c|
= c.body do
- help_page_link = help_page_url('user/project/integrations/gitlab_slack_application')
- learn_more_link = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_link }
= html_escape(s_('Slack notifications will be brought into the GitLab for Slack app so you can manage both integrations from one place. %{learn_more_link_start}Learn more%{link_end}.')) % { learn_more_link_start: learn_more_link, link_end: '</a>'.html_safe }

View File

@ -8,7 +8,7 @@ unless Gitlab::Runtime.sidekiq?
Rails.application.configure do
config.lograge.enabled = true
# Store the lograge JSON files in a separate file
config.lograge.keep_original_rails_log = Gitlab::Utils.to_boolean(ENV.fetch('UNSTRUCTURED_RAILS_LOG', 'true'))
config.lograge.keep_original_rails_log = Gitlab::Utils.to_boolean(ENV.fetch('UNSTRUCTURED_RAILS_LOG', 'false'))
# Don't use the Logstash formatter since this requires logstash-event, an
# unmaintained gem that monkey patches `Time`
config.lograge.formatter = Lograge::Formatters::Json.new

View File

@ -35,7 +35,7 @@ You can use the following environment variables to override certain values:
| `GITLAB_ROOT_PASSWORD` | string | Sets the password for the `root` user on installation. |
| `GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN` | string | Sets the initial registration token used for runners. |
| `RAILS_ENV` | string | The Rails environment; can be one of `production`, `development`, `staging`, or `test`. |
| `UNSTRUCTURED_RAILS_LOG` | string | Enables the unstructured log in addition to JSON logs (defaults to `true`). |
| `UNSTRUCTURED_RAILS_LOG` | string | Enables the unstructured log in addition to JSON logs (defaults to `false`). |
| `GITLAB_RAILS_CACHE_DEFAULT_TTL_SECONDS` | integer | The default TTL used for entries stored in the Rails-cache. Default is `28800`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95042) in 15.3. |
## Adding more variables

View File

@ -139,13 +139,14 @@ You can override cache settings without overwriting the global cache by using
`policy` for one job:
```yaml
cache: &global_cache
key: $CI_COMMIT_REF_SLUG
paths:
- node_modules/
- public/
- vendor/
policy: pull-push
default:
cache: &global_cache
key: $CI_COMMIT_REF_SLUG
paths:
- node_modules/
- public/
- vendor/
policy: pull-push
job:
cache:

View File

@ -5,7 +5,7 @@ module Gitlab
LOGGERS = [Gitlab::AppTextLogger, Gitlab::AppJsonLogger].freeze
def self.loggers
if Gitlab::Utils.to_boolean(ENV.fetch('UNSTRUCTURED_RAILS_LOG', 'true'))
if Gitlab::Utils.to_boolean(ENV.fetch('UNSTRUCTURED_RAILS_LOG', 'false'))
LOGGERS
else
[Gitlab::AppJsonLogger]

View File

@ -4,20 +4,19 @@ module Gitlab
module Database
module SchemaValidation
class Runner
def initialize(structure_sql, database)
def initialize(structure_sql, database, validators: Validators::BaseValidator.all_validators)
@structure_sql = structure_sql
@database = database
@validators = validators
end
def execute
validator_classes = Validators::BaseValidator.all_validators
validator_classes.flat_map { |c| c.new(structure_sql, database).execute }
validators.flat_map { |c| c.new(structure_sql, database).execute }
end
private
attr_reader :structure_sql, :database
attr_reader :structure_sql, :database, :validators
end
end
end

View File

@ -40337,6 +40337,12 @@ msgstr ""
msgid "Slack notifications integration is deprecated"
msgstr ""
msgid "Slack notifications will be brought into the GitLab for Slack app so you can manage both integrations from one place. %{learn_more_link_start}Learn more%{link_end}."
msgstr ""
msgid "Slack notifications will be deprecated"
msgstr ""
msgid "SlackIntegration|Are you sure you want to remove this project from the GitLab for Slack app?"
msgstr ""

View File

@ -56,47 +56,47 @@
"@gitlab/favicon-overlay": "2.0.0",
"@gitlab/fonts": "^1.2.0",
"@gitlab/svgs": "3.21.0",
"@gitlab/ui": "56.1.1",
"@gitlab/ui": "56.1.2",
"@gitlab/visual-review-tools": "1.7.3",
"@gitlab/web-ide": "0.0.1-dev-20230216131813",
"@rails/actioncable": "6.1.4-7",
"@rails/ujs": "6.1.4-7",
"@sourcegraph/code-host-integration": "0.0.84",
"@tiptap/core": "^2.0.0-beta.217",
"@tiptap/extension-blockquote": "^2.0.0-beta.217",
"@tiptap/extension-bold": "^2.0.0-beta.217",
"@tiptap/extension-bubble-menu": "2.0.0-beta.217",
"@tiptap/extension-bullet-list": "^2.0.0-beta.217",
"@tiptap/extension-code": "^2.0.0-beta.217",
"@tiptap/extension-code-block": "^2.0.0-beta.217",
"@tiptap/extension-code-block-lowlight": "2.0.0-beta.217",
"@tiptap/extension-document": "^2.0.0-beta.217",
"@tiptap/extension-dropcursor": "^2.0.0-beta.217",
"@tiptap/extension-gapcursor": "^2.0.0-beta.217",
"@tiptap/extension-hard-break": "^2.0.0-beta.217",
"@tiptap/extension-heading": "^2.0.0-beta.217",
"@tiptap/extension-highlight": "^2.0.0-beta.217",
"@tiptap/extension-history": "^2.0.0-beta.217",
"@tiptap/extension-horizontal-rule": "^2.0.0-beta.217",
"@tiptap/extension-image": "^2.0.0-beta.217",
"@tiptap/extension-italic": "^2.0.0-beta.217",
"@tiptap/extension-link": "^2.0.0-beta.217",
"@tiptap/extension-list-item": "^2.0.0-beta.217",
"@tiptap/extension-ordered-list": "^2.0.0-beta.217",
"@tiptap/extension-paragraph": "^2.0.0-beta.217",
"@tiptap/extension-strike": "^2.0.0-beta.217",
"@tiptap/extension-subscript": "^2.0.0-beta.217",
"@tiptap/extension-superscript": "^2.0.0-beta.217",
"@tiptap/extension-table": "^2.0.0-beta.217",
"@tiptap/extension-table-cell": "^2.0.0-beta.217",
"@tiptap/extension-table-header": "^2.0.0-beta.217",
"@tiptap/extension-table-row": "^2.0.0-beta.217",
"@tiptap/extension-task-item": "^2.0.0-beta.217",
"@tiptap/extension-task-list": "^2.0.0-beta.217",
"@tiptap/extension-text": "^2.0.0-beta.217",
"@tiptap/pm": "^2.0.0-beta.217",
"@tiptap/suggestion": "^2.0.0-beta.217",
"@tiptap/vue-2": "2.0.0-beta.217",
"@tiptap/core": "^2.0.0-beta.218",
"@tiptap/extension-blockquote": "^2.0.0-beta.218",
"@tiptap/extension-bold": "^2.0.0-beta.218",
"@tiptap/extension-bubble-menu": "2.0.0-beta.218",
"@tiptap/extension-bullet-list": "^2.0.0-beta.218",
"@tiptap/extension-code": "^2.0.0-beta.218",
"@tiptap/extension-code-block": "^2.0.0-beta.218",
"@tiptap/extension-code-block-lowlight": "2.0.0-beta.218",
"@tiptap/extension-document": "^2.0.0-beta.218",
"@tiptap/extension-dropcursor": "^2.0.0-beta.218",
"@tiptap/extension-gapcursor": "^2.0.0-beta.218",
"@tiptap/extension-hard-break": "^2.0.0-beta.218",
"@tiptap/extension-heading": "^2.0.0-beta.218",
"@tiptap/extension-highlight": "^2.0.0-beta.218",
"@tiptap/extension-history": "^2.0.0-beta.218",
"@tiptap/extension-horizontal-rule": "^2.0.0-beta.218",
"@tiptap/extension-image": "^2.0.0-beta.218",
"@tiptap/extension-italic": "^2.0.0-beta.218",
"@tiptap/extension-link": "^2.0.0-beta.218",
"@tiptap/extension-list-item": "^2.0.0-beta.218",
"@tiptap/extension-ordered-list": "^2.0.0-beta.218",
"@tiptap/extension-paragraph": "^2.0.0-beta.218",
"@tiptap/extension-strike": "^2.0.0-beta.218",
"@tiptap/extension-subscript": "^2.0.0-beta.218",
"@tiptap/extension-superscript": "^2.0.0-beta.218",
"@tiptap/extension-table": "^2.0.0-beta.218",
"@tiptap/extension-table-cell": "^2.0.0-beta.218",
"@tiptap/extension-table-header": "^2.0.0-beta.218",
"@tiptap/extension-table-row": "^2.0.0-beta.218",
"@tiptap/extension-task-item": "^2.0.0-beta.218",
"@tiptap/extension-task-list": "^2.0.0-beta.218",
"@tiptap/extension-text": "^2.0.0-beta.218",
"@tiptap/pm": "^2.0.0-beta.218",
"@tiptap/suggestion": "^2.0.0-beta.218",
"@tiptap/vue-2": "2.0.0-beta.218",
"apollo-upload-client": "15.0.0",
"apollo3-cache-persist": "^0.14.1",
"autosize": "^5.0.1",

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Settings, feature_category: :authentication_and_authorization do
RSpec.describe Settings, feature_category: :system_access do
using RSpec::Parameterized::TableSyntax
describe 'omniauth' do

View File

@ -400,7 +400,7 @@ RSpec.describe Admin::ApplicationSettingsController, :do_not_mock_admin_mode_set
end
end
describe 'PUT #reset_registration_token', feature_category: :credential_management do
describe 'PUT #reset_registration_token', feature_category: :user_management do
before do
sign_in(admin)
end

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Profiles::TwoFactorAuthsController, feature_category: :authentication_and_authorization do
RSpec.describe Profiles::TwoFactorAuthsController, feature_category: :system_access do
before do
# `user` should be defined within the action-specific describe blocks
sign_in(user)

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Projects::GroupLinksController, feature_category: :authentication_and_authorization do
RSpec.describe Projects::GroupLinksController, feature_category: :system_access do
let_it_be(:group) { create(:group, :private) }
let_it_be(:group2) { create(:group, :private) }
let_it_be(:project) { create(:project, :private, group: group2) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Registrations::WelcomeController, feature_category: :authentication_and_authorization do
RSpec.describe Registrations::WelcomeController, feature_category: :system_access do
let(:user) { create(:user) }
describe '#welcome' do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'admin deploy keys', :js, feature_category: :authentication_and_authorization do
RSpec.describe 'admin deploy keys', :js, feature_category: :system_access do
include Spec::Support::Helpers::ModalHelpers
let_it_be(:admin) { create(:admin) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Admin Mode Login', feature_category: :authentication_and_authorization do
RSpec.describe 'Admin Mode Login', feature_category: :system_access do
include TermsHelper
include UserLoginHelper
include LdapHelpers

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Admin Mode Logout', :js, feature_category: :authentication_and_authorization do
RSpec.describe 'Admin Mode Logout', :js, feature_category: :system_access do
include TermsHelper
include UserLoginHelper
include Spec::Support::Helpers::Features::TopNavSpecHelpers

View File

@ -3,7 +3,7 @@
require 'spec_helper'
# Test an operation that triggers background jobs requiring administrative rights
RSpec.describe 'Admin mode for workers', :request_store, feature_category: :authentication_and_authorization do
RSpec.describe 'Admin mode for workers', :request_store, feature_category: :system_access do
include Spec::Support::Helpers::Features::AdminUsersHelpers
let(:user) { create(:user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Admin > Users > Impersonation Tokens', :js, feature_category: :authentication_and_authorization do
RSpec.describe 'Admin > Users > Impersonation Tokens', :js, feature_category: :system_access do
include Spec::Support::Helpers::ModalHelpers
include Spec::Support::Helpers::AccessTokenHelpers

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Registration enabled callout', feature_category: :authentication_and_authorization do
RSpec.describe 'Registration enabled callout', feature_category: :system_access do
let_it_be(:admin) { create(:admin) }
let_it_be(:non_admin) { create(:user) }
let_it_be(:project) { create(:project) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Group > Settings > Access Tokens', :js, feature_category: :authentication_and_authorization do
RSpec.describe 'Group > Settings > Access Tokens', :js, feature_category: :system_access do
include Spec::Support::Helpers::ModalHelpers
let_it_be(:user) { create(:user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Project > Settings > Access Tokens', :js, feature_category: :credential_management do
RSpec.describe 'Project > Settings > Access Tokens', :js, feature_category: :user_management do
include Spec::Support::Helpers::ModalHelpers
let_it_be(:user) { create(:user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Admin::Projects", feature_category: :permissions do
RSpec.describe "Admin::Projects", feature_category: :system_access do
include AccessMatchers
describe "GET /admin/projects" do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Dashboard access", feature_category: :permissions do
RSpec.describe "Dashboard access", feature_category: :system_access do
include AccessMatchers
describe "GET /dashboard" do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Internal Group access', feature_category: :permissions do
RSpec.describe 'Internal Group access', feature_category: :system_access do
include AccessMatchers
let(:group) { create(:group, :internal) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Private Group access', feature_category: :permissions do
RSpec.describe 'Private Group access', feature_category: :system_access do
include AccessMatchers
let(:group) { create(:group, :private) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Public Group access', feature_category: :permissions do
RSpec.describe 'Public Group access', feature_category: :system_access do
include AccessMatchers
let(:group) { create(:group, :public) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Internal Project Access", feature_category: :permissions do
RSpec.describe "Internal Project Access", feature_category: :system_access do
include AccessMatchers
let_it_be(:project, reload: true) { create(:project, :internal, :repository, :with_namespace_settings) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Private Project Access", feature_category: :permissions do
RSpec.describe "Private Project Access", feature_category: :system_access do
include AccessMatchers
let_it_be(:project, reload: true) do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Public Project Access", feature_category: :permissions do
RSpec.describe "Public Project Access", feature_category: :system_access do
include AccessMatchers
let_it_be(:project, reload: true) do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Internal Project Snippets Access", feature_category: :permissions do
RSpec.describe "Internal Project Snippets Access", feature_category: :system_access do
include AccessMatchers
let_it_be(:project) { create(:project, :internal) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Private Project Snippets Access", feature_category: :permissions do
RSpec.describe "Private Project Snippets Access", feature_category: :system_access do
include AccessMatchers
let_it_be(:project) { create(:project, :private) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe "Public Project Snippets Access", feature_category: :permissions do
RSpec.describe "Public Project Snippets Access", feature_category: :system_access do
include AccessMatchers
let_it_be(:project) { create(:project, :public) }

View File

@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe 'Using U2F (Universal 2nd Factor) Devices for Authentication', :js,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
include Spec::Support::Helpers::Features::TwoFactorHelpers
before do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Using WebAuthn Devices for Authentication', :js, feature_category: :authentication_and_authorization do
RSpec.describe 'Using WebAuthn Devices for Authentication', :js, feature_category: :system_access do
include Spec::Support::Helpers::Features::TwoFactorHelpers
let(:app_id) { "http://#{Capybara.current_session.server.host}:#{Capybara.current_session.server.port}" }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe GitlabSchema.types['Key'], feature_category: :authentication_and_authorization do
RSpec.describe GitlabSchema.types['Key'], feature_category: :system_access do
specify { expect(described_class.graphql_name).to eq('Key') }
it 'contains attributes for SSH keys' do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::Entities::SSHKey, feature_category: :authentication_and_authorization do
RSpec.describe API::Entities::SSHKey, feature_category: :system_access do
describe '#as_json' do
subject { entity.as_json }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Gitlab::APIAuthentication::TokenResolver, feature_category: :authentication_and_authorization do
RSpec.describe Gitlab::APIAuthentication::TokenResolver, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:project, reload: true) { create(:project, :public) }
let_it_be(:personal_access_token) { create(:personal_access_token, user: user) }

View File

@ -5,22 +5,27 @@ require 'spec_helper'
RSpec.describe Gitlab::AppLogger do
subject { described_class }
it 'builds two Logger instances' do
expect(Gitlab::Logger).to receive(:new).and_call_original
expect(Gitlab::JsonLogger).to receive(:new).and_call_original
context 'when UNSTRUCTURED_RAILS_LOG is enabled' do
before do
stub_env('UNSTRUCTURED_RAILS_LOG', 'true')
end
subject.info('Hello World!')
end
it 'builds two Logger instances' do
expect(Gitlab::Logger).to receive(:new).and_call_original
expect(Gitlab::JsonLogger).to receive(:new).and_call_original
it 'logs info to AppLogger and AppJsonLogger' do
expect_any_instance_of(Gitlab::AppTextLogger).to receive(:info).and_call_original
expect_any_instance_of(Gitlab::AppJsonLogger).to receive(:info).and_call_original
subject.info('Hello World!')
end
subject.info('Hello World!')
it 'logs info to AppLogger and AppJsonLogger' do
expect_any_instance_of(Gitlab::AppTextLogger).to receive(:info).and_call_original
expect_any_instance_of(Gitlab::AppJsonLogger).to receive(:info).and_call_original
subject.info('Hello World!')
end
end
it 'logs info to only the AppJsonLogger when unstructured logs are disabled' do
stub_env('UNSTRUCTURED_RAILS_LOG', 'false')
expect_any_instance_of(Gitlab::AppTextLogger).not_to receive(:info).and_call_original
expect_any_instance_of(Gitlab::AppJsonLogger).to receive(:info).and_call_original

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Gitlab::Auth::AuthFinders, feature_category: :authentication_and_authorization do
RSpec.describe Gitlab::Auth::AuthFinders, feature_category: :system_access do
include described_class
include HttpBasicAuthHelpers

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Gitlab::Auth::OAuth::User, feature_category: :authentication_and_authorization do
RSpec.describe Gitlab::Auth::OAuth::User, feature_category: :system_access do
include LdapHelpers
let(:oauth_user) { described_class.new(auth_hash) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Gitlab::Auth, :use_clean_rails_memory_store_caching, feature_category: :authentication_and_authorization do
RSpec.describe Gitlab::Auth, :use_clean_rails_memory_store_caching, feature_category: :system_access do
let_it_be(:project) { create(:project) }
let(:auth_failure) { { actor: nil, project: nil, type: nil, authentication_abilities: nil } }

View File

@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Gitlab::BackgroundMigration::BackfillAdminModeScopeForPersonalAccessTokens,
:migration, schema: 20221228103133, feature_category: :authentication_and_authorization do
:migration, schema: 20221228103133, feature_category: :system_access do
let(:users) { table(:users) }
let(:personal_access_tokens) { table(:personal_access_tokens) }

View File

@ -15,5 +15,36 @@ RSpec.describe Gitlab::Database::SchemaValidation::Runner, feature_category: :da
it 'returns inconsistencies' do
expect(inconsistencies).not_to be_empty
end
it 'execute all validators' do
all_validators = Gitlab::Database::SchemaValidation::Validators::BaseValidator.all_validators
expect(all_validators).to all(receive(:new).with(structure_sql, database).and_call_original)
inconsistencies
end
context 'when validators are passed' do
subject(:inconsistencies) { described_class.new(structure_sql, database, validators: validators).execute }
let(:class_name) { 'Gitlab::Database::SchemaValidation::Validators::ExtraIndexes' }
let(:inconsistency_class_name) { 'Gitlab::Database::SchemaValidation::Validators::BaseValidator::Inconsistency' }
let(:extra_indexes) { class_double(class_name) }
let(:instace_extra_index) { instance_double(class_name, execute: [inconsistency]) }
let(:inconsistency) { instance_double(inconsistency_class_name, name: 'test') }
let(:validators) { [extra_indexes] }
it 'only execute the validators passed' do
expect(extra_indexes).to receive(:new).with(structure_sql, database).and_return(instace_extra_index)
Gitlab::Database::SchemaValidation::Validators::BaseValidator.all_validators.each do |validator|
expect(validator).not_to receive(:new).with(structure_sql, database)
end
expect(inconsistencies.map(&:name)).to eql ['test']
end
end
end
end

View File

@ -145,8 +145,11 @@ RSpec.describe Gitlab::EtagCaching::Middleware, :clean_gitlab_redis_shared_state
expect(payload[:headers].env['HTTP_IF_NONE_MATCH']).to eq('W/"123"')
end
it 'log subscriber processes action' do
expect_any_instance_of(ActionController::LogSubscriber).to receive(:process_action)
it "publishes process_action.action_controller event to be picked up by lograge's subscriber" do
# Lograge unhooks the default Rails subscriber (ActionController::LogSubscriber)
# and replaces with its own (Lograge::LogSubscribers::ActionController).
# When `lograge.keep_original_rails_log = true`, ActionController::LogSubscriber is kept.
expect_any_instance_of(Lograge::LogSubscribers::ActionController).to receive(:process_action)
.with(instance_of(ActiveSupport::Notifications::Event))
.and_call_original

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Gitlab::ExternalAuthorization::Config, feature_category: :authentication_and_authorization do
RSpec.describe Gitlab::ExternalAuthorization::Config, feature_category: :system_access do
it 'allows deploy tokens and keys when external authorization is disabled' do
stub_application_setting(external_authorization_service_enabled: false)
expect(described_class.allow_deploy_tokens_and_deploy_keys?).to be_eql(true)

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Gitlab::GitAccess, :aggregate_failures, feature_category: :authentication_and_authorization do
RSpec.describe Gitlab::GitAccess, :aggregate_failures, feature_category: :system_access do
include TermsHelper
include AdminModeHelper
include ExternalAuthorizationServiceHelpers

View File

@ -4,7 +4,7 @@ require 'fast_spec_helper'
require 'device_detector'
require_relative '../../../lib/gitlab/safe_device_detector'
RSpec.describe Gitlab::SafeDeviceDetector, feature_category: :authentication_and_authorization do
RSpec.describe Gitlab::SafeDeviceDetector, feature_category: :system_access do
it 'retains the behavior for normal user agents' do
chrome_user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Security::WeakPasswords, feature_category: :authentication_and_authorization do
RSpec.describe Security::WeakPasswords, feature_category: :system_access do
describe "#weak_for_user?" do
using RSpec::Parameterized::TableSyntax

View File

@ -3,7 +3,7 @@
require 'spec_helper'
require_migration!
RSpec.describe MigrateRemainingU2fRegistrations, :migration, feature_category: :authentication_and_authorization do
RSpec.describe MigrateRemainingU2fRegistrations, :migration, feature_category: :system_access do
let(:u2f_registrations) { table(:u2f_registrations) }
let(:webauthn_registrations) { table(:webauthn_registrations) }
let(:users) { table(:users) }

View File

@ -3,7 +3,7 @@
require 'spec_helper'
require_migration!
RSpec.describe RescheduleExpireOAuthTokens, feature_category: :authentication_and_authorization do
RSpec.describe RescheduleExpireOAuthTokens, feature_category: :system_access do
let!(:migration) { described_class::MIGRATION }
describe '#up' do

View File

@ -4,7 +4,7 @@ require 'spec_helper'
require_migration!
RSpec.describe AddUserIdAndIpAddressSuccessIndexToAuthenticationEvents,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
let(:db) { described_class.new }
let(:old_index) { described_class::OLD_INDEX_NAME }
let(:new_index) { described_class::NEW_INDEX_NAME }

View File

@ -5,7 +5,7 @@ require 'spec_helper'
require_migration!
RSpec.describe RemoveOrphanGroupTokenUsers, :migration, :sidekiq_inline,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
subject(:migration) { described_class.new }
let(:users) { table(:users) }

View File

@ -3,7 +3,7 @@
require 'spec_helper'
require_migration!
RSpec.describe CleanupOAuthAccessTokensWithNullExpiresIn, feature_category: :authentication_and_authorization do
RSpec.describe CleanupOAuthAccessTokensWithNullExpiresIn, feature_category: :system_access do
let(:batched_migration) { described_class::MIGRATION }
it 'schedules background jobs for each batch of oauth_access_tokens' do

View File

@ -3,7 +3,7 @@
require 'spec_helper'
require_migration!
RSpec.describe BackfillIntegrationsEnableSslVerification, feature_category: :authentication_and_authorization do
RSpec.describe BackfillIntegrationsEnableSslVerification, feature_category: :system_access do
let!(:migration) { described_class::MIGRATION }
let!(:integrations) { described_class::Integration }

View File

@ -4,7 +4,7 @@ require 'spec_helper'
require_migration!
RSpec.describe CleanupBackfillIntegrationsEnableSslVerification, :migration,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
let(:job_class_name) { 'BackfillIntegrationsEnableSslVerification' }
before do

View File

@ -4,7 +4,7 @@ require 'spec_helper'
require_migration!
RSpec.describe QueueBackfillAdminModeScopeForPersonalAccessTokens,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
describe '#up' do
it 'schedules background migration' do
migrate!

View File

@ -4,7 +4,7 @@ require 'spec_helper'
require_migration!
RSpec.describe UpdateApplicationSettingsProtectedPaths, :aggregate_failures,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
subject(:migration) { described_class.new }
let!(:application_settings) { table(:application_settings) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe User, feature_category: :authentication_and_authorization do
RSpec.describe User, feature_category: :system_access do
specify 'types consistency checks', :aggregate_failures do
expect(described_class::USER_TYPES.keys)
.to match_array(%w[human ghost alert_bot project_bot support_bot service_user security_bot visual_review_bot

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe MemberRole, feature_category: :authentication_and_authorization do
RSpec.describe MemberRole, feature_category: :system_access do
describe 'associations' do
it { is_expected.to belong_to(:namespace) }
it { is_expected.to have_many(:members) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe PersonalAccessToken, feature_category: :authentication_and_authorization do
RSpec.describe PersonalAccessToken, feature_category: :system_access do
subject { described_class }
describe '.build' do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe GroupPolicy, feature_category: :authentication_and_authorization do
RSpec.describe GroupPolicy, feature_category: :system_access do
include AdminModeHelper
include_context 'GroupPolicy context'

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe ProjectGroupLinkPolicy, feature_category: :authentication_and_authorization do
RSpec.describe ProjectGroupLinkPolicy, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group, :private) }
let_it_be(:group2) { create(:group, :private) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe ProjectPolicy, feature_category: :authentication_and_authorization do
RSpec.describe ProjectPolicy, feature_category: :system_access do
include ExternalAuthorizationServiceHelpers
include AdminModeHelper
include_context 'ProjectPolicy context'

View File

@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Admin::ApplicationsController, :enable_admin_mode,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
let_it_be(:admin) { create(:admin) }
let_it_be(:application) { create(:oauth_application, owner_id: nil, owner_type: nil) }
let_it_be(:show_path) { admin_application_path(application) }

View File

@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Admin::ImpersonationTokensController, :enable_admin_mode,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
let(:admin) { create(:admin) }
let!(:user) { create(:user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::AccessRequests, feature_category: :authentication_and_authorization do
RSpec.describe API::AccessRequests, feature_category: :system_access do
let_it_be(:maintainer) { create(:user) }
let_it_be(:developer) { create(:user) }
let_it_be(:access_requester) { create(:user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::API, feature_category: :authentication_and_authorization do
RSpec.describe API::API, feature_category: :system_access do
include GroupAPIHelpers
describe 'Record user last activity in after hook' do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::Applications, :api, feature_category: :authentication_and_authorization do
RSpec.describe API::Applications, :api, feature_category: :system_access do
let_it_be(:admin) { create(:admin) }
let_it_be(:user) { create(:user) }
let_it_be(:scopes) { 'api' }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'doorkeeper access', feature_category: :authentication_and_authorization do
RSpec.describe 'doorkeeper access', feature_category: :system_access do
let!(:user) { create(:user) }
let!(:application) { Doorkeeper::Application.create!(name: "MyApp", redirect_uri: "https://app.com", owner: user) }
let!(:token) { Doorkeeper::AccessToken.create! application_id: application.id, resource_owner_id: user.id, scopes: "api" }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'getting project information', feature_category: :authentication_and_authorization do
RSpec.describe 'getting project information', feature_category: :system_access do
include GraphqlHelpers
let(:fields) do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'query Jira service', feature_category: :authentication_and_authorization do
RSpec.describe 'query Jira service', feature_category: :system_access do
include GraphqlHelpers
let_it_be(:current_user) { create(:user) }

View File

@ -4,7 +4,7 @@ require 'spec_helper'
require 'raven/transports/dummy'
require_relative '../../../config/initializers/sentry'
RSpec.describe API::Helpers, :enable_admin_mode, feature_category: :authentication_and_authorization do
RSpec.describe API::Helpers, :enable_admin_mode, feature_category: :system_access do
include API::APIGuard::HelperMethods
include described_class
include TermsHelper

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::Internal::Base, feature_category: :authentication_and_authorization do
RSpec.describe API::Internal::Base, feature_category: :system_access do
include GitlabShellHelpers
include APIInternalBaseHelpers

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::Keys, feature_category: :authentication_and_authorization do
RSpec.describe API::Keys, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:admin) { create(:admin) }
let_it_be(:email) { create(:email, user: user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'OAuth tokens', feature_category: :authentication_and_authorization do
RSpec.describe 'OAuth tokens', feature_category: :system_access do
include HttpBasicAuthHelpers
context 'Resource Owner Password Credentials' do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::PersonalAccessTokens::SelfInformation, feature_category: :authentication_and_authorization do
RSpec.describe API::PersonalAccessTokens::SelfInformation, feature_category: :system_access do
let(:path) { '/personal_access_tokens/self' }
let(:token) { create(:personal_access_token, user: current_user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe API::PersonalAccessTokens, feature_category: :authentication_and_authorization do
RSpec.describe API::PersonalAccessTokens, feature_category: :system_access do
let_it_be(:path) { '/personal_access_tokens' }
describe 'GET /personal_access_tokens' do

View File

@ -2,7 +2,7 @@
require "spec_helper"
RSpec.describe API::ResourceAccessTokens, feature_category: :authentication_and_authorization do
RSpec.describe API::ResourceAccessTokens, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:user_non_priviledged) { create(:user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe DashboardController, feature_category: :authentication_and_authorization do
RSpec.describe DashboardController, feature_category: :system_access do
context 'token authentication' do
it_behaves_like 'authenticates sessionless user for the request spec', 'issues atom', public_resource: false do
let(:url) { issues_dashboard_url(:atom, assignee_username: user.username) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Groups::Settings::AccessTokensController, feature_category: :authentication_and_authorization do
RSpec.describe Groups::Settings::AccessTokensController, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:resource) { create(:group) }
let_it_be(:access_token_user) { create(:user, :project_bot) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Groups::Settings::ApplicationsController, feature_category: :authentication_and_authorization do
RSpec.describe Groups::Settings::ApplicationsController, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group) }
let_it_be(:application) { create(:oauth_application, owner_id: group.id, owner_type: 'Namespace') }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe JwksController, feature_category: :authentication_and_authorization do
RSpec.describe JwksController, feature_category: :system_access do
describe 'Endpoints from the parent Doorkeeper::OpenidConnect::DiscoveryController' do
it 'respond successfully' do
[

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe JwtController, feature_category: :authentication_and_authorization do
RSpec.describe JwtController, feature_category: :system_access do
include_context 'parsed logs'
let(:service) { double(execute: {} ) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Oauth::ApplicationsController, feature_category: :authentication_and_authorization do
RSpec.describe Oauth::ApplicationsController, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:application) { create(:oauth_application, owner: user) }
let_it_be(:show_path) { oauth_application_path(application) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Oauth::AuthorizationsController, feature_category: :authentication_and_authorization do
RSpec.describe Oauth::AuthorizationsController, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:application) { create(:oauth_application, redirect_uri: 'custom://test') }
let_it_be(:oauth_authorization_path) do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Oauth::TokensController, feature_category: :authentication_and_authorization do
RSpec.describe Oauth::TokensController, feature_category: :system_access do
let(:cors_request_headers) { { 'Origin' => 'http://notgitlab.com' } }
let(:other_headers) { {} }
let(:headers) { cors_request_headers.merge(other_headers) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'OAuth Tokens requests', feature_category: :authentication_and_authorization do
RSpec.describe 'OAuth Tokens requests', feature_category: :system_access do
let(:user) { create :user }
let(:application) { create :oauth_application, scopes: 'api' }
let(:grant_type) { 'authorization_code' }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'OpenID Connect requests', feature_category: :authentication_and_authorization do
RSpec.describe 'OpenID Connect requests', feature_category: :system_access do
let(:user) do
create(
:user,

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe Projects::Settings::AccessTokensController, feature_category: :authentication_and_authorization do
RSpec.describe Projects::Settings::AccessTokensController, feature_category: :system_access do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group) }
let_it_be(:resource) { create(:project, group: group) }

View File

@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe 'Rack Attack global throttles', :use_clean_rails_memory_store_caching,
feature_category: :authentication_and_authorization do
feature_category: :system_access do
include RackAttackSpecHelpers
include SessionHelpers

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'Sessions', feature_category: :authentication_and_authorization do
RSpec.describe 'Sessions', feature_category: :system_access do
context 'authentication', :allow_forgery_protection do
let(:user) { create(:user) }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'user routing', :clean_gitlab_redis_sessions, feature_category: :authentication_and_authorization do
RSpec.describe 'user routing', :clean_gitlab_redis_sessions, feature_category: :system_access do
include SessionHelpers
context 'when GitHub OAuth on project import is cancelled' do

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe UserProjectAccessChangedService, feature_category: :authentication_and_authorization do
RSpec.describe UserProjectAccessChangedService, feature_category: :system_access do
describe '#execute' do
it 'permits high-priority operation' do
expect(AuthorizedProjectsWorker).to receive(:bulk_perform_async)

View File

@ -7,7 +7,7 @@ require 'rake_helper'
# is hit in the rake task.
require 'git'
RSpec.describe 'gitlab:security namespace rake tasks', :silence_stdout, feature_category: :credential_management do
RSpec.describe 'gitlab:security namespace rake tasks', :silence_stdout, feature_category: :user_management do
let(:fixture_path) { Rails.root.join('spec/fixtures/tasks/gitlab/security') }
let(:output_file) { File.join(__dir__, 'tmp/banned_keys_test.yml') }
let(:git_url) { 'https://github.com/rapid7/ssh-badkeys.git' }

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'devise/shared/_error_messages', feature_category: :authentication_and_authorization do
RSpec.describe 'devise/shared/_error_messages', feature_category: :system_access do
describe 'Error messages' do
let(:resource) do
instance_spy(User, errors: errors, class: User)

View File

@ -2,7 +2,7 @@
require 'spec_helper'
RSpec.describe 'profiles/keys/_key.html.haml', feature_category: :authentication_and_authorization do
RSpec.describe 'profiles/keys/_key.html.haml', feature_category: :system_access do
let_it_be(:user) { create(:user) }
before do

300
yarn.lock
View File

@ -1336,10 +1336,10 @@
resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-3.21.0.tgz#a939b7ee4f766d793643ddcab7722fc549fa0e20"
integrity sha512-sWQOGhprA0RDEATHqo4ReHaGHKrpsswBvFMyM9ghd6OF6JbRdOwbLqFKg0qGHRkaPTg8uWLC7i2XfN7xlZAKfQ==
"@gitlab/ui@56.1.1":
version "56.1.1"
resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-56.1.1.tgz#d696037356b5c9e6160e1e7bfd2a154991e1e418"
integrity sha512-1bczlu+e0VKfGlDKEMrJOCJhRfi3adFywlxT8R9lwpFVCOh1RTfEZeJ46VCATFxmUuqtjoFQ5xIvFTDv/DLk0A==
"@gitlab/ui@56.1.2":
version "56.1.2"
resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-56.1.2.tgz#d61001ff1dfb213f890038d700864fd6ace77783"
integrity sha512-0jb14PGSpLkAEnUy8fhkjvawA2c/v+nVTeKcdBJevuoxN8zse3gupZfD1xZCNpe573Y3cr0OwaAMjocfd1dXeQ==
dependencies:
"@popperjs/core" "^2.11.2"
bootstrap-vue "2.20.1"
@ -2035,182 +2035,182 @@
dom-accessibility-api "^0.5.1"
pretty-format "^26.4.2"
"@tiptap/core@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.217.tgz#c3cc31c23cc7d12f2727bf065d99f0d18fe59dc1"
integrity sha512-Vifwcg5SglkVjEmtFbnwHOKWU4UUenOhe7ke5fqGhh7FNfGkccu6sK8W1JTDbG4ARWZ1b/632kQ51YE+WuPe7g==
"@tiptap/core@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.0.0-beta.218.tgz#010f82931586a2c1e3ad3c123cf96f39b099d8c3"
integrity sha512-RCrT4AYgH+2mQtt26EkFjIkGZGsuT7vKTbknEhpXdhWgbxy/fg65WyPs8hQMyocjOqPX2vbike4PfqWi9nBqCw==
"@tiptap/extension-blockquote@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.217.tgz#70575fe2b127d1cbcade756bbcd6b07fe263b89c"
integrity sha512-4U6DUr+xaCe3MRMAh3uMA5devHZmyrk6/6MURg57S3uRXDIMiWlKBkSxxys0URjbpS17T41hvKlRQR85tO1N1Q==
"@tiptap/extension-blockquote@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.218.tgz#1dfd1afa45ffce93b90fd9c4786c87c9f64e9759"
integrity sha512-cQ1mjWjSqe6ztglfRRBIAzZ+6Ro5jN7QpSstVMravqW3lu52omXqYx5SfDNycoO6574BoSw2Wijz36RwQLeAsQ==
"@tiptap/extension-bold@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.217.tgz#94be8feed4e26e5f103d5a3a386c4079d946454f"
integrity sha512-oLzekoVWjvkAbDyOIv4Aj9DzjIwCQLTy33kXH/ItTxH2Z/zxZ+Et3y9qAZi0eR8x8wO552cG41lYUte4tuwo1w==
"@tiptap/extension-bold@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.218.tgz#9fdd5de1be8fd44f8055f4d18c3714fd7a69cf9e"
integrity sha512-XKQ9QiXspGLY9LyZVhPTQFfJQEDzrwCigILG+QwM3WAp/hKNDJsUy4GXRl/Rdtx+5mfqGyh+Zlo41xF2WhoKUg==
"@tiptap/extension-bubble-menu@2.0.0-beta.217", "@tiptap/extension-bubble-menu@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.217.tgz#c72e1d9dba18f2cbe45400002e3649618670eaf3"
integrity sha512-f52hjIzNbvAJy0P3pTf6sv/65XlMU1LCLXam4VCTkYJ2HHVvW+LZcu+dG1M8YmGkM9l+6dQPs5L2rriAQDXt+w==
"@tiptap/extension-bubble-menu@2.0.0-beta.218", "@tiptap/extension-bubble-menu@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.218.tgz#e4524a90797e552c39c14717dbc297b1d4bd7538"
integrity sha512-NXVaRSoweM54AGCJCJWkY3D9CfYlARtC04+7T8EF0Dwz99RcVzDHCXaNJGk+rMH7vGxsJop4RxHEQO/D2pgADw==
dependencies:
lodash "^4.17.21"
tippy.js "^6.3.7"
"@tiptap/extension-bullet-list@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.217.tgz#bedcf2c45412b613987804ef96a977bcd50ba78b"
integrity sha512-t/9lqdZhErYUOtU9H2m/qDjUUSilzVAjI2pVvJt6y9Z7Aex9uS7sPBVhjirjV43G4yQEVhT7BuTAzyCUX+JXkQ==
"@tiptap/extension-bullet-list@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.218.tgz#be695a919df1354d3b212ec9d41a3997e13ff283"
integrity sha512-pf4MMcM65tYLauogxfIsvmFf5pqV9hlTAsgsQhPw2L3ayceOr6JvmiGHBVlZifhNcIuSDY/3i2Ft/O4tKFncbQ==
"@tiptap/extension-code-block-lowlight@2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.0.0-beta.217.tgz#48018c776f68ec070fa28b5189a7233fb421d58a"
integrity sha512-osfnTclcymplaks4a1vyh1qTFvkQ1ZERmXHq1t6XGdNeus7GrhIt3Lkd+1T0Ws4XdJu/Ut3GX+C1Zisnz7sNRQ==
"@tiptap/extension-code-block-lowlight@2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.0.0-beta.218.tgz#b08f80e2142474ba9d31b312f0614c9e487ecb77"
integrity sha512-6bFESBajfbLM2vaA9aAE9+FBxcpGj72l2ECavd2COflUX5Gjd+agEzSZtbln6UQsdhcn1FaiU4T6t6QPD8CKBg==
"@tiptap/extension-code-block@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.217.tgz#ba8e6ef8d848056dec9bbcebabf1e5d2629a96a1"
integrity sha512-vmntduEBM/o+mx4+sSEv+aVU8swr5rOFswMr7tYMXRqzXFYbqjvlEo86kGOQ4lrpnvf/2eUEjrq+2L4Hx2LdsA==
"@tiptap/extension-code-block@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.218.tgz#859eebd43bf85d0f94693e174657f5eb71d34f68"
integrity sha512-ajmHrZ2xDgCjLaokvmdiI7fETqRyvI/qHD4jzmzMTKdIiwLzwCgTVmbU73TmZSdR1+fO+pyDTp48YIxDy9zRdA==
"@tiptap/extension-code@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.217.tgz#40f8bea6af46c1571212f4eae8900481dea51829"
integrity sha512-IPpuI8MeVX5N0ueWQcIvh2nD+EN6DbFtKSsoU+FgFJ9meOkiEWGibSJ5yFQinPsiE9zrwYIaZzzjhr4oeY2JNA==
"@tiptap/extension-code@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.0.0-beta.218.tgz#1aa8b4c064343463f30375e48c48e81294188533"
integrity sha512-i/gJuY78+QWTc4LeSHM613IxKCC63oqGKounl+xlBqtH6b/w9Rx8R6WJQIz78Mth5dQHKTSUPwjR5+UcmKhFRA==
"@tiptap/extension-document@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.217.tgz#ce53814197af814fe533da541f9681111fa5d52e"
integrity sha512-CDCTutbVO1Ub7QUULPCYILl2px48ezCX2kxbspQZzPD7nMoYZNmUMZ8gRJvVDdnSpMNlEl7oNnCAU7uC/lny/A==
"@tiptap/extension-document@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.0.0-beta.218.tgz#34e76a345759faedcde56e95f2ab71f4437f4eb2"
integrity sha512-bpNhUEho8sbjLVYGX+jkqZv//2OVFs0RhiNtMJ1SUbdr9LDJu+KMo86KUkTkRPPgoJPDkEViIgNrYcc66MFxmQ==
"@tiptap/extension-dropcursor@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.217.tgz#6bb99051c576787cf2e6d8ad3d0004dd3b898268"
integrity sha512-+HkLmLBKSAJB987KM6z/pxsE+QMr7wZJiTSJv4JSTQnSjKwyJIHbfYNvNgWZo0k9MSncmLGhd/c4TFxYJZ762w==
"@tiptap/extension-dropcursor@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.218.tgz#c558236792647393cd351ad18394c4e2d3853e20"
integrity sha512-RvYB0koNJs3ETcVnzwda0hhDxCa2hoKW1C3WiRKg1+pYA5oW12NtiNWqViQKkSn1ugQXXzhdxMHGCSr4BczmAA==
"@tiptap/extension-floating-menu@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.217.tgz#0c571bc1526b00c1831930467be8b1ba996a799b"
integrity sha512-mP77UrimZo3sdC+Xam0DsPeYfXn29hl4ixEuZeiQQBMqz7g1K9T7vOEsRMQCBVFS7Hsc7MWBqLa1lL1GtyBB9Q==
"@tiptap/extension-floating-menu@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.218.tgz#583ff6f10663059c94cc59c417ea7e290b1ebc45"
integrity sha512-OzmucdEJOK7Geq6C3oBZg1m1lBrAAm6SyMPn+0fN83ijixYJAChi7c20A+mrR6aeTlmjASi2CXFkrrVmNV7ZDQ==
dependencies:
tippy.js "^6.3.7"
"@tiptap/extension-gapcursor@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.217.tgz#c3e59b8a08ababc5d267afc5f2417e515245d098"
integrity sha512-BMZAeMuba41EOmSo8ZEClarbrO4XDfGvOslWkjJwqPyJ4oO3nHtX8ep13g6Y3RhMSUDEGmBSUXEKVuUPgSS+Qg==
"@tiptap/extension-gapcursor@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.218.tgz#e415cdffb58dd2af47c72267ddf53d1042a4f784"
integrity sha512-buawfpYb+wgXj+01qLb58Cv9x6dhcM4oHoFggBRo8E3mj561plfDKWK45OZIbyqRQeE8U3bbwfSYgail5wd7JA==
"@tiptap/extension-hard-break@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.217.tgz#2bd5cd1a0a7e7a535287e99bf87e86a3fd86a772"
integrity sha512-15cKxMsJZJ+3cbSKuMa7wjr2sQHxjoJ8aCmbPqUH+zGNLsRtUHvTZzeIPGxJ1SpEjpJpb+rRnu9RMTNjwDMFMA==
"@tiptap/extension-hard-break@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.218.tgz#8fe7fd2cdb21f2e053722415a29bc27db3cd6671"
integrity sha512-mAtjRjkEQ2I+WGTOn90SefRvpF/HVVLRji9jidPTCnTVOJzEYax5xPlr5vFh2N4wcprWWi/T5qcwybs1oV3uig==
"@tiptap/extension-heading@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.217.tgz#0fc0f2a4974e2b31c890463798d75c5d0f20d384"
integrity sha512-v7G/1R0+qmPm0U2sOCOftqZef5yd89tEg1R+KVF78ucFvuLgH50Pldes8lhHEBlfoRShye2Ht54E6JHDP73J5w==
"@tiptap/extension-heading@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.218.tgz#941e28aaaaaaa1c0b41feac62eb3de124a8cc9a3"
integrity sha512-JYkDLk19wFdjHG1prUfNV6EzZuDt9P5psaPaiwGoAujUMHKBJTllSC+UZ4H7YL87RpUIPs5GHQMWL91HP+0RYQ==
"@tiptap/extension-highlight@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.0.0-beta.217.tgz#366230aa0e6a26ad7c0baf6bdcac026474f2b5c4"
integrity sha512-JS+WJQrMOUfOAeNazi3FioaQ78MsuakMcZmSdy+tZuv3zwPhLPDZzlVj+K4wZtzPejxlucpE93BiW2FmJDyNgg==
"@tiptap/extension-highlight@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.0.0-beta.218.tgz#f2cdb44c2195886e3ddbda964deb82cb723bd640"
integrity sha512-/flgMoCY26u6jsKc6NVlb/DXo6AV4ustMIiQCE9kJxetYSkWCdaM24RUn4iFGq7F5KouovDLq3geO2XVnzE+6g==
"@tiptap/extension-history@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.217.tgz#1bbe8ecc7bfc6384a12091b4b0b4433789b3d1a2"
integrity sha512-wdgAGMTFVeEh6hlO1Iy0l0LzqUVuoplrYnc2zjry4YFGCJbWwQqLKEKQaHIvmMea0PaXW4Q5wpNy875+UoXDOw==
"@tiptap/extension-history@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.0.0-beta.218.tgz#d13a9030012081cd0d784074526d1d9411c7302a"
integrity sha512-4xfEKWGHU2785vUXXaIguxIaKKQ3b+z7463QhF2qhcpm5Ip6eupYbbE0jy8S12wSujhrjk88W0Ud6n3puV73xA==
"@tiptap/extension-horizontal-rule@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.217.tgz#7e6a8d6fb2b3fc6eaa23b8029048cd36b18473fc"
integrity sha512-h7uIpGOYLCPfYJUit6Fe8oLnrMf0hK0mHBXa8cV7AWIlDvVRrXZZ/sdtLTF+TXOylvbOYR+vjkvnwDTeVX6dcw==
"@tiptap/extension-horizontal-rule@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.218.tgz#8a8c7ce49cbb0ddb8ef049a1ecad0e37a95da523"
integrity sha512-JlKMzqgheujKkx0ZQvUCO+WkIUQQKkWMiUSEsTaAvgIfzI97dKuP/r7CsgZczurtJ9edRPmQqMRwxZ4XLtC/aQ==
"@tiptap/extension-image@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.217.tgz#ddb03f2c4a4d3f007c5b2777a50b89e084581470"
integrity sha512-8ibJOicpcqhFeiPLqYOY8SO9sxkz2bemzwhtzRvgkevy/QERe9D0mbAL0qm1gg88LtXy3z2eFUdwD8suq1xsPQ==
"@tiptap/extension-image@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.0.0-beta.218.tgz#c03af3356b39c2913704746bf24ad4e28309f96f"
integrity sha512-WefQYI04ZzbAX2x3z6fpk8bjWmR6nW7p+EUN6v9yeBiKUAeMClCL1toAhQcKBI0yBinTz+OOjlnc3iKa/nOMzw==
"@tiptap/extension-italic@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.217.tgz#e6470cfd1763af0141f74165e404029332bca0bf"
integrity sha512-Oua5QbsOJ/MNV41fvbBtJOE/ciw2AjWybSiPkn8clu1/KjieE9dectlj+COaNbVIOccTNhurECpqfF0h8K87Kg==
"@tiptap/extension-italic@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.218.tgz#9dac0e94b481df04eca409dbe6cf7e7165ab9b7e"
integrity sha512-+/NRGoLQXi+CCziVT7MixB10jC72c5BCG6w15H4hfHkD+eJc/DfzLCuIaePzYCZC/xqjNI/EBNh6BP3HTMHCpQ==
"@tiptap/extension-link@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.217.tgz#5f0a3eca6ae2bd560d35036e3fffc3823cfbb2bd"
integrity sha512-pC1UnK1OrbW+NDdBdHE8sfmZ+tOpIOsHVAeeX6pg1fkdP/FlbPFFvcvILgJc20dr7DiM6dRqYq16H473G9vyEg==
"@tiptap/extension-link@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.0.0-beta.218.tgz#40d99cebfe9cbdb9c39b8cdb61dc8ce663b2bada"
integrity sha512-Vi+qZOzqS+tTpK2q23q5wLEDxIZMiRNHduzJtZh2wKryLPjbs7jEnxSVQybvQqRHAhUC6uGsh+9nhN0+fq6oAw==
dependencies:
linkifyjs "^3.0.5"
"@tiptap/extension-list-item@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.217.tgz#811c1197023bed2ed96f1e88f14ee66eac77d8f7"
integrity sha512-yJmB/Je6CAiyjjJyVl77PPv4AWNFejrhxxmIdPfkYNRuQx9xX5yccx/zXC5RMaUFZVttlC4+gXDZsCvxMiVF1g==
"@tiptap/extension-list-item@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.218.tgz#21ae2c21da9488b05be4e03dc14e3ec9c7fdbf90"
integrity sha512-ZqSA0dZAzACYgfFAM+RWCRhMPUcZiWT8JhpN/2on0egI+b1gtt2RAA4niBaNFp4skGQS8a4bCy5cttIHUNO7FA==
"@tiptap/extension-ordered-list@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.217.tgz#37ec7a2b10c03bb6f53fe901873ffdbc1626c79f"
integrity sha512-Jv79D+imZPqFi7U+nrMBQbNp2FQDk9Y2D7jTovM0ySCYLbgYtG/n5ZLj/eBAN6MwLcqHHWzZa1TXWzF7anlUOQ==
"@tiptap/extension-ordered-list@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.218.tgz#7274adcd088be457db40126a3fb898b32cc1a085"
integrity sha512-Oe/Kl6+mNSBOpF4fXeQxFXu7/fMFPwn3UZ2hR+DTIJkoLbviKehcxSInqWmUV0n5FbEr3usErPDYDDrCH+zEVw==
"@tiptap/extension-paragraph@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.217.tgz#a5debdebf1290066aa84fec65fad0c71d785842a"
integrity sha512-EeWCz6Boz1eeCrECQ8i9yzbs1MyhmuLmPnvW0WUyNuqlA/qbgr4OvqDGZk4X+4E3CI30Nqzr0PPNpz0CWQgphQ==
"@tiptap/extension-paragraph@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.218.tgz#7591c886f6937e650a0d767a51c2f6fcc53c53f8"
integrity sha512-qBNGJl0r/uufPoC02fqdjRQBmafE3zd+uPevtN+Nozze4kBc5VIlkLMw6VR83jMMeWKNhbQ97aCCYQYjCabaDw==
"@tiptap/extension-strike@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.217.tgz#2a650ba010e225d700c5c87a64709c078bc23c3c"
integrity sha512-frC3SUoh9bSrHYWdW2S3A8s+FEqDMaNjp+Ldoe6vz2ugHXxjUFJ+SsF/pcQbmKw6FsNaf/bqL24KieRt22kgpg==
"@tiptap/extension-strike@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.218.tgz#781460fa23a7273617d765ec0c9c737cfaf8faa9"
integrity sha512-PZ3FGmh3XkdQqRIfMZrHApFVerf/2vQu0V1IWTxUDpaUSD/TL5A1dp3R/O/dlVauhKV3zDs/XGfepXJ99fyXAg==
"@tiptap/extension-subscript@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.0.0-beta.217.tgz#3e79e2526aa758af9770ea71781afb917a624724"
integrity sha512-Xz9x0YUxGkADtGBP/74v3BCr6d+TFZ4E6BmwnzXSfSCjdJx8ycdNXtX4aZsOMu7Gj0cxXF4aTr+s4bm9RHWyjg==
"@tiptap/extension-subscript@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-subscript/-/extension-subscript-2.0.0-beta.218.tgz#e5be3c8555e161eb950a8de1494b925822b4c4c2"
integrity sha512-vbYYY4vPc5/waqsRNKEliske9kib2PkjLAbBjhqhGoVYfoKHji2ogxBrAE0x9ioElOdjse9oQrBp10YUOAXMRA==
"@tiptap/extension-superscript@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.0.0-beta.217.tgz#4eb81166d1bd095bf2ab1de712122a3b362ba628"
integrity sha512-ZMvUmXN3j3Qm25IRCe8QBkwFIk2r6bKl6qtedUO4R8Yk4xeYkaGp+FA3OHBME03SLEeuNHOoguIWyQ1GO2dCcA==
"@tiptap/extension-superscript@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-superscript/-/extension-superscript-2.0.0-beta.218.tgz#b640ace883bb82fc95d76ef8f7e0fee176e04879"
integrity sha512-r+jAo1TwFacX1AB+ds4ptFfQesP+Uy+6Kt+pxGrQnWlDL9+YjXKfKwEIpJIuk5GiEvr0ZMbk+qDV2DVEaP06xg==
"@tiptap/extension-table-cell@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.0.0-beta.217.tgz#6715c2057b28f4c5297dd27419da572c6d15ad15"
integrity sha512-W5UxsZxQdBms916hHp4giXi6AOkwCEfSaTXfi3FQqxcg/EQnmzMNB82/9BcVqBUaoJrx1dIVm4ploIL+GikG/w==
"@tiptap/extension-table-cell@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.0.0-beta.218.tgz#7308f31608c19222a101c98a263d620cb334c767"
integrity sha512-SFnBHxYifDCmHnSDqDS+LBKxTeujonE+7OeM7/LV+1Qqp44FKZsleQVGUp5fUmP7LmdRZSeoWzKQNl1SC4dhuA==
"@tiptap/extension-table-header@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.0.0-beta.217.tgz#684671d431430b916f4da01dc2c294e6daa7dfc6"
integrity sha512-oahTLhItvoPzCA9RuGLowZ0ZGro+Yn3+1NefXu/yGlp3twKQyhrwOv3+TqZ21L+8uKGOVLfLgPZnF6oNozEdJQ==
"@tiptap/extension-table-header@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.0.0-beta.218.tgz#52cddb16102a26acc2b18daa867575249e5cae2b"
integrity sha512-LZd10qo1oHH4GESlsnPgagO0INicewAdJLBV4PdXIKsEOCyYhVP6IF3WPSsafxRqWasmiJ0jg1yGDhXx9Gqy9A==
"@tiptap/extension-table-row@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.0.0-beta.217.tgz#1e206eef50c7879acf78f0044b806002f30f93da"
integrity sha512-6ie3YtnOliIzER4JtVh0T8HQl3Z2gwTBoCOvqoetsoKIk0zNdsai+ZjVjVN4ZiMLFNYm5xnCUfr83usp9kawhQ==
"@tiptap/extension-table-row@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.0.0-beta.218.tgz#a643c1793d238bdcfc0161e0ccea0994c338735d"
integrity sha512-WSljowOBl4eVnl3ihxQzlBq1ff4NUvzMVI43OvuPQkDLMzAnkuNEwFSBt8csolc4gDsJHvMFbK9wgftIMbXgdA==
"@tiptap/extension-table@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.0.0-beta.217.tgz#5ff8fb533df2beb92b6ad20e5e582cc43a5d3297"
integrity sha512-8PwfNXIRPy1zxZAk0kS+sqFeUE2M6al1y/mA6p0SA9YhSN0iWvjQfmq9Ds52hmRcL2Dv9QmLR97S7WGRmHKcQg==
"@tiptap/extension-table@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.0.0-beta.218.tgz#2ed0b81620aea321b6302934847f7d00500ffa91"
integrity sha512-Beyzkso7twfxfdkNJ5WY+FC3fqddkOseDKcjKU0YQVg/81EvlFEFRiyLN6S5b8XHhDXuNzV49pYo9hIbQ75iwA==
"@tiptap/extension-task-item@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.0.0-beta.217.tgz#bc351cc1fc847496feb12b592345a488f352f970"
integrity sha512-eLdIuLTDkTKPEzuy2uG7akv+M39/+vHK/7E115LtQ9KQiN3iLaE0RHXPb5vPvP8gX9U2gGeboRhhMxf/7yh/vg==
"@tiptap/extension-task-item@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-item/-/extension-task-item-2.0.0-beta.218.tgz#8a1168cd1f26b7a1b2dc1a6e45461ebfdb431450"
integrity sha512-RSFeKEpqDb+e0v0eBT9EM2VZW3GT74LQoT+UwZP6LM8fPIYS/wHWHDvPRo0zl3JpA04x13UbS6lOZ2MJruykzQ==
"@tiptap/extension-task-list@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.0.0-beta.217.tgz#f90a4c48d5c2aa1e3e6d86c9ce6947aba798ceab"
integrity sha512-d5+YkjPBjc4beVCOip+T1GW1HUo7vLwp9Mrec+PcxMSU1GDUwxvz3zpkKG3rrTnwK5QzEnvmSQC2SzSRp//OPQ==
"@tiptap/extension-task-list@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-task-list/-/extension-task-list-2.0.0-beta.218.tgz#10e1eb25cea8fbcb448329f5f529a7e572705f2b"
integrity sha512-MscfmeeAKsRrnyFDcUoByikfQihDQhSSYYXG0AgvcQu3Qjf/eoVp44eAIQlCsh67xOeDDdGI2ripmeqJqUFZUQ==
"@tiptap/extension-text@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.217.tgz#7d3f7bda8991b1bac9ef7cbc62ed71d17ad0243b"
integrity sha512-l5PkVhZzVnxbGyMiCMqpLU3ZomJWcZXhuBD0aajry+l85DWc6TK0mhLEAVEU1LoTL8hXFmICoW1KJ1m20Va9dg==
"@tiptap/extension-text@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.0.0-beta.218.tgz#087641b1b4d8af41363a1e33fd6c4b52fa2c689a"
integrity sha512-Z14dRRIjQwPGJD3+joD3nEs6NcQUORuPXa2BDWsFcAb6R+yPz7j9Wpn4nkcWCw2CIqnMm17ERs+KSSvKvzWY6Q==
"@tiptap/pm@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.0.0-beta.217.tgz#d944519aa40c74e683402c0d4d39e460d905414e"
integrity sha512-krEplJli2BbBB3U2c+cxDPw4mpHsUEwOMJCM3fr1GTVv7qAOvsrWt2ndRPOwraPSvmUF3rw9gvoP86eyK2nDmA==
"@tiptap/pm@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.0.0-beta.218.tgz#4b737f15444847ff4d60bc8f9d0d23dad432afe9"
integrity sha512-mRKHch3BMleLmFJbQcD7Su7oFayHBCl5zzYlQ0ws44dLCR7zlGL85Fxxfk+8wd64dwDjlbdAAZmRLQctq4JgjA==
dependencies:
prosemirror-changeset "^2.2.0"
prosemirror-collab "^1.3.0"
@ -2231,18 +2231,18 @@
prosemirror-transform "^1.7.0"
prosemirror-view "^1.28.2"
"@tiptap/suggestion@^2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.0.0-beta.217.tgz#47a27da8784a8cfe27bdf8d707bd6ed8c15fa05c"
integrity sha512-Z1hXr1giNQ/fkuRrsMICtfyBCbMV+ZPiYYfpKKqUC4uc/lqAeHiRwk3lozpnLZEImnOW42LsYbYug2jtRqrDgA==
"@tiptap/suggestion@^2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.0.0-beta.218.tgz#c19b88f61f93e9caf9d669a5444b5fc066082fa0"
integrity sha512-wuySgX9mBjr15dGjFZlAIEHC+fs4MiAXJXywEcFUYl+hFDhCejyeKCl/Bw4Xf7JZiiUtfE0REeL5DkPvPmlFwQ==
"@tiptap/vue-2@2.0.0-beta.217":
version "2.0.0-beta.217"
resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.0.0-beta.217.tgz#59dc68a0c30fa36610bb4dc5ea4f0def698b2c6a"
integrity sha512-mjab0xA1YNeVtWGt3yHTfRNk+ozJRO9eXRHqXD9rYL5+UHd1oOnbIAqCeKD8+K2eacklDy5aH6tqg5G22kcuDg==
"@tiptap/vue-2@2.0.0-beta.218":
version "2.0.0-beta.218"
resolved "https://registry.yarnpkg.com/@tiptap/vue-2/-/vue-2-2.0.0-beta.218.tgz#469bff8ca18b028a14d58a6dcf1b28f0680be120"
integrity sha512-sbSSzNVCt/NS3OCRZdo8APhxty0MeFqeraHgmnhPnYbOei9oQJXrz9OyR6EhqQTAJXsaV7qX+LrYbThxOKtKPA==
dependencies:
"@tiptap/extension-bubble-menu" "^2.0.0-beta.217"
"@tiptap/extension-floating-menu" "^2.0.0-beta.217"
"@tiptap/extension-bubble-menu" "^2.0.0-beta.218"
"@tiptap/extension-floating-menu" "^2.0.0-beta.218"
"@tootallnate/once@2":
version "2.0.0"