From 101485a41fb2ea326496142d9ccb368522cbe0f0 Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Sun, 19 Jul 2020 20:09:47 +0900 Subject: [PATCH 001/703] Fix mimetype returning nil (#14356) --- lib/paperclip/media_type_spoof_detector_extensions.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/paperclip/media_type_spoof_detector_extensions.rb b/lib/paperclip/media_type_spoof_detector_extensions.rb index 363934d8d1..43337cc688 100644 --- a/lib/paperclip/media_type_spoof_detector_extensions.rb +++ b/lib/paperclip/media_type_spoof_detector_extensions.rb @@ -18,7 +18,7 @@ module Paperclip @type_from_mime_magic ||= begin begin File.open(@file.path) do |file| - MimeMagic.by_magic(file)&.type + MimeMagic.by_magic(file)&.type || '' end rescue Errno::ENOENT '' From 2ada2ae18af3429f9666fd35c70675dc62a0b99f Mon Sep 17 00:00:00 2001 From: Ariel Date: Sun, 19 Jul 2020 12:04:02 -0300 Subject: [PATCH 002/703] Fix/14021 behaviour on add or remove toots (#14212) * Add toot send by current user at local state after send a new toot Related to #14021 * Decrement toot counter at profile when remove a toot Related to #14021 * Remove semicolon at end of line --- app/controllers/api/v1/statuses_controller.rb | 1 + app/javascript/mastodon/actions/compose.js | 2 +- app/javascript/mastodon/actions/statuses.js | 3 ++- app/javascript/mastodon/actions/streaming.js | 13 +++++++------ .../mastodon/features/account_timeline/index.js | 15 +++++++++++++++ 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index 8d6cb84b66..106fc8224e 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -57,6 +57,7 @@ class Api::V1::StatusesController < Api::BaseController @status.discard RemovalWorker.perform_async(@status.id, redraft: true) + @status.account.statuses_count = @status.account.statuses_count - 1 render json: @status, serializer: REST::StatusSerializer, source_requested: true end diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index 20341f9ec0..0309225202 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -163,7 +163,6 @@ export function submitCompose(routerHistory) { // To make the app more responsive, immediately push the status // into the columns - const insertIfOnline = timelineId => { const timeline = getState().getIn(['timelines', timelineId]); @@ -179,6 +178,7 @@ export function submitCompose(routerHistory) { if (response.data.in_reply_to_id === null && response.data.visibility === 'public') { insertIfOnline('community'); insertIfOnline('public'); + insertIfOnline(`account:${response.data.account.id}`); } }).catch(function (error) { dispatch(submitComposeFail(error)); diff --git a/app/javascript/mastodon/actions/statuses.js b/app/javascript/mastodon/actions/statuses.js index 5640201c62..e565e0b0ab 100644 --- a/app/javascript/mastodon/actions/statuses.js +++ b/app/javascript/mastodon/actions/statuses.js @@ -3,7 +3,7 @@ import openDB from '../storage/db'; import { evictStatus } from '../storage/modifier'; import { deleteFromTimelines } from './timelines'; -import { importFetchedStatus, importFetchedStatuses, importAccount, importStatus } from './importer'; +import { importFetchedStatus, importFetchedStatuses, importAccount, importStatus, importFetchedAccount } from './importer'; import { ensureComposeIsVisible } from './compose'; export const STATUS_FETCH_REQUEST = 'STATUS_FETCH_REQUEST'; @@ -155,6 +155,7 @@ export function deleteStatus(id, routerHistory, withRedraft = false) { evictStatus(id); dispatch(deleteStatusSuccess(id)); dispatch(deleteFromTimelines(id)); + dispatch(importFetchedAccount(response.data.account)); if (withRedraft) { dispatch(redraft(status, response.data.text)); diff --git a/app/javascript/mastodon/actions/streaming.js b/app/javascript/mastodon/actions/streaming.js index d998fcac48..7cecff66e1 100644 --- a/app/javascript/mastodon/actions/streaming.js +++ b/app/javascript/mastodon/actions/streaming.js @@ -71,9 +71,10 @@ const refreshHomeTimelineAndNotification = (dispatch, done) => { dispatch(fetchAnnouncements(done)))))); }; -export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification); -export const connectCommunityStream = ({ onlyMedia } = {}) => connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`); -export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`); -export const connectHashtagStream = (id, tag, local, accept) => connectTimelineStream(`hashtag:${id}${local ? ':local' : ''}`, `hashtag${local ? ':local' : ''}&tag=${tag}`, null, accept); -export const connectDirectStream = () => connectTimelineStream('direct', 'direct'); -export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`); +export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification); +export const connectUserTimelineStream = (accountId) => connectTimelineStream(`account:${accountId}`, 'user'); +export const connectCommunityStream = ({ onlyMedia } = {}) => connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`); +export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`); +export const connectHashtagStream = (id, tag, local, accept) => connectTimelineStream(`hashtag:${id}${local ? ':local' : ''}`, `hashtag${local ? ':local' : ''}&tag=${tag}`, null, accept); +export const connectDirectStream = () => connectTimelineStream('direct', 'direct'); +export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`); diff --git a/app/javascript/mastodon/features/account_timeline/index.js b/app/javascript/mastodon/features/account_timeline/index.js index 5ea907a1f1..3846cc6377 100644 --- a/app/javascript/mastodon/features/account_timeline/index.js +++ b/app/javascript/mastodon/features/account_timeline/index.js @@ -15,6 +15,8 @@ import { FormattedMessage } from 'react-intl'; import { fetchAccountIdentityProofs } from '../../actions/identity_proofs'; import MissingIndicator from 'mastodon/components/missing_indicator'; import TimelineHint from 'mastodon/components/timeline_hint'; +import { me } from 'mastodon/initial_state'; +import { connectUserTimelineStream } from '../../actions/streaming'; const emptyList = ImmutableList(); @@ -73,6 +75,12 @@ class AccountTimeline extends ImmutablePureComponent { this.props.dispatch(expandAccountTimeline(accountId, { withReplies })); } + componentDidMount () { + if (this.props.params.accountId === me) { + this.disconnect = this.props.dispatch(connectUserTimelineStream(me)); + } + } + componentWillReceiveProps (nextProps) { if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) { this.props.dispatch(fetchAccount(nextProps.params.accountId)); @@ -86,6 +94,13 @@ class AccountTimeline extends ImmutablePureComponent { } } + componentWillUnmount () { + if (this.disconnect) { + this.disconnect(); + this.disconnect = null; + } + } + handleLoadMore = maxId => { this.props.dispatch(expandAccountTimeline(this.props.params.accountId, { maxId, withReplies: this.props.withReplies })); } From 47931db1f50db3b6773fbb3cc4645fdb4a4692eb Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Mon, 20 Jul 2020 02:53:31 +0900 Subject: [PATCH 003/703] Add thumbnail_remote_url in MediaAttachment REST response (#14358) * Add thumbnail_remote_url in MediaAttachment REST response * Change thumbnail_remote_url to preview_remote_url --- app/serializers/rest/media_attachment_serializer.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/serializers/rest/media_attachment_serializer.rb b/app/serializers/rest/media_attachment_serializer.rb index e65f7acf1a..a24f953152 100644 --- a/app/serializers/rest/media_attachment_serializer.rb +++ b/app/serializers/rest/media_attachment_serializer.rb @@ -4,7 +4,7 @@ class REST::MediaAttachmentSerializer < ActiveModel::Serializer include RoutingHelper attributes :id, :type, :url, :preview_url, - :remote_url, :text_url, :meta, + :remote_url, :preview_remote_url, :text_url, :meta, :description, :blurhash def id @@ -35,6 +35,10 @@ class REST::MediaAttachmentSerializer < ActiveModel::Serializer end end + def preview_remote_url + object.thumbnail_remote_url.presence + end + def text_url object.local? ? medium_url(object) : nil end From 7540e235a2b387ca08cf57f8942d1b190d242808 Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Mon, 20 Jul 2020 05:28:27 +0900 Subject: [PATCH 004/703] Fix movie width and frame_rate returning nil (#14357) * Fix movie width and frame_rate returning nil * Add StreamValidationError and raise * Fix code style --- app/lib/exceptions.rb | 1 + app/models/concerns/remotable.rb | 2 +- app/models/media_attachment.rb | 1 + app/services/update_account_service.rb | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/lib/exceptions.rb b/app/lib/exceptions.rb index 3362576b0b..7c8e778713 100644 --- a/app/lib/exceptions.rb +++ b/app/lib/exceptions.rb @@ -7,6 +7,7 @@ module Mastodon class HostValidationError < ValidationError; end class LengthValidationError < ValidationError; end class DimensionsValidationError < ValidationError; end + class StreamValidationError < ValidationError; end class RaceConditionError < Error; end class RateLimitExceededError < Error; end diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb index c6d0c7f1f4..56b9c01642 100644 --- a/app/models/concerns/remotable.rb +++ b/app/models/concerns/remotable.rb @@ -29,7 +29,7 @@ module Remotable rescue Mastodon::UnexpectedResponseError, HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError => e Rails.logger.debug "Error fetching remote #{attachment_name}: #{e}" raise e unless suppress_errors - rescue Paperclip::Errors::NotIdentifiedByImageMagickError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError, Paperclip::Error, Mastodon::DimensionsValidationError => e + rescue Paperclip::Errors::NotIdentifiedByImageMagickError, Addressable::URI::InvalidURIError, Mastodon::HostValidationError, Mastodon::LengthValidationError, Paperclip::Error, Mastodon::DimensionsValidationError, Mastodon::StreamValidationError => e Rails.logger.debug "Error fetching remote #{attachment_name}: #{e}" end diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index 3f2e0ceb1b..3d93ec75ba 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -336,6 +336,7 @@ class MediaAttachment < ApplicationRecord return unless movie.valid? + raise Mastodon::StreamValidationError, 'Video has no video stream' if movie.width.nil? || movie.frame_rate.nil? raise Mastodon::DimensionsValidationError, "#{movie.width}x#{movie.height} videos are not supported" if movie.width * movie.height > MAX_VIDEO_MATRIX_LIMIT raise Mastodon::DimensionsValidationError, "#{movie.frame_rate.to_i}fps videos are not supported" if movie.frame_rate > MAX_VIDEO_FRAME_RATE end diff --git a/app/services/update_account_service.rb b/app/services/update_account_service.rb index 4172d57740..666db5c711 100644 --- a/app/services/update_account_service.rb +++ b/app/services/update_account_service.rb @@ -12,7 +12,7 @@ class UpdateAccountService < BaseService check_links(account) process_hashtags(account) end - rescue Mastodon::DimensionsValidationError => de + rescue Mastodon::DimensionsValidationError, Mastodon::StreamValidationError => de account.errors.add(:avatar, de.message) false end From 0ab97107c76732d3af2ff415d8d9d9d89da25d93 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Mon, 20 Jul 2020 16:48:10 +0900 Subject: [PATCH 005/703] Remove nodejs buildpack from buildpacks (#14364) --- .buildpacks | 1 - 1 file changed, 1 deletion(-) diff --git a/.buildpacks b/.buildpacks index 3450683ce8..5e73304a5d 100644 --- a/.buildpacks +++ b/.buildpacks @@ -1,4 +1,3 @@ https://github.com/heroku/heroku-buildpack-apt https://github.com/Scalingo/ffmpeg-buildpack -https://github.com/Scalingo/nodejs-buildpack https://github.com/Scalingo/ruby-buildpack From fcb3f259e5a36dc4ac5300aa715d583f3a577c2b Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Mon, 20 Jul 2020 18:25:26 +0900 Subject: [PATCH 006/703] Fix to add RedisLock to handle Announce activity (#14365) --- app/lib/activitypub/activity/announce.rb | 39 +++++++++++++++--------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/app/lib/activitypub/activity/announce.rb b/app/lib/activitypub/activity/announce.rb index 34c646668b..9e108985a3 100644 --- a/app/lib/activitypub/activity/announce.rb +++ b/app/lib/activitypub/activity/announce.rb @@ -4,25 +4,32 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity def perform return reject_payload! if delete_arrived_first?(@json['id']) || !related_to_local_activity? - original_status = status_from_object + RedisLock.acquire(lock_options) do |lock| + if lock.acquired? + original_status = status_from_object - return reject_payload! if original_status.nil? || !announceable?(original_status) + return reject_payload! if original_status.nil? || !announceable?(original_status) - status = Status.find_by(account: @account, reblog: original_status) + @status = Status.find_by(account: @account, reblog: original_status) - return status unless status.nil? + return @status unless @status.nil? - status = Status.create!( - account: @account, - reblog: original_status, - uri: @json['id'], - created_at: @json['published'], - override_timestamps: @options[:override_timestamps], - visibility: visibility_from_audience - ) + @status = Status.create!( + account: @account, + reblog: original_status, + uri: @json['id'], + created_at: @json['published'], + override_timestamps: @options[:override_timestamps], + visibility: visibility_from_audience + ) - distribute(status) - status + distribute(@status) + else + raise Mastodon::RaceConditionError + end + end + + @status end private @@ -54,4 +61,8 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity def reblog_of_local_status? status_from_uri(object_uri)&.account&.local? end + + def lock_options + { redis: Redis.current, key: "announce:#{@object['id']}" } + end end From a8b6524b43235a3ce477b7594c918eaa957f27a2 Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Mon, 20 Jul 2020 18:26:12 +0900 Subject: [PATCH 007/703] Changed retries and rescued in ActivityPub::ProcessingWorker (#14355) * Changed the number of retries and rescued exceptions in ActivityPub::ProcessingWorker * Remove RecordNotUnique from rescue --- app/workers/activitypub/processing_worker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/workers/activitypub/processing_worker.rb b/app/workers/activitypub/processing_worker.rb index 05139f616d..cef5953194 100644 --- a/app/workers/activitypub/processing_worker.rb +++ b/app/workers/activitypub/processing_worker.rb @@ -3,7 +3,7 @@ class ActivityPub::ProcessingWorker include Sidekiq::Worker - sidekiq_options backtrace: true + sidekiq_options backtrace: true, retry: 8 def perform(account_id, body, delivered_to_account_id = nil) ActivityPub::ProcessCollectionService.new.call(body, Account.find(account_id), override_timestamps: true, delivered_to_account_id: delivered_to_account_id, delivery: true) From bcf85b5208c936486550da0ce978098840218073 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 22 Jul 2020 11:43:17 +0200 Subject: [PATCH 008/703] Dereference object URIs in Create and Update messages (#14359) * Dereference object URIs in Create and Update messages Fixes #14353 Signed-off-by: Thibaut Girka * Refactor, and perform origin check *before* attempting to fetch object Co-authored-by: Fire Demon --- app/lib/activitypub/activity.rb | 28 ++++++++++++++++++++++++++ app/lib/activitypub/activity/create.rb | 2 ++ app/lib/activitypub/activity/update.rb | 2 ++ 3 files changed, 32 insertions(+) diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb index 0ce279d287..ab946470b9 100644 --- a/app/lib/activitypub/activity.rb +++ b/app/lib/activitypub/activity.rb @@ -157,6 +157,34 @@ class ActivityPub::Activity fetch_remote_original_status end + def dereference_object! + return unless @object.is_a?(String) + return if invalid_origin?(@object) + + object = fetch_resource(@object, true, signed_fetch_account) + return unless object.present? && object.is_a?(Hash) && supported_context?(object) + + @object = object + end + + def signed_fetch_account + first_mentioned_local_account || first_local_follower + end + + def first_mentioned_local_account + audience = (as_array(@json['to']) + as_array(@json['cc'])).uniq + local_usernames = audience.select { |uri| ActivityPub::TagManager.instance.local_uri?(uri) } + .map { |uri| ActivityPub::TagManager.instance.uri_to_local_id(uri, :username) } + + return if local_usernames.empty? + + Account.local.where(username: local_usernames).first + end + + def first_local_follower + @account.followers.local.first + end + def follow_request_from_object @follow_request ||= FollowRequest.find_by(target_account: @account, uri: object_uri) unless object_uri.nil? end diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index e81452e3ca..08dd98e942 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -2,6 +2,8 @@ class ActivityPub::Activity::Create < ActivityPub::Activity def perform + dereference_object! + case @object['type'] when 'EncryptedMessage' create_encrypted_message diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb index 70035325b6..018e2df549 100644 --- a/app/lib/activitypub/activity/update.rb +++ b/app/lib/activitypub/activity/update.rb @@ -4,6 +4,8 @@ class ActivityPub::Activity::Update < ActivityPub::Activity SUPPORTED_TYPES = %w(Application Group Organization Person Service).freeze def perform + dereference_object! + if equals_or_includes_any?(@object['type'], SUPPORTED_TYPES) update_account elsif equals_or_includes_any?(@object['type'], %w(Question)) From f55dd193f9a62623054dba1537d01bd7f5cd32f3 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 22 Jul 2020 11:44:02 +0200 Subject: [PATCH 009/703] Fix RSS feeds not being cachable (#14368) * Add tests for some cachable responses This only covers responses that we should have managed to make cachable so far. It's not the case of all responses that should be cachable in the end. * Fix RSS feeds not being cachable --- app/controllers/application_controller.rb | 2 +- spec/controllers/accounts_controller_spec.rb | 31 ++++++++++++------- .../collections_controller_spec.rb | 23 ++++++++++---- .../activitypub/outboxes_controller_spec.rb | 23 ++++++++++---- .../activitypub/replies_controller_spec.rb | 23 ++++++++++---- spec/controllers/statuses_controller_spec.rb | 23 ++++++++++---- 6 files changed, 88 insertions(+), 37 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 973db6aca9..2201e463e6 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -55,7 +55,7 @@ class ApplicationController < ActionController::Base end def store_current_location - store_location_for(:user, request.url) unless request.format == :json + store_location_for(:user, request.url) unless [:json, :rss].include?(request.format&.to_sym) end def require_admin! diff --git a/spec/controllers/accounts_controller_spec.rb b/spec/controllers/accounts_controller_spec.rb index bd36f54940..93bf2c83f4 100644 --- a/spec/controllers/accounts_controller_spec.rb +++ b/spec/controllers/accounts_controller_spec.rb @@ -5,6 +5,21 @@ RSpec.describe AccountsController, type: :controller do let(:account) { Fabricate(:user).account } + shared_examples 'cachable response' do + it 'does not set cookies' do + expect(response.cookies).to be_empty + expect(response.headers['Set-Cookies']).to be nil + end + + it 'does not set sessions' do + expect(session).to be_empty + end + + it 'returns public Cache-Control header' do + expect(response.headers['Cache-Control']).to include 'public' + end + end + describe 'GET #show' do let(:format) { 'html' } @@ -323,9 +338,7 @@ RSpec.describe AccountsController, type: :controller do expect(response.content_type).to eq 'application/activity+json' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'renders account' do json = body_as_json @@ -343,9 +356,7 @@ RSpec.describe AccountsController, type: :controller do expect(response.content_type).to eq 'application/activity+json' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'returns Vary header with Signature' do expect(response.headers['Vary']).to include 'Signature' @@ -401,9 +412,7 @@ RSpec.describe AccountsController, type: :controller do expect(response.content_type).to eq 'application/activity+json' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'renders account' do json = body_as_json @@ -447,9 +456,7 @@ RSpec.describe AccountsController, type: :controller do expect(response).to have_http_status(200) end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' end context do diff --git a/spec/controllers/activitypub/collections_controller_spec.rb b/spec/controllers/activitypub/collections_controller_spec.rb index 56be49be3d..89939d1d25 100644 --- a/spec/controllers/activitypub/collections_controller_spec.rb +++ b/spec/controllers/activitypub/collections_controller_spec.rb @@ -6,6 +6,21 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do let!(:account) { Fabricate(:account) } let(:remote_account) { nil } + shared_examples 'cachable response' do + it 'does not set cookies' do + expect(response.cookies).to be_empty + expect(response.headers['Set-Cookies']).to be nil + end + + it 'does not set sessions' do + expect(session).to be_empty + end + + it 'returns public Cache-Control header' do + expect(response.headers['Cache-Control']).to include 'public' + end + end + before do allow(controller).to receive(:signed_request_account).and_return(remote_account) @@ -31,9 +46,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do expect(response.content_type).to eq 'application/activity+json' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'returns orderedItems with pinned statuses' do json = body_as_json @@ -58,9 +71,7 @@ RSpec.describe ActivityPub::CollectionsController, type: :controller do expect(response.content_type).to eq 'application/activity+json' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'returns orderedItems with pinned statuses' do json = body_as_json diff --git a/spec/controllers/activitypub/outboxes_controller_spec.rb b/spec/controllers/activitypub/outboxes_controller_spec.rb index 03490533dd..1baf5a6230 100644 --- a/spec/controllers/activitypub/outboxes_controller_spec.rb +++ b/spec/controllers/activitypub/outboxes_controller_spec.rb @@ -3,6 +3,21 @@ require 'rails_helper' RSpec.describe ActivityPub::OutboxesController, type: :controller do let!(:account) { Fabricate(:account) } + shared_examples 'cachable response' do + it 'does not set cookies' do + expect(response.cookies).to be_empty + expect(response.headers['Set-Cookies']).to be nil + end + + it 'does not set sessions' do + expect(session).to be_empty + end + + it 'returns public Cache-Control header' do + expect(response.headers['Cache-Control']).to include 'public' + end + end + before do Fabricate(:status, account: account, visibility: :public) Fabricate(:status, account: account, visibility: :unlisted) @@ -39,9 +54,7 @@ RSpec.describe ActivityPub::OutboxesController, type: :controller do expect(json[:totalItems]).to eq 4 end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' end context 'with page requested' do @@ -62,9 +75,7 @@ RSpec.describe ActivityPub::OutboxesController, type: :controller do expect(json[:orderedItems].all? { |item| item[:to].include?(ActivityPub::TagManager::COLLECTIONS[:public]) || item[:cc].include?(ActivityPub::TagManager::COLLECTIONS[:public]) }).to be true end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' end end diff --git a/spec/controllers/activitypub/replies_controller_spec.rb b/spec/controllers/activitypub/replies_controller_spec.rb index d956e1b35f..ed383864dd 100644 --- a/spec/controllers/activitypub/replies_controller_spec.rb +++ b/spec/controllers/activitypub/replies_controller_spec.rb @@ -7,6 +7,21 @@ RSpec.describe ActivityPub::RepliesController, type: :controller do let(:remote_reply_id) { nil } let(:remote_account) { nil } + shared_examples 'cachable response' do + it 'does not set cookies' do + expect(response.cookies).to be_empty + expect(response.headers['Set-Cookies']).to be nil + end + + it 'does not set sessions' do + expect(session).to be_empty + end + + it 'returns public Cache-Control header' do + expect(response.headers['Cache-Control']).to include 'public' + end + end + before do allow(controller).to receive(:signed_request_account).and_return(remote_account) @@ -36,9 +51,7 @@ RSpec.describe ActivityPub::RepliesController, type: :controller do expect(response.content_type).to eq 'application/activity+json' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'returns items with account\'s own replies' do json = body_as_json @@ -87,9 +100,7 @@ RSpec.describe ActivityPub::RepliesController, type: :controller do expect(response.content_type).to eq 'application/activity+json' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' context 'without only_other_accounts' do it 'returns items with account\'s own replies' do diff --git a/spec/controllers/statuses_controller_spec.rb b/spec/controllers/statuses_controller_spec.rb index ba1f1370a6..cd6e1e6074 100644 --- a/spec/controllers/statuses_controller_spec.rb +++ b/spec/controllers/statuses_controller_spec.rb @@ -5,6 +5,21 @@ require 'rails_helper' describe StatusesController do render_views + shared_examples 'cachable response' do + it 'does not set cookies' do + expect(response.cookies).to be_empty + expect(response.headers['Set-Cookies']).to be nil + end + + it 'does not set sessions' do + expect(session).to be_empty + end + + it 'returns public Cache-Control header' do + expect(response.headers['Cache-Control']).to include 'public' + end + end + describe 'GET #show' do let(:account) { Fabricate(:account) } let(:status) { Fabricate(:status, account: account) } @@ -80,9 +95,7 @@ describe StatusesController do expect(response.headers['Vary']).to eq 'Accept' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'returns Content-Type header' do expect(response.headers['Content-Type']).to include 'application/activity+json' @@ -470,9 +483,7 @@ describe StatusesController do expect(response.headers['Vary']).to eq 'Accept' end - it 'returns public Cache-Control header' do - expect(response.headers['Cache-Control']).to include 'public' - end + it_behaves_like 'cachable response' it 'returns Content-Type header' do expect(response.headers['Content-Type']).to include 'application/activity+json' From 5d9acc0ce41aa0274fef2dd321a8fad1fb0665ea Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 22 Jul 2020 11:45:35 +0200 Subject: [PATCH 010/703] Fix not handling Undo on some activity types when they aren't inlined (#14346) * Fix not handling Undo on some activity types when they aren't inlined When receiving an Undo for a non-inlined activity, try looking it up in database using the URI. The queries are ad-hoc because we don't have a global index of object URIs, and not all activity types are stored in database with an index on their URI. Announces are just statuses, and have an index on URIs, so this check can be done efficiently. Accepts cannot be handled at all because we don't record their URI at any point. Follows don't have an index on URI, but they have an index on the issuing account, which should make such queries largely manageable. Likes don't have an index on URI, they have an index on the issuing account, but the number of favs per account may be very high, so I decided not to handle that. Blocks don't have an index on URI, but they have an index on the issuing account, which should make such queries largely manageable. In all cases, if an Undo could not be handled properly, we call `delete_later!` because that does not require us to know more than the URI of the undone property. * Add tests * Make newer blocks overwrite older ones Allows re-synchronizing block info by re-blocking and un-blocking again when the original Undo Block has been lost. --- app/lib/activitypub/activity/block.rb | 7 ++- app/lib/activitypub/activity/undo.rb | 51 +++++++++++++++++++++ spec/lib/activitypub/activity/block_spec.rb | 22 +++++++++ spec/lib/activitypub/activity/undo_spec.rb | 35 +++++++++++++- 4 files changed, 112 insertions(+), 3 deletions(-) diff --git a/app/lib/activitypub/activity/block.rb b/app/lib/activitypub/activity/block.rb index a17a2d50a6..90477bf336 100644 --- a/app/lib/activitypub/activity/block.rb +++ b/app/lib/activitypub/activity/block.rb @@ -4,7 +4,12 @@ class ActivityPub::Activity::Block < ActivityPub::Activity def perform target_account = account_from_uri(object_uri) - return if target_account.nil? || !target_account.local? || @account.blocking?(target_account) + return if target_account.nil? || !target_account.local? + + if @account.blocking?(target_account) + @account.block_relationships.find_by(target_account: target_account).update(uri: @json['id']) if @json['id'].present? + return + end UnfollowService.new.call(target_account, @account) if target_account.following?(@account) diff --git a/app/lib/activitypub/activity/undo.rb b/app/lib/activitypub/activity/undo.rb index 599823c6e2..9eff1b71c9 100644 --- a/app/lib/activitypub/activity/undo.rb +++ b/app/lib/activitypub/activity/undo.rb @@ -13,11 +13,62 @@ class ActivityPub::Activity::Undo < ActivityPub::Activity undo_like when 'Block' undo_block + when nil + handle_reference end end private + def handle_reference + # Some implementations do not inline the object, and as we don't have a + # global index, we have to guess what object it is. + return if object_uri.nil? + + try_undo_announce || try_undo_accept || try_undo_follow || try_undo_like || try_undo_block || delete_later!(object_uri) + end + + def try_undo_announce + status = Status.where.not(reblog_of_id: nil).find_by(uri: object_uri, account: @account) + if status.present? + RemoveStatusService.new.call(status) + true + else + false + end + end + + def try_undo_accept + # We can't currently handle `Undo Accept` as we don't record `Accept`'s uri + false + end + + def try_undo_follow + follow = @account.follow_requests.find_by(uri: object_uri) || @account.active_relationships.find_by(uri: object_uri) + + if follow.present? + follow.destroy + true + else + false + end + end + + def try_undo_like + # There is an index on accounts, but an account may have *many* favs, so this may be too costly + false + end + + def try_undo_block + block = @account.block_relationships.find_by(uri: object_uri) + if block.present? + UnblockService.new.call(@account, block.target_account) + true + else + false + end + end + def undo_announce return if object_uri.nil? diff --git a/spec/lib/activitypub/activity/block_spec.rb b/spec/lib/activitypub/activity/block_spec.rb index 94d37356dd..42bdfdc810 100644 --- a/spec/lib/activitypub/activity/block_spec.rb +++ b/spec/lib/activitypub/activity/block_spec.rb @@ -28,6 +28,28 @@ RSpec.describe ActivityPub::Activity::Block do end end + context 'when the recipient is already blocked' do + before do + sender.block!(recipient, uri: 'old') + end + + describe '#perform' do + subject { described_class.new(json, sender) } + + before do + subject.perform + end + + it 'creates a block from sender to recipient' do + expect(sender.blocking?(recipient)).to be true + end + + it 'sets the uri to that of last received block activity' do + expect(sender.block_relationships.find_by(target_account: recipient).uri).to eq 'foo' + end + end + end + context 'when the recipient follows the sender' do before do recipient.follow!(sender) diff --git a/spec/lib/activitypub/activity/undo_spec.rb b/spec/lib/activitypub/activity/undo_spec.rb index 9545e1f46a..c0309e49da 100644 --- a/spec/lib/activitypub/activity/undo_spec.rb +++ b/spec/lib/activitypub/activity/undo_spec.rb @@ -50,6 +50,19 @@ RSpec.describe ActivityPub::Activity::Undo do expect(sender.reblogged?(status)).to be false end end + + context 'with only object uri' do + let(:object_json) { 'bar' } + + before do + Fabricate(:status, reblog: status, account: sender, uri: 'bar') + end + + it 'deletes the reblog by uri' do + subject.perform + expect(sender.reblogged?(status)).to be false + end + end end context 'with Accept' do @@ -91,13 +104,22 @@ RSpec.describe ActivityPub::Activity::Undo do end before do - sender.block!(recipient) + sender.block!(recipient, uri: 'bar') end it 'deletes block from sender to recipient' do subject.perform expect(sender.blocking?(recipient)).to be false end + + context 'with only object uri' do + let(:object_json) { 'bar' } + + it 'deletes block from sender to recipient' do + subject.perform + expect(sender.blocking?(recipient)).to be false + end + end end context 'with Follow' do @@ -113,13 +135,22 @@ RSpec.describe ActivityPub::Activity::Undo do end before do - sender.follow!(recipient) + sender.follow!(recipient, uri: 'bar') end it 'deletes follow from sender to recipient' do subject.perform expect(sender.following?(recipient)).to be false end + + context 'with only object uri' do + let(:object_json) { 'bar' } + + it 'deletes follow from sender to recipient' do + subject.perform + expect(sender.following?(recipient)).to be false + end + end end context 'with Like' do From e93efc03092c4292658543695810036bc52bbc7f Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 22 Jul 2020 22:48:51 +0200 Subject: [PATCH 011/703] Change disabled retweet icon (#14373) * Change disabled retweet icon * Hide fontawesome version of boost icon in both reduce-motion and no-reduce-motion --- app/javascript/styles/mastodon/boost.scss | 2 +- app/javascript/styles/mastodon/components.scss | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/app/javascript/styles/mastodon/boost.scss b/app/javascript/styles/mastodon/boost.scss index 5a6d6ae406..a18e69a6a3 100644 --- a/app/javascript/styles/mastodon/boost.scss +++ b/app/javascript/styles/mastodon/boost.scss @@ -7,5 +7,5 @@ button.icon-button i.fa-retweet { } button.icon-button.disabled i.fa-retweet { - background-image: url("data:image/svg+xml;utf8,"); + background-image: url("data:image/svg+xml;utf8,"); } diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 1720697702..06533246bb 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -2990,7 +2990,7 @@ a.account__display-name { } } -.no-reduce-motion button.icon-button i.fa-retweet { +button.icon-button i.fa-retweet { background-position: 0 0; height: 19px; transition: background-position 0.9s steps(10); @@ -3004,18 +3004,14 @@ a.account__display-name { } -.no-reduce-motion button.icon-button.active i.fa-retweet { +button.icon-button.active i.fa-retweet { transition-duration: 0.9s; background-position: 0 100%; } -.reduce-motion button.icon-button i.fa-retweet { - color: $action-button-color; - transition: color 100ms ease-in; -} - +.reduce-motion button.icon-button i.fa-retweet, .reduce-motion button.icon-button.active i.fa-retweet { - color: $highlight-text-color; + transition: none; } .status-card { From d5d856f104f2973d1b4a87770c23a158f1f69835 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 22 Jul 2020 23:08:27 +0200 Subject: [PATCH 012/703] Update translators (#14374) --- AUTHORS.md | 328 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 257 insertions(+), 71 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index 5ff241afd3..12d0736bde 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -694,122 +694,308 @@ This document is provided for informational purposes only. Since it is only upda Following people have contributed to translation of Mastodon: -- Zoltán Gera (*Hungarian*) -- Kristijan Tkalec (*Slovenian*) +- ᏦᏁᎢᎵᏫ 😷 (*Spanish, Argentina*) +- Sveinn í Felli (*Icelandic*) +- taicv (*Vietnamese*) +- ButterflyOfFire (*Arabic; French; Kabyle*) +- Duy (*Vietnamese*) - Evert Prants (*Estonian*) -- borys_sh (*Ukrainian*) -- ButterflyOfFire (*Arabic; French*) -- Osoitz (*Basque*) -- oɹʇuʞ (*Spanish, Argentina*) -- koyu (*German*) -- Jeroen (*Dutch*) -- Muha Aliss (*Turkish*) -- 唐宗勛 (*Chinese Simplified*) -- Jeong Arm (*Korean; Esperanto; Japanese*) -- Oguz Ersen (*Turkish*) -- spla (*Catalan*) +- Zoltán Gera (*Hungarian*) +- Daniele Lira Mereb (*Portuguese, Brazilian*) +- Kristijan Tkalec (*Slovenian*) +- stan ionut (*Romanian*) - Ramdziana F Y (*Indonesian*) -- Aditoo17 (*Czech*) -- Xosé M. (*Galician*) -- Roboron (*Spanish*) -- Alix Rossi (*Corsican; French*) -- Maya Minatsuki (*Japanese*) -- Masoud Abkenar (*Persian*) +- Michal Stanke (*Czech*) +- Xosé M. (*Galician; Spanish*) +- 奈卜拉 (*Chinese Simplified*) +- borys_sh (*Ukrainian*) +- Miguel Mayol (*Spanish; Catalan*) +- Besnik_b (*Albanian*) - Thai Localization (*Thai*) -- Marek Ľach (*Slovak; Polish*) -- d5Ziif3K (*Ukrainian*) +- Emanuel Pina (*Portuguese*) +- Jeong Arm (*Korean; Esperanto; Japanese*) +- Imre Kristoffer Eilertsen (*Norwegian*) +- Danial Behzadi (*Persian*) +- Osoitz (*Basque*) +- Peterandre (*Norwegian Nynorsk; Norwegian*) +- Jeroen (*Dutch*) +- spla (*Catalan; Spanish*) +- Iváns (*Galician*) +- koyu (*German*) +- Sasha Sorokin (*Russian; Vietnamese; Swedish; Catalan; Greek; Hungarian; Armenian; Albanian; Galician; French; Danish; German; Korean; Ukrainian*) +- enolp (*Asturian*) +- Masoud Abkenar (*Persian*) - lamnatos (*Greek*) -- Emyn Nant Nefydd (*Welsh*) +- Alix Rossi (*Corsican; French*) +- arshat (*Kazakh*) +- FédiQuébec (*French*) +- Marek Ľach (*Slovak; Polish*) +- Muha Aliss (*Turkish*) +- tolstoevsky (*Russian*) +- Emyn-Russell Nt Nefydd (*Welsh*) +- Aditoo17 (*Czech*) +- Maya Minatsuki (*Japanese*) +- ariasuni (*French; Esperanto*) +- Roboron (*Spanish*) +- Alessandro Levati (*Italian*) - Diluns (*Occitan*) +- regulartranslator (*Portuguese, Brazilian*) +- vishnuvaratharajan (*Tamil*) +- Marcin Mikołajczak (*Polish*) +- Yi-Jyun Pan (*Chinese Traditional*) +- adrmzz (*Sardinian*) +- d5Ziif3K (*Ukrainian*) +- GiorgioHerbie (*Italian*) +- christalleras (*Norwegian Nynorsk*) +- Taloran (*Norwegian Nynorsk*) +- ThibG (*French; Icelandic*) +- Akarshan Biswas (*Bengali*) - atarashiako (*Chinese Simplified*) - 101010 (*Polish*) -- Yi-Jyun Pan (*Chinese Traditional*) - silkevicious (*Italian*) -- FédiQuébec (*French*) -- Jaz-Michael King (*Welsh*) -- christalleras (*Norwegian Nynorsk*) -- tykayn (*French*) -- Alessandro Levati (*Italian*) -- carolinagiorno (*Portuguese, Brazilian*) -- taoxvx (*Danish*) -- sabri (*Spanish*) -- Sasha Sorokin (*Russian*) -- shioko (*Chinese Simplified*) -- Evgeny Petrov (*Russian*) -- ariasuni (*French; Esperanto*) +- Bertil Hedkvist (*Swedish*) +- cybergene (*Japanese*) +- norayr (*Armenian*) +- William(ѕ)ⁿ (*Spanish*) - Tiago Epifânio (*Portuguese*) -- dxwc (*Bengali*) +- Mentor Gashi (*Albanian*) +- Jaz-Michael King (*Welsh*) +- carolinagiorno (*Portuguese, Brazilian*) +- Roby Thomas (*Malayalam*) +- Bharat Kumar (*Hindi*) +- tykayn (*French*) +- axi (*Finnish*) +- Selyan Slimane AMIRI (*Kabyle*) +- taoxvx (*Danish*) +- Hrach Mkrtchyan (*Armenian*) +- sabri (*Spanish; Spanish, Argentina*) +- Dewi (*Breton; French*) +- SteinarK (*Norwegian Nynorsk*) +- Mathias B. Vagnes (*Norwegian*) +- dashersyed (*Urdu*) +- ThonyVezbe (*Breton*) +- Acolyte (*Ukrainian*) +- Conight Wang (*Chinese Simplified*) +- Damjan Dimitrioski (*Macedonian*) +- PPNplus (*Thai*) +- Tagomago (*Spanish; French*) +- shioko (*Chinese Simplified*) +- Balázs Meskó (*Hungarian*) +- Evgeny Petrov (*Russian*) +- Gwenn (*Breton*) +- Ryo (*Korean*) +- Rafael H L Moretti (*Portuguese, Brazilian*) +- jaranta (*Finnish*) +- gagik_ (*Armenian*) +- Felicia (*Swedish*) +- Jess Rafn (*Danish*) +- Stasiek Michalski (*Polish*) - liffon (*Swedish*) +- dxwc (*Bengali*) +- Saederup92 (*Danish*) - Vanege (*Esperanto*) +- jmontane (*Catalan*) - Johan Schiff (*Swedish*) +- Arunmozhi (*Tamil*) - kat (*Ukrainian; Russian*) +- Laura (*Polish*) - oti4500 (*Hungarian; Ukrainian*) +- diazepan (*Spanish; Spanish, Argentina*) +- Sokratis Alichanidis (*Greek*) +- Rikard Linde (*Swedish*) - Juan José Salvador Piedra (*Spanish*) -- diazepan (*Spanish*) +- marzuquccen (*Kabyle*) +- BurekzFinezt (*Serbian*) - SHeija (*Finnish*) - Jack R (*Spanish*) -- Saederup92 (*Danish*) -- Stasiek Michalski (*Polish*) -- Dewi (*Breton; French*) -- cybergene (*Japanese*) -- AW Unad (*Indonesian*) -- Andrea Lo Iacono (*Italian*) -- Ray (*Spanish*) +- andruhov (*Ukrainian; Russian*) +- 森の子リスのミーコの大冒険 (*Japanese*) +- るいーね (*Japanese*) +- Sam Tux (*Bengali*) - Unmual (*Spanish*) -- Ryo (*Korean*) +- AW Unad (*Indonesian*) +- Cutls (*Japanese*) +- Ray (*Spanish*) +- Falling Snowdin (*Vietnamese*) +- Andrea Lo Iacono (*Italian*) +- EPEMA (*German*) +- Kinshuk Sunil (*Hindi*) +- Ullas Joseph (*Malayalam*) +- Yu-Pai Liu (*Chinese Traditional*) +- Amarin Cemthong (*Thai*) - juanda097 (*Spanish*) - Anunnakey (*Macedonian*) -- Cutls (*Japanese*) +- StanleyFrew (*French*) - erikstl (*Esperanto*) -- ruine (*Japanese*) - MadeInSteak (*Finnish*) -- Sokratis Alichanidis (*Greek*) -- dragnucs2 (*Arabic*) -- frumble (*German*) -- Rikard Linde (*Swedish*) -- PPNplus (*Thai*) +- Heimen Stoffels (*Dutch*) +- Rajarshi Guha (*Bengali*) +- Andrew (*Romanian*) +- Goudarz Jafari (*Persian*) - arethsu (*Swedish*) -- EPEMA YT (*German*) +- Carlos Solís (*Esperanto*) +- Parthan S Ramanujam (*Tamil*) +- Ali Demirtaş (*Turkish*) +- Kasper Nymand (*Danish*) +- TS (*Finnish*) +- SensDeViata (*Ukrainian*) +- SergioFMiranda (*Portuguese, Brazilian*) +- OctolinGamer (*Portuguese, Brazilian*) +- AzureNya (*Chinese Simplified*) +- Ram varma (*Tamil*) +- 北䑓如法 (*Japanese*) +- frumble (*German*) +- kekkepikkuni (*Tamil*) +- oorsutri (*Tamil*) +- Nithin V (*Tamil*) +- Miro Rauhala (*Finnish*) +- diorama (*Italian*) - Rhys Harrison (*Esperanto*) +- Guillaume Turchini (*French*) +- Ganesh D (*Marathi*) +- dragnucs2 (*Arabic*) +- Pedro Henrique (*Portuguese, Brazilian*) +- Tejas Harad (*Marathi*) +- Vasanthan (*Tamil*) +- 硫酸鶏 (*Japanese*) +- manukp (*Malayalam*) +- psymyn (*Hebrew*) +- earth dweller (*Marathi*) +- meijerivoi (*Finnish*) +- essaar (*Tamil*) +- serubeena (*Swedish*) +- Rintan (*Japanese*) +- Karol Kosek (*Polish*) +- valarivan (*Tamil*) +- Sebastián Andil (*Slovak*) +- v4vachan (*Malayalam*) - KEINOS (*Japanese*) +- Ivan T. (*Chinese Traditional, Hong Kong*) - filippodb (*Italian*) +- Balázs Meskó (*Hungarian*) - JzshAC (*Chinese Simplified*) -- Rintan1 (*Japanese*) +- Bottle (*Tamil*) +- Khóo (*Chinese Traditional*) +- Steven Tappert (*German*) - Antillion (*Spanish*) +- ZiriSut (*Kabyle*) +- gowthamanb (*Tamil*) - hiphipvargas (*Portuguese*) +- Arttu Ylhävuori (*Finnish*) - Ch. (*Korean*) - tctovsli (*Norwegian Nynorsk*) +- Hinaloe (*Japanese*) +- strubbl (*German*) - vjasiegd (*Polish*) - SamitiMed (*Thai*) +- Reg3xp (*Persian*) +- AlexKoala (*Korean*) - umelard (*Hebrew*) -- 硫酸鶏 (*Japanese*) -- Adrián Lattes (*Spanish*) -- Hinaloe (*Japanese*) -- Renato "Lond" Cerqueira (*Portuguese, Brazilian*) -- parnikkapore (*Thai*) -- Marcin Mikołajczak (*Polish*) -- 森の子リスのミーコの大冒険 (*Japanese*) -- Marcepanek_ (*Polish*) -- Sahak Petrosyan (*Armenian*) +- VSx86 (*Russian*) - Daniel Dimitrov (*Bulgarian*) +- mynameismonkey (*Welsh*) +- parnikkapore (*Thai*) +- Mo_der Steven (*Chinese Simplified*) +- SKELET (*Danish*) +- Renato "Lond" Cerqueira (*Portuguese, Brazilian*) +- enipra (*Armenian*) +- musix (*Persian*) +- ギャラ (*Chinese Simplified; Japanese*) +- ALEM FARID (*Kabyle*) +- ybardapurkar (*Marathi*) +- Adrián Lattes (*Spanish*) +- rasheedgm (*Kannada*) +- omquylzu (*Latvian*) +- Belkacem Mohammed (*Kabyle*) +- Navjot Singh (*Hindi*) +- Ozai (*German*) +- Sahak Petrosyan (*Armenian*) +- siamano (*Thai; Esperanto*) +- se7entime (*Indonesian*) +- Viorel-Cătălin Răpițeanu (*Romanian*) +- Siddhartha Sarathi Basu (*Bengali*) +- Pachara Chantawong (*Thai*) +- Skew (*French*) +- Zijian Zhao (*Chinese Simplified*) +- Guru Prasath Anandapadmanaban (*Tamil*) +- turtle836 (*German*) +- GatoOscuro (*Spanish*) +- Lamin (*Japanese*) +- Marcepanek_ (*Polish*) +- Yann Aguettaz (*French*) +- Feruz Oripov (*Russian*) +- Mick Onio (*Asturian*) +- hg6 (*Hindi*) +- Malik Mann (*German*) +- padulafacundo (*Spanish*) +- r3dsp1 (*Chinese Traditional, Hong Kong*) +- Tianqi Zhang (*Chinese Simplified*) +- Padraic Calpin (*Slovenian*) +- cenegd (*Chinese Simplified*) +- piupiupiudiu (*Chinese Simplified*) - Hugh Liu (*Chinese Simplified*) - Rakino (*Chinese Simplified*) +- Jothipazhani Nagarajan (*Tamil*) +- Miquel Sabaté Solà (*Catalan*) +- AmazighNM (*Kabyle*) +- Solid Rhino (*Dutch*) +- hallomaurits (*Dutch*) - hussama (*Portuguese, Brazilian*) -- ThibG (*French*) +- shafouz (*Portuguese, Brazilian*) +- Tagada (*French*) +- Tom_ (*Czech*) - SnDer (*Dutch*) -- PifyZ (*French*) - eichkat3r (*German*) -- Karol Kosek (*Polish*) -- Akarshan Biswas (*Bengali*) +- PifyZ (*French*) +- OminousCry (*Russian*) +- Shrinivasan T (*Tamil*) +- Nathaël Noguès (*French*) +- Daniel M. (*Catalan*) +- Swati Sani (*Urdu*) +- Kk (*Kannada*) +- SusVersiva (*Catalan*) +- Robin van der Vliet (*Esperanto*) +- Zinkokooo (*Basque*) - Tradjincal (*French*) -- Steven Tappert (*German*) -- sergioaraujo1 (*Portuguese, Brazilian*) +- Vikatakavi (*Kannada*) +- prabhjot (*Hindi*) +- twpenguin (*Chinese Traditional*) - mmokhi (*Persian*) -- fedot (*Russian*) +- sergioaraujo1 (*Portuguese, Brazilian*) +- Livingston Samuel (*Tamil*) +- tsundoker (*Malayalam*) - skaaarrr (*German*) +- 夜楓Yoka (*Chinese Simplified*) +- kiwi0 (*Italian*) +- fedot (*Russian*) +- mkljczk (*Polish*) +- igordrozniak (*Polish*) +- Ricardo Colin (*Spanish*) +- Esther (*Portuguese*) +- Paz Galindo (*Spanish*) +- Philipp Fischbeck (*German*) +- ralozkolya (*Georgian*) - JackXu (*Chinese Simplified*) -- Lukas Fülling (*German*) +- Allen Zhong (*Chinese Simplified*) - Zoé Bőle (*German*) +- Lukas Fülling (*German*) +- Albatroz Jeremias (*Portuguese*) +- Samir Tighzert (*Kabyle*) +- Nocta (*French*) +- Anoop (*Malayalam*) +- pezcurrel (*Italian*) - Dremski (*Bulgarian*) +- Aymeric (*French*) - tamaina (*Japanese*) +- Doug (*Portuguese, Brazilian*) +- Matias Lavik (*Norwegian Nynorsk*) +- Fleva (*Sardinian*) - OpenAlgeria (*Arabic*) +- koppe-pan (*Japanese*) +- Amith Raj Shetty (*Kannada*) +- smedvedev (*Russian*) +- Trond Boksasp (*Norwegian*) +- random_person (*Spanish*) +- Sais Lakshmanan (*Tamil*) +- mikel (*Spanish*) +- Mohammad Adnan Mahmood (*Arabic*) From 939a47393cf7b65bca9fa7817fcc2dbae770cb9c Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Thu, 23 Jul 2020 22:41:49 +0900 Subject: [PATCH 013/703] Fix duplicate notification and delivery of mentions (#14378) --- app/services/process_mentions_service.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/services/process_mentions_service.rb b/app/services/process_mentions_service.rb index 3822b7dc5c..79af3fc546 100644 --- a/app/services/process_mentions_service.rb +++ b/app/services/process_mentions_service.rb @@ -36,7 +36,8 @@ class ProcessMentionsService < BaseService next match if mention_undeliverable?(mentioned_account) || mentioned_account&.suspended? - mentions << mentioned_account.mentions.where(status: status).first_or_create(status: status) + mention = mentioned_account.mentions.new(status: status) + mentions << mention if mention.save "@#{mentioned_account.acct}" end From 956473142cf3e7e280d7d81990a4ade75095eb03 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 23 Jul 2020 23:54:19 +0200 Subject: [PATCH 014/703] Add custom icon for private boosts (#14380) --- app/javascript/styles/mastodon/boost.scss | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/javascript/styles/mastodon/boost.scss b/app/javascript/styles/mastodon/boost.scss index a18e69a6a3..b4c6d274dd 100644 --- a/app/javascript/styles/mastodon/boost.scss +++ b/app/javascript/styles/mastodon/boost.scss @@ -6,6 +6,14 @@ button.icon-button i.fa-retweet { } } +.status-private button.icon-button i.fa-retweet { + background-image: url("data:image/svg+xml;utf8,"); + + &:hover { + background-image: url("data:image/svg+xml;utf8,"); + } +} + button.icon-button.disabled i.fa-retweet { background-image: url("data:image/svg+xml;utf8,"); } From 753ba9fc23e7075c261327670aea620373c1ee86 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 24 Jul 2020 12:19:30 +0200 Subject: [PATCH 015/703] Fix hover and normal colors for private boost icon being swapped (#14386) --- app/javascript/styles/mastodon/boost.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/styles/mastodon/boost.scss b/app/javascript/styles/mastodon/boost.scss index b4c6d274dd..3489428f83 100644 --- a/app/javascript/styles/mastodon/boost.scss +++ b/app/javascript/styles/mastodon/boost.scss @@ -7,10 +7,10 @@ button.icon-button i.fa-retweet { } .status-private button.icon-button i.fa-retweet { - background-image: url("data:image/svg+xml;utf8,"); + background-image: url("data:image/svg+xml;utf8,"); &:hover { - background-image: url("data:image/svg+xml;utf8,"); + background-image: url("data:image/svg+xml;utf8,"); } } From 054f4af603b2edc44fa0bf82eb9373c691d1d9a3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 24 Jul 2020 12:46:46 +0200 Subject: [PATCH 016/703] New Crowdin updates (#14335) * New translations en.yml (Kazakh) [ci skip] * New translations en.json (Norwegian Nynorsk) [ci skip] * New translations simple_form.en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Latvian) [ci skip] * New translations simple_form.en.yml (Kazakh) [ci skip] * New translations en.json (Latvian) [ci skip] * New translations doorkeeper.en.yml (Estonian) [ci skip] * New translations simple_form.en.yml (Estonian) [ci skip] * New translations en.yml (Estonian) [ci skip] * New translations en.yml (Norwegian Nynorsk) [ci skip] * New translations en.yml (Slovak) [ci skip] * New translations doorkeeper.en.yml (Croatian) [ci skip] * New translations en.yml (Spanish, Argentina) [ci skip] * New translations doorkeeper.en.yml (Portuguese, Brazilian) [ci skip] * New translations en.json (Indonesian) [ci skip] * New translations simple_form.en.yml (Indonesian) [ci skip] * New translations doorkeeper.en.yml (Indonesian) [ci skip] * New translations simple_form.en.yml (Persian) [ci skip] * New translations doorkeeper.en.yml (Persian) [ci skip] * New translations en.json (Tamil) [ci skip] * New translations en.yml (Tamil) [ci skip] * New translations simple_form.en.yml (Tamil) [ci skip] * New translations doorkeeper.en.yml (Tamil) [ci skip] * New translations simple_form.en.yml (Spanish, Argentina) [ci skip] * New translations simple_form.en.yml (Croatian) [ci skip] * New translations doorkeeper.en.yml (Spanish, Argentina) [ci skip] * New translations en.json (Bengali) [ci skip] * New translations en.yml (Bengali) [ci skip] * New translations simple_form.en.yml (Bengali) [ci skip] * New translations en.json (Marathi) [ci skip] * New translations en.yml (Marathi) [ci skip] * New translations doorkeeper.en.yml (Marathi) [ci skip] * New translations en.json (Croatian) [ci skip] * New translations en.yml (Welsh) [ci skip] * New translations en.yml (Croatian) [ci skip] * New translations en.json (Welsh) [ci skip] * New translations simple_form.en.yml (Asturian) [ci skip] * New translations simple_form.en.yml (Welsh) [ci skip] * New translations en.yml (Taigi) [ci skip] * New translations en.yml (Corsican) [ci skip] * New translations simple_form.en.yml (Corsican) [ci skip] * New translations doorkeeper.en.yml (Corsican) [ci skip] * New translations doorkeeper.en.yml (Kabyle) [ci skip] * New translations en.json (Ido) [ci skip] * New translations en.yml (Ido) [ci skip] * New translations simple_form.en.yml (Ido) [ci skip] * New translations doorkeeper.en.yml (Ido) [ci skip] * New translations en.json (Taigi) [ci skip] * New translations doorkeeper.en.yml (Serbian (Latin)) [ci skip] * New translations en.json (Silesian) [ci skip] * New translations en.yml (Silesian) [ci skip] * New translations en.json (Uyghur) [ci skip] * New translations en.yml (Uyghur) [ci skip] * New translations en.json (Sorani (Kurdish)) [ci skip] * New translations en.yml (Sorani (Kurdish)) [ci skip] * New translations simple_form.en.yml (Serbian (Latin)) [ci skip] * New translations doorkeeper.en.yml (Welsh) [ci skip] * New translations en.yml (Breton) [ci skip] * New translations en.json (Esperanto) [ci skip] * New translations simple_form.en.yml (Esperanto) [ci skip] * New translations doorkeeper.en.yml (Esperanto) [ci skip] * New translations en.json (Chinese Traditional, Hong Kong) [ci skip] * New translations en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) [ci skip] * New translations en.json (Malayalam) [ci skip] * New translations en.yml (Malayalam) [ci skip] * New translations simple_form.en.yml (Malayalam) [ci skip] * New translations doorkeeper.en.yml (Malayalam) [ci skip] * New translations simple_form.en.yml (Breton) [ci skip] * New translations en.yml (Serbian (Latin)) [ci skip] * New translations doorkeeper.en.yml (Breton) [ci skip] * New translations en.json (Kannada) [ci skip] * New translations en.yml (Kannada) [ci skip] * New translations en.json (Asturian) [ci skip] * New translations en.yml (Asturian) [ci skip] * New translations en.yml (Portuguese, Brazilian) [ci skip] * New translations doorkeeper.en.yml (Asturian) [ci skip] * New translations en.yml (Occitan) [ci skip] * New translations simple_form.en.yml (Occitan) [ci skip] * New translations doorkeeper.en.yml (Occitan) [ci skip] * New translations en.json (Serbian (Latin)) [ci skip] * New translations simple_form.en.yml (Portuguese, Brazilian) [ci skip] * New translations doorkeeper.en.yml (Turkish) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.json (Georgian) [ci skip] * New translations doorkeeper.en.yml (Hungarian) [ci skip] * New translations en.yml (Armenian) [ci skip] * New translations simple_form.en.yml (Armenian) [ci skip] * New translations doorkeeper.en.yml (Armenian) [ci skip] * New translations en.yml (Italian) [ci skip] * New translations simple_form.en.yml (Italian) [ci skip] * New translations doorkeeper.en.yml (Italian) [ci skip] * New translations simple_form.en.yml (Japanese) [ci skip] * New translations doorkeeper.en.yml (Japanese) [ci skip] * New translations en.yml (Georgian) [ci skip] * New translations simple_form.en.yml (Hebrew) [ci skip] * New translations simple_form.en.yml (Georgian) [ci skip] * New translations doorkeeper.en.yml (Georgian) [ci skip] * New translations en.yml (Korean) [ci skip] * New translations simple_form.en.yml (Korean) [ci skip] * New translations doorkeeper.en.yml (Korean) [ci skip] * New translations en.json (Lithuanian) [ci skip] * New translations en.yml (Lithuanian) [ci skip] * New translations en.json (Macedonian) [ci skip] * New translations en.yml (Macedonian) [ci skip] * New translations doorkeeper.en.yml (Hebrew) [ci skip] * New translations en.yml (Hebrew) [ci skip] * New translations en.json (Occitan) [ci skip] * New translations en.json (Sardinian) [ci skip] * New translations en.yml (Sardinian) [ci skip] * New translations en.json (Slovenian) [ci skip] * New translations en.yml (Slovenian) [ci skip] * New translations en.yml (Esperanto) [ci skip] * New translations en.yml (Russian) [ci skip] * New translations en.json (Hebrew) [ci skip] * New translations en.json (Slovak) [ci skip] * New translations simple_form.en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Ukrainian) [ci skip] * New translations en.yml (Hungarian) [ci skip] * New translations simple_form.en.yml (Hungarian) [ci skip] * New translations en.yml (Japanese) [ci skip] * New translations simple_form.en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Persian) [ci skip] * New translations en.json (Ukrainian) [ci skip] * New translations en.yml (Ukrainian) [ci skip] * New translations simple_form.en.yml (Finnish) [ci skip] * New translations doorkeeper.en.yml (Finnish) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations doorkeeper.en.yml (Icelandic) [ci skip] * New translations en.yml (Urdu (Pakistan)) [ci skip] * New translations doorkeeper.en.yml (Swedish) [ci skip] * New translations en.json (Turkish) [ci skip] * New translations en.yml (Turkish) [ci skip] * New translations simple_form.en.yml (Turkish) [ci skip] * New translations en.yml (Indonesian) [ci skip] * New translations doorkeeper.en.yml (Ukrainian) [ci skip] * New translations en.yml (Chinese Traditional) [ci skip] * New translations simple_form.en.yml (Chinese Traditional) [ci skip] * New translations doorkeeper.en.yml (Chinese Traditional) [ci skip] * New translations en.json (Urdu (Pakistan)) [ci skip] * New translations en.yml (Swedish) [ci skip] * New translations en.yml (Galician) [ci skip] * New translations simple_form.en.yml (Galician) [ci skip] * New translations doorkeeper.en.yml (Galician) [ci skip] * New translations en.json (Icelandic) [ci skip] * New translations en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Icelandic) [ci skip] * New translations simple_form.en.yml (Swedish) [ci skip] * New translations en.json (Swedish) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations simple_form.en.yml (Portuguese) [ci skip] * New translations simple_form.en.yml (Dutch) [ci skip] * New translations doorkeeper.en.yml (Dutch) [ci skip] * New translations en.json (Norwegian) [ci skip] * New translations en.yml (Norwegian) [ci skip] * New translations simple_form.en.yml (Norwegian) [ci skip] * New translations doorkeeper.en.yml (Norwegian) [ci skip] * New translations en.json (Polish) [ci skip] * New translations en.yml (Polish) [ci skip] * New translations simple_form.en.yml (Polish) [ci skip] * New translations doorkeeper.en.yml (Polish) [ci skip] * New translations en.yml (Portuguese) [ci skip] * New translations doorkeeper.en.yml (Portuguese) [ci skip] * New translations doorkeeper.en.yml (Serbian (Cyrillic)) [ci skip] * New translations doorkeeper.en.yml (Russian) [ci skip] * New translations simple_form.en.yml (Slovak) [ci skip] * New translations doorkeeper.en.yml (Slovak) [ci skip] * New translations simple_form.en.yml (Slovenian) [ci skip] * New translations doorkeeper.en.yml (Slovenian) [ci skip] * New translations en.yml (Albanian) [ci skip] * New translations simple_form.en.yml (Albanian) [ci skip] * New translations doorkeeper.en.yml (Albanian) [ci skip] * New translations en.json (Serbian (Cyrillic)) [ci skip] * New translations en.yml (Serbian (Cyrillic)) [ci skip] * New translations simple_form.en.yml (Serbian (Cyrillic)) [ci skip] * New translations en.json (Portuguese, Brazilian) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (French) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations doorkeeper.en.yml (Vietnamese) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.yml (Chinese Simplified) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations simple_form.en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations simple_form.en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.yml (Finnish) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.json (Finnish) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.json (Dutch) [ci skip] * New translations en.yml (Dutch) [ci skip] * New translations en.json (Thai) [ci skip] * New translations devise.en.yml (Thai) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.json (Korean) [ci skip] * New translations en.json (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.yml (Thai) [ci skip] * New translations en.json (Vietnamese) [ci skip] * New translations en.json (Spanish) [ci skip] * New translations en.yml (Spanish) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * New translations simple_form.en.yml (Vietnamese) [ci skip] * New translations en.yml (Vietnamese) [ci skip] * i18n-tasks normalize * yarn manage:translations * Fix normalization --- app/javascript/mastodon/locales/br.json | 2 +- app/javascript/mastodon/locales/ca.json | 2 +- app/javascript/mastodon/locales/el.json | 2 +- app/javascript/mastodon/locales/es.json | 4 +- app/javascript/mastodon/locales/fi.json | 26 +-- app/javascript/mastodon/locales/fr.json | 2 +- app/javascript/mastodon/locales/gl.json | 2 +- app/javascript/mastodon/locales/hu.json | 2 +- app/javascript/mastodon/locales/hy.json | 14 +- app/javascript/mastodon/locales/ja.json | 2 +- app/javascript/mastodon/locales/kab.json | 6 +- app/javascript/mastodon/locales/ko.json | 8 +- app/javascript/mastodon/locales/nl.json | 12 +- app/javascript/mastodon/locales/pt-BR.json | 6 +- app/javascript/mastodon/locales/ru.json | 2 +- app/javascript/mastodon/locales/sq.json | 2 +- app/javascript/mastodon/locales/th.json | 44 ++-- app/javascript/mastodon/locales/vi.json | 102 ++++----- app/javascript/mastodon/locales/zh-CN.json | 6 +- app/javascript/mastodon/locales/zh-HK.json | 4 +- app/javascript/mastodon/locales/zh-TW.json | 6 +- config/locales/devise.hy.yml | 2 + config/locales/devise.zh-CN.yml | 4 +- config/locales/doorkeeper.th.yml | 3 + config/locales/doorkeeper.vi.yml | 42 ++-- config/locales/doorkeeper.zh-CN.yml | 2 +- config/locales/es.yml | 2 +- config/locales/fi.yml | 250 ++++++++++++++++++++- config/locales/kab.yml | 14 ++ config/locales/nl.yml | 7 + config/locales/simple_form.fi.yml | 57 +++++ config/locales/simple_form.kab.yml | 3 + config/locales/simple_form.th.yml | 2 +- config/locales/simple_form.vi.yml | 60 ++--- config/locales/th.yml | 58 +++-- config/locales/vi.yml | 132 +++++------ config/locales/zh-CN.yml | 14 +- 37 files changed, 633 insertions(+), 275 deletions(-) diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index e0be9d1a2c..3e01f2d77a 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -245,7 +245,7 @@ "keyboard_shortcuts.spoilers": "to show/hide CW field", "keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", - "keyboard_shortcuts.toggle_sensitivity": "to show/hide media", + "keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media", "keyboard_shortcuts.toot": "da gregiñ gant un toud nevez-flamm", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.up": "to move up in the list", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 04a37fc030..7c149787fa 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -16,7 +16,7 @@ "account.followers": "Seguidors", "account.followers.empty": "Encara ningú no segueix aquest usuari.", "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}", - "account.following_counter": "{count, plural, one {} other {{counter} Seguint}}", + "account.following_counter": "{count, plural, other {{counter} Seguint}}", "account.follows.empty": "Aquest usuari encara no segueix a ningú.", "account.follows_you": "Et segueix", "account.hide_reblogs": "Amaga els impulsos de @{name}", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 74b3e1c9a0..2108c4ab64 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -16,7 +16,7 @@ "account.followers": "Ακόλουθοι", "account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.", "account.followers_counter": "{count, plural, one {{counter} Ακόλουθος} other {{counter} Ακόλουθοι}}", - "account.following_counter": "{count, plural, one {} other {{counter} Ακολουθεί}}", + "account.following_counter": "{count, plural, other {{counter} Ακολουθεί}}", "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.", "account.follows_you": "Σε ακολουθεί", "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index c0615d7579..62238a7487 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -395,7 +395,7 @@ "status.redraft": "Borrar y volver a borrador", "status.remove_bookmark": "Eliminar marcador", "status.reply": "Responder", - "status.replyAll": "Responder al hilo", + "status.replyAll": "Responder al hilván", "status.report": "Reportar", "status.sensitive_warning": "Contenido sensible", "status.share": "Compartir", @@ -403,7 +403,7 @@ "status.show_less_all": "Mostrar menos para todo", "status.show_more": "Mostrar más", "status.show_more_all": "Mostrar más para todo", - "status.show_thread": "Ver hilo", + "status.show_thread": "Mostrar hilván", "status.uncached_media_warning": "No disponible", "status.unmute_conversation": "Dejar de silenciar conversación", "status.unpin": "Dejar de fijar", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 44589aa4af..51f95e08c1 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -1,12 +1,12 @@ { - "account.account_note_header": "Note", + "account.account_note_header": "Muistiinpanot", "account.add_or_remove_from_list": "Lisää tai poista listoilta", "account.badges.bot": "Botti", "account.badges.group": "Ryhmä", "account.block": "Estä @{name}", "account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}", "account.blocked": "Estetty", - "account.browse_more_on_origin_server": "Browse more on the original profile", + "account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella", "account.cancel_follow_request": "Peruuta seurauspyyntö", "account.direct": "Viesti käyttäjälle @{name}", "account.domain_blocked": "Verkko-osoite piilotettu", @@ -43,7 +43,7 @@ "account.unfollow": "Lakkaa seuraamasta", "account.unmute": "Poista käyttäjän @{name} mykistys", "account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta", - "account_note.placeholder": "Click to add a note", + "account_note.placeholder": "Lisää muistiinpano napsauttamalla", "alert.rate_limited.message": "Yritä uudestaan {retry_time, time, medium} jälkeen.", "alert.rate_limited.title": "Määrää rajoitettu", "alert.unexpected.message": "Tapahtui odottamaton virhe.", @@ -79,7 +79,7 @@ "column_header.show_settings": "Näytä asetukset", "column_header.unpin": "Poista kiinnitys", "column_subheading.settings": "Asetukset", - "community.column_settings.local_only": "Local only", + "community.column_settings.local_only": "Vain paikalliset", "community.column_settings.media_only": "Vain media", "community.column_settings.remote_only": "Remote only", "compose_form.direct_message_warning": "Tämä tuuttaus näkyy vain mainituille käyttäjille.", @@ -172,7 +172,7 @@ "follow_request.authorize": "Valtuuta", "follow_request.reject": "Hylkää", "follow_requests.unlocked_explanation": "Vaikka tilisi ei ole lukittu, {domain} ylläpitäjien mielestä haluat tarkistaa näiden tilien seurauspyynnöt manuaalisesti.", - "generic.saved": "Saved", + "generic.saved": "Tallennettu", "getting_started.developers": "Kehittäjille", "getting_started.directory": "Profiilihakemisto", "getting_started.documentation": "Documentaatio", @@ -242,7 +242,7 @@ "keyboard_shortcuts.reply": "vastaa", "keyboard_shortcuts.requests": "avaa lista seurauspyynnöistä", "keyboard_shortcuts.search": "siirry hakukenttään", - "keyboard_shortcuts.spoilers": "to show/hide CW field", + "keyboard_shortcuts.spoilers": "näyttääksesi/piilottaaksesi CW kentän", "keyboard_shortcuts.start": "avaa \"Aloitus\" -sarake", "keyboard_shortcuts.toggle_hidden": "näytä/piilota sisältövaroituksella merkitty teksti", "keyboard_shortcuts.toggle_sensitivity": "näytä/piilota media", @@ -420,15 +420,15 @@ "time_remaining.moments": "Hetki jäljellä", "time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä", "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", - "timeline_hint.resources.followers": "Followers", - "timeline_hint.resources.follows": "Follows", - "timeline_hint.resources.statuses": "Older toots", + "timeline_hint.resources.followers": "Seuraajat", + "timeline_hint.resources.follows": "Seuraa", + "timeline_hint.resources.statuses": "Vanhemmat tuuttaukset", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.trending_now": "Suosittua nyt", "ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.", "units.short.billion": "{count}B", - "units.short.million": "{count}M", - "units.short.thousand": "{count}K", + "units.short.million": "{count}m", + "units.short.thousand": "{count}k", "upload_area.title": "Lataa raahaamalla ja pudottamalla tähän", "upload_button.label": "Lisää mediaa", "upload_error.limit": "Tiedostolatauksien raja ylitetty.", @@ -436,12 +436,12 @@ "upload_form.audio_description": "Kuvaile kuulovammaisille", "upload_form.description": "Anna kuvaus näkörajoitteisia varten", "upload_form.edit": "Muokkaa", - "upload_form.thumbnail": "Change thumbnail", + "upload_form.thumbnail": "Vaihda pikkukuva", "upload_form.undo": "Peru", "upload_form.video_description": "Kuvaile kuulo- tai näkövammaisille", "upload_modal.analyzing_picture": "Analysoidaan kuvaa…", "upload_modal.apply": "Käytä", - "upload_modal.choose_image": "Choose image", + "upload_modal.choose_image": "Valitse kuva", "upload_modal.description_placeholder": "Eräänä jäätävänä ja pimeänä yönä gorilla ratkaisi sudokun kahdessa minuutissa", "upload_modal.detect_text": "Tunnista teksti kuvasta", "upload_modal.edit_media": "Muokkaa mediaa", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 6376ca3511..5329923dae 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -423,7 +423,7 @@ "timeline_hint.resources.followers": "Les abonnés", "timeline_hint.resources.follows": "Les abonnements", "timeline_hint.resources.statuses": "Les anciens pouets", - "trends.counter_by_accounts": "{count, plural, one {{counter} personne} other {{counter} personnes}} en parle·nt", + "trends.counter_by_accounts": "{count, plural, one {{counter} personne en parle} other {{counter} personnes en parlent}}", "trends.trending_now": "Tendance en ce moment", "ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.", "units.short.billion": "{count}B", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index e0180a0839..44d8b4662d 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -16,7 +16,7 @@ "account.followers": "Seguidoras", "account.followers.empty": "Aínda ninguén segue esta usuaria.", "account.followers_counter": "{count, plural, one {{counter} Seguidora} other {{counter} Seguidoras}}", - "account.following_counter": "{count, plural, one {} other {{counter} Seguindo}}", + "account.following_counter": "{count, plural, other {{counter} Seguindo}}", "account.follows.empty": "Esta usuaria aínda non segue a ninguén.", "account.follows_you": "Séguete", "account.hide_reblogs": "Agochar repeticións de @{name}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 713abba5f7..9afadd7d69 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -16,7 +16,7 @@ "account.followers": "Követő", "account.followers.empty": "Ezt a felhasználót még senki sem követi.", "account.followers_counter": "{count, plural, one {{counter} Követő} other {{counter} Követő}}", - "account.following_counter": "{count, plural, one {} other {{counter} Követett}}", + "account.following_counter": "{count, plural, other {{counter} Követett}}", "account.follows.empty": "Ez a felhasználó még senkit sem követ.", "account.follows_you": "Követ téged", "account.hide_reblogs": "@{name} megtolásainak némítása", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 29810cd9fc..8c6cb1de2a 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -1,12 +1,12 @@ { - "account.account_note_header": "Note", + "account.account_note_header": "Գրառում", "account.add_or_remove_from_list": "Աւելացնել կամ հեռացնել ցանկերից", "account.badges.bot": "Բոտ", "account.badges.group": "Խումբ", "account.block": "Արգելափակել @{name}֊ին", "account.block_domain": "Թաքցնել ամէնը հետեւեալ տիրոյթից՝ {domain}", "account.blocked": "Արգելափակուած է", - "account.browse_more_on_origin_server": "Browse more on the original profile", + "account.browse_more_on_origin_server": "Դիտել ավելին իրական պրոֆիլում", "account.cancel_follow_request": "չեղարկել հետեւելու հայցը", "account.direct": "Նամակ գրել @{name} -ին", "account.domain_blocked": "Տիրոյթը արգելափակուած է", @@ -16,7 +16,7 @@ "account.followers": "Հետեւողներ", "account.followers.empty": "Այս օգտատիրոջը դեռ ոչ մէկ չի հետեւում։", "account.followers_counter": "{count, plural, one {{counter} Հետևորդ} other {{counter} Հետևորդներ}}", - "account.following_counter": "{count, plural, one {} other {{counter} Հետևում են}}", + "account.following_counter": "{count, plural, other {{counter} Հետևում են}}", "account.follows.empty": "Այս օգտատէրը դեռ ոչ մէկի չի հետեւում։", "account.follows_you": "Հետեւում է քեզ", "account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները", @@ -43,7 +43,7 @@ "account.unfollow": "Ապահետեւել", "account.unmute": "Ապալռեցնել @{name}֊ին", "account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից", - "account_note.placeholder": "Click to add a note", + "account_note.placeholder": "Սեղմեք գրառելու համար", "alert.rate_limited.message": "Փորձէք որոշ ժամանակ անց՝ {retry_time, time, medium}։", "alert.rate_limited.title": "Գործողութիւնների յաճախութիւնը գերազանցում է թոյլատրելին", "alert.unexpected.message": "Անսպասելի սխալ տեղի ունեցաւ։", @@ -242,7 +242,7 @@ "keyboard_shortcuts.reply": "պատասխանելու համար", "keyboard_shortcuts.requests": "հետեւելու հայցերի ցանկը դիտելու համար", "keyboard_shortcuts.search": "որոնման դաշտին սեւեռվելու համար", - "keyboard_shortcuts.spoilers": "to show/hide CW field", + "keyboard_shortcuts.spoilers": "որպեսզի ցուցադրվի/թաքցվի CW դաշտը", "keyboard_shortcuts.start": "«սկսել» սիւնակը բացելու համար", "keyboard_shortcuts.toggle_hidden": "CW֊ի ետեւի տեքստը ցուցադրել֊թաքցնելու համար", "keyboard_shortcuts.toggle_sensitivity": "մեդիան ցուցադրել֊թաքցնելու համար", @@ -419,7 +419,7 @@ "time_remaining.minutes": "{number, plural, one {# րոպե} other {# րոպե}} անց", "time_remaining.moments": "Մնացել է մի քանի վարկեան", "time_remaining.seconds": "{number, plural, one {# վարկեան} other {# վարկեան}} անց", - "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", + "timeline_hint.remote_resource_not_displayed": "{resource} այլ սպասարկիչներից չեն ցուցադրվել:", "timeline_hint.resources.followers": "Հետևորդներ", "timeline_hint.resources.follows": "Հետևել", "timeline_hint.resources.statuses": "Հին թութեր", @@ -436,7 +436,7 @@ "upload_form.audio_description": "Նկարագրիր ձայնագրութեան բովանդակութիւնը լսողական խնդիրներով անձանց համար", "upload_form.description": "Նկարագիր՝ տեսողական խնդիրներ ունեցողների համար", "upload_form.edit": "Խմբագրել", - "upload_form.thumbnail": "Change thumbnail", + "upload_form.thumbnail": "Փոխել պատկերակը", "upload_form.undo": "Հետարկել", "upload_form.video_description": "Նկարագրիր տեսանիւթը լսողական կամ տեսողական խնդիրներով անձանց համար", "upload_modal.analyzing_picture": "Լուսանկարի վերլուծում…", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 7c0ac99d13..ec3d0ee59a 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -36,7 +36,7 @@ "account.requested": "フォロー承認待ちです。クリックしてキャンセル", "account.share": "@{name}さんのプロフィールを共有する", "account.show_reblogs": "@{name}さんからのブーストを表示", - "account.statuses_counter": "{counter} トゥート", + "account.statuses_counter": "{counter} 投稿", "account.unblock": "@{name}さんのブロックを解除", "account.unblock_domain": "{domain}のブロックを解除", "account.unendorse": "プロフィールから外す", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 05f72596b5..4ce0115a95 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -1,5 +1,5 @@ { - "account.account_note_header": "Tazmilt-ik·im i @{name}", + "account.account_note_header": "Tazmilt", "account.add_or_remove_from_list": "Rnu neɣ kkes seg tebdarin", "account.badges.bot": "Aṛubut", "account.badges.group": "Agraw", @@ -295,7 +295,7 @@ "notification.follow": "{name} yeṭṭafaṛ-ik", "notification.follow_request": "{name} yessuter-d ad k-yeḍfeṛ", "notification.mention": "{name} yebder-ik-id", - "notification.own_poll": "Your poll has ended", + "notification.own_poll": "Tafrant-ik·im tfuk", "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} yebḍa tajewwiqt-ik i tikelt-nniḍen", "notifications.clear": "Sfeḍ tilɣa", @@ -390,7 +390,7 @@ "status.read_more": "Issin ugar", "status.reblog": "Bḍu", "status.reblog_private": "Boost to original audience", - "status.reblogged_by": "{name} boosted", + "status.reblogged_by": "Yebḍa-tt {name}", "status.reblogs.empty": "Ula yiwen ur yebḍi tajewwiqt-agi ar tura. Ticki yebḍa-tt yiwen, ad d-iban da.", "status.redraft": "Kkes tɛiwdeḍ tira", "status.remove_bookmark": "Kkes tacreḍt", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 78209fb0e8..f13b364b0f 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -1,5 +1,5 @@ { - "account.account_note_header": "@{name} 에 대한 노트", + "account.account_note_header": "노트", "account.add_or_remove_from_list": "리스트에 추가 혹은 삭제", "account.badges.bot": "봇", "account.badges.group": "그룹", @@ -43,7 +43,7 @@ "account.unfollow": "팔로우 해제", "account.unmute": "뮤트 해제", "account.unmute_notifications": "@{name}의 알림 뮤트 해제", - "account_note.placeholder": "작성된 댓글이 없음", + "account_note.placeholder": "클릭해서 노트 추가", "alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.", "alert.rate_limited.title": "빈도 제한", "alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.", @@ -436,12 +436,12 @@ "upload_form.audio_description": "청각 장애인을 위한 설명", "upload_form.description": "시각장애인을 위한 설명", "upload_form.edit": "편집", - "upload_form.thumbnail": "Change thumbnail", + "upload_form.thumbnail": "썸네일 변경", "upload_form.undo": "삭제", "upload_form.video_description": "청각, 시각 장애인을 위한 설명", "upload_modal.analyzing_picture": "이미지 분석 중…", "upload_modal.apply": "적용", - "upload_modal.choose_image": "Choose image", + "upload_modal.choose_image": "이미지 선택", "upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파", "upload_modal.detect_text": "이미지에서 텍스트 추출", "upload_modal.edit_media": "미디어 편집", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 73e2b9a136..7b94a49818 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -15,8 +15,8 @@ "account.follow": "Volgen", "account.followers": "Volgers", "account.followers.empty": "Niemand volgt nog deze gebruiker.", - "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", - "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", + "account.followers_counter": "{count, plural, one {{counter} volger} other {{counter} volgers}}", + "account.following_counter": "{count, plural, one {{counter} volgend} other {{counter} volgend}}", "account.follows.empty": "Deze gebruiker volgt nog niemand.", "account.follows_you": "Volgt jou", "account.hide_reblogs": "Verberg boosts van @{name}", @@ -36,7 +36,7 @@ "account.requested": "Wacht op goedkeuring. Klik om het volgverzoek te annuleren", "account.share": "Profiel van @{name} delen", "account.show_reblogs": "Toon boosts van @{name}", - "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", + "account.statuses_counter": "{count, plural, one {{counter} toot} other {{counter} toots}}", "account.unblock": "@{name} deblokkeren", "account.unblock_domain": "{domain} niet langer verbergen", "account.unendorse": "Niet op profiel weergeven", @@ -423,7 +423,7 @@ "timeline_hint.resources.followers": "Volgers", "timeline_hint.resources.follows": "Volgend", "timeline_hint.resources.statuses": "Oudere toots", - "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", + "trends.counter_by_accounts": "{count, plural, one {{counter} persoon} other {{counter} personen}} zijn aan het praten", "trends.trending_now": "Trends", "ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.", "units.short.billion": "{count}B", @@ -436,12 +436,12 @@ "upload_form.audio_description": "Omschrijf dit voor mensen met een auditieve beperking", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", "upload_form.edit": "Bewerken", - "upload_form.thumbnail": "Change thumbnail", + "upload_form.thumbnail": "Miniatuurafbeelding wijzigen", "upload_form.undo": "Verwijderen", "upload_form.video_description": "Omschrijf dit voor mensen met een auditieve of visuele beperking", "upload_modal.analyzing_picture": "Afbeelding analyseren…", "upload_modal.apply": "Toepassen", - "upload_modal.choose_image": "Choose image", + "upload_modal.choose_image": "Kies een afbeelding", "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.detect_text": "Tekst in een afbeelding detecteren", "upload_modal.edit_media": "Media bewerken", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index f494eaaa9c..016d98b933 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -118,7 +118,7 @@ "confirmations.mute.explanation": "Isso ocultará toots deles e toots mencionando-os, mas ainda permitirá que eles vejam seus toots e te sigam.", "confirmations.mute.message": "Você tem certeza de que deseja silenciar {name}?", "confirmations.redraft.confirm": "Excluir e rascunhar", - "confirmations.redraft.message": "Tem certeza que quer excluir este status e re-rascunhá-lo? Favoritos e boots vão ser perdidos, e as respostas ao post original vão ficar órfãs.", + "confirmations.redraft.message": "Você tem certeza de que deseja apagar o toot e usá-lo como rascunho? Boosts e favoritos serão perdidos e as respostas ao toot original ficarão desconectadas.", "confirmations.reply.confirm": "Responder", "confirmations.reply.message": "Responder agora sobrescreverá o toot que você está compondo. Deseja continuar?", "confirmations.unfollow.confirm": "Deixar de seguir", @@ -392,7 +392,7 @@ "status.reblog_private": "Boostar para audiência original", "status.reblogged_by": "{name} boostou", "status.reblogs.empty": "Nada aqui. Quando alguém der boost, o autor aparecerá aqui.", - "status.redraft": "Excluir & re-rascunhar", + "status.redraft": "Excluir e rascunhar", "status.remove_bookmark": "Remover marcador", "status.reply": "Responder", "status.replyAll": "Responder a thread", @@ -425,7 +425,7 @@ "timeline_hint.resources.statuses": "Toots mais antigos", "trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} falando", "trends.trending_now": "Em alta no momento", - "ui.beforeunload": "Seu rascunho vai ser perdido se você sair do Mastodon.", + "ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.", "units.short.billion": "{count} bi", "units.short.million": "{count} mi", "units.short.thousand": "{count} mil", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 38d7145250..73d3df12b0 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -423,7 +423,7 @@ "timeline_hint.resources.followers": "подписчиков", "timeline_hint.resources.follows": "подписки", "timeline_hint.resources.statuses": "прошлые посты", - "trends.counter_by_accounts": "{count, plural, one {{counter} человек} many {{counter} человек} other {{counter} человека}}", + "trends.counter_by_accounts": "{count, plural, one {{counter} человек обсуждает} few {{counter} человека обсуждает} many {{counter} человек обсуждают} other {{counter} обсуждают}} ", "trends.trending_now": "Самое актуальное", "ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.", "units.short.billion": "{count} млрд", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 95cadfe25b..6b33b17b6c 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -16,7 +16,7 @@ "account.followers": "Ndjekës", "account.followers.empty": "Këtë përdorues ende s’e ndjek njeri.", "account.followers_counter": "{count, plural, one {{counter} Ndjekës} other {{counter} Ndjekës}}", - "account.following_counter": "{count, plural, one {} other {{counter} të Ndjekur}}", + "account.following_counter": "{count, plural, other {{counter} të Ndjekur}}", "account.follows.empty": "Ky përdorues ende s’ndjek njeri.", "account.follows_you": "Ju ndjek", "account.hide_reblogs": "Fshih përforcime nga @{name}", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index a5c6b07cde..5964733948 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -1,12 +1,12 @@ { - "account.account_note_header": "หมายเหตุของคุณสำหรับ @{name}", + "account.account_note_header": "หมายเหตุ", "account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ", "account.badges.bot": "บอต", "account.badges.group": "กลุ่ม", "account.block": "ปิดกั้น @{name}", "account.block_domain": "ปิดกั้นโดเมน {domain}", "account.blocked": "ปิดกั้นอยู่", - "account.browse_more_on_origin_server": "ดูเพิ่มเติมในโปรไฟล์ต้นฉบับ", + "account.browse_more_on_origin_server": "เรียกดูเพิ่มเติมในโปรไฟล์ดั้งเดิม", "account.cancel_follow_request": "ยกเลิกคำขอติดตาม", "account.direct": "ส่งข้อความโดยตรงถึง @{name}", "account.domain_blocked": "ปิดกั้นโดเมนอยู่", @@ -15,8 +15,8 @@ "account.follow": "ติดตาม", "account.followers": "ผู้ติดตาม", "account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้", - "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", - "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", + "account.followers_counter": "{count, plural, other {{counter} ผู้ติดตาม}}", + "account.following_counter": "{count, plural, other {{counter} กำลังติดตาม}}", "account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร", "account.follows_you": "ติดตามคุณ", "account.hide_reblogs": "ซ่อนการดันจาก @{name}", @@ -36,14 +36,14 @@ "account.requested": "กำลังรอการอนุมัติ คลิกเพื่อยกเลิกคำขอติดตาม", "account.share": "แบ่งปันโปรไฟล์ของ @{name}", "account.show_reblogs": "แสดงการดันจาก @{name}", - "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", + "account.statuses_counter": "{count, plural, other {{counter} โพสต์}}", "account.unblock": "เลิกปิดกั้น @{name}", "account.unblock_domain": "เลิกปิดกั้นโดเมน {domain}", "account.unendorse": "ไม่แสดงให้เห็นในโปรไฟล์", "account.unfollow": "เลิกติดตาม", "account.unmute": "เลิกซ่อน @{name}", "account.unmute_notifications": "เลิกซ่อนการแจ้งเตือนจาก @{name}", - "account_note.placeholder": "ไม่มีความคิดเห็นที่ระบุไว้", + "account_note.placeholder": "คลิกเพื่อเพิ่มหมายเหตุ", "alert.rate_limited.message": "โปรดลองใหม่หลังจาก {retry_time, time, medium}", "alert.rate_limited.title": "มีการจำกัดอัตรา", "alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด", @@ -82,14 +82,14 @@ "community.column_settings.local_only": "ในเซิร์ฟเวอร์เท่านั้น", "community.column_settings.media_only": "สื่อเท่านั้น", "community.column_settings.remote_only": "ระยะไกลเท่านั้น", - "compose_form.direct_message_warning": "โพสต์นี้จะถูกส่งไปยังผู้ใช้ที่กล่าวถึงเท่านั้น", + "compose_form.direct_message_warning": "จะส่งโพสต์นี้ไปยังผู้ใช้ที่กล่าวถึงเท่านั้น", "compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม", - "compose_form.hashtag_warning": "โพสต์นี้จะไม่ถูกแสดงในแฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาโดยแฮชแท็ก", + "compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาโดยแฮชแท็ก", "compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ", "compose_form.lock_disclaimer.lock": "ล็อคอยู่", "compose_form.placeholder": "คุณกำลังคิดอะไรอยู่?", "compose_form.poll.add_option": "เพิ่มตัวเลือก", - "compose_form.poll.duration": "ระยะเวลาโพล", + "compose_form.poll.duration": "ระยะเวลาการสำรวจความคิดเห็น", "compose_form.poll.option_placeholder": "ตัวเลือก {number}", "compose_form.poll.remove_option": "เอาตัวเลือกนี้ออก", "compose_form.poll.switch_to_multiple": "เปลี่ยนการสำรวจความคิดเห็นเป็นอนุญาตหลายตัวเลือก", @@ -202,7 +202,7 @@ "introduction.federation.federated.headline": "ที่ติดต่อกับภายนอก", "introduction.federation.federated.text": "โพสต์สาธารณะจากเซิร์ฟเวอร์อื่น ๆ ของเฟดิเวิร์สจะปรากฏในเส้นเวลาที่ติดต่อกับภายนอก", "introduction.federation.home.headline": "หน้าแรก", - "introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ได้บนเซิร์ฟเวอร์ไหนก็ได้!", + "introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ตามในเซิร์ฟเวอร์ใดก็ตาม!", "introduction.federation.local.headline": "ในเซิร์ฟเวอร์", "introduction.federation.local.text": "โพสต์สาธารณะจากผู้คนในเซิร์ฟเวอร์เดียวกันกับคุณจะปรากฏในเส้นเวลาในเซิร์ฟเวอร์", "introduction.interactions.action": "เสร็จสิ้นบทช่วยสอน!", @@ -264,7 +264,7 @@ "lists.subheading": "รายการของคุณ", "load_pending": "{count, plural, other {# รายการใหม่}}", "loading_indicator.label": "กำลังโหลด...", - "media_gallery.toggle_visible": "ซ่อน {number, plural, other {ภาพ}}", + "media_gallery.toggle_visible": "ซ่อน{number, plural, other {ภาพ}}", "missing_indicator.label": "ไม่พบ", "missing_indicator.sublabel": "ไม่พบทรัพยากรนี้", "mute_modal.hide_notifications": "ซ่อนการแจ้งเตือนจากผู้ใช้นี้?", @@ -348,8 +348,8 @@ "relative_time.today": "วันนี้", "reply_indicator.cancel": "ยกเลิก", "report.forward": "ส่งต่อไปยัง {target}", - "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ต้องการส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่เซิร์ฟเวอร์นั้นด้วยหรือไม่?", - "report.hint": "รายงานนี้จะถูกส่งไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถอธิบายเหตุผลที่คุณรายงานบัญชีนี้ด้านล่าง:", + "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?", + "report.hint": "จะส่งรายงานไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถให้คำอธิบายเหตุผลที่คุณรายงานบัญชีนี้ด้านล่าง:", "report.placeholder": "ความคิดเห็นเพิ่มเติม", "report.submit": "ส่ง", "report.target": "กำลังรายงาน {target}", @@ -407,7 +407,7 @@ "status.uncached_media_warning": "ไม่พร้อมใช้งาน", "status.unmute_conversation": "เลิกซ่อนการสนทนา", "status.unpin": "ถอนหมุดจากโปรไฟล์", - "suggestions.dismiss": "ปิดข้อเสนอแนะ", + "suggestions.dismiss": "ยกเลิกข้อเสนอแนะ", "suggestions.header": "คุณอาจสนใจ…", "tabs_bar.federated_timeline": "ที่ติดต่อกับภายนอก", "tabs_bar.home": "หน้าแรก", @@ -423,25 +423,25 @@ "timeline_hint.resources.followers": "ผู้ติดตาม", "timeline_hint.resources.follows": "การติดตาม", "timeline_hint.resources.statuses": "โพสต์ที่เก่ากว่า", - "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", + "trends.counter_by_accounts": "{count, plural, other {{counter} คน}}กำลังพูดคุย", "trends.trending_now": "กำลังนิยม", "ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon", - "units.short.billion": "{count}B", - "units.short.million": "{count}M", - "units.short.thousand": "{count}K", + "units.short.billion": "{count} พันล้าน", + "units.short.million": "{count} ล้าน", + "units.short.thousand": "{count} พัน", "upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด", - "upload_button.label": "เพิ่มไฟล์ภาพ วิดีโอ หรือเสียง", + "upload_button.label": "เพิ่มไฟล์ภาพ, วิดีโอ หรือเสียง", "upload_error.limit": "เกินขีดจำกัดการอัปโหลดไฟล์", - "upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์พร้อมโพล", + "upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์กับการลงคะแนน", "upload_form.audio_description": "อธิบายสำหรับผู้สูญเสียการได้ยิน", "upload_form.description": "อธิบายสำหรับผู้บกพร่องทางการมองเห็น", "upload_form.edit": "แก้ไข", - "upload_form.thumbnail": "Change thumbnail", + "upload_form.thumbnail": "เปลี่ยนภาพขนาดย่อ", "upload_form.undo": "ลบ", "upload_form.video_description": "อธิบายสำหรับผู้สูญเสียการได้ยินหรือบกพร่องทางการมองเห็น", "upload_modal.analyzing_picture": "กำลังวิเคราะห์รูปภาพ…", "upload_modal.apply": "นำไปใช้", - "upload_modal.choose_image": "Choose image", + "upload_modal.choose_image": "เลือกภาพ", "upload_modal.description_placeholder": "สุนัขจิ้งจอกสีน้ำตาลที่ว่องไวกระโดดข้ามสุนัขขี้เกียจ", "upload_modal.detect_text": "ตรวจหาข้อความจากรูปภาพ", "upload_modal.edit_media": "แก้ไขสื่อ", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 17c4302c26..aa0c0d5ffb 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -1,5 +1,5 @@ { - "account.account_note_header": "Ghi chú của bạn cho @{name}", + "account.account_note_header": "Viết nhận xét", "account.add_or_remove_from_list": "Thêm hoặc Xóa khỏi danh sách", "account.badges.bot": "Bot", "account.badges.group": "Nhóm", @@ -11,16 +11,16 @@ "account.direct": "Nhắn tin cho @{name}", "account.domain_blocked": "Đã chặn người dùng", "account.edit_profile": "Chỉnh sửa trang cá nhân", - "account.endorse": "Hiển thị trên trang cá nhân", + "account.endorse": "Vinh danh người này", "account.follow": "Theo dõi", "account.followers": "Người theo dõi", "account.followers.empty": "Chưa có người theo dõi nào.", "account.followers_counter": "{count, plural, one {{counter} Người theo dõi} other {{counter} Người theo dõi}}", - "account.following_counter": "{count, plural, other {{counter} Đang theo dõi}}", + "account.following_counter": "{count, plural, one {{counter} Đang theo dõi} other {{counter} Đang theo dõi}}", "account.follows.empty": "Người dùng này chưa theo dõi ai.", "account.follows_you": "Đang theo dõi bạn", "account.hide_reblogs": "Ẩn chia sẻ từ @{name}", - "account.last_status": "Hoạt động gần đây", + "account.last_status": "Hoạt động cuối", "account.link_verified_on": "Liên kết này đã được xác thực vào {date}", "account.locked_info": "Người dùng này thiết lập trạng thái ẩn. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.", "account.media": "Bộ sưu tập", @@ -39,11 +39,11 @@ "account.statuses_counter": "{count, plural, other {{counter} Tút}}", "account.unblock": "Bỏ chặn @{name}", "account.unblock_domain": "Bỏ ẩn {domain}", - "account.unendorse": "Không hiện trên trang cá nhân", + "account.unendorse": "Ngưng vinh danh người này", "account.unfollow": "Ngưng theo dõi", "account.unmute": "Bỏ ẩn @{name}", "account.unmute_notifications": "Hiển lại thông báo từ @{name}", - "account_note.placeholder": "Nhấn để thêm ghi chú", + "account_note.placeholder": "Bạn có điều gì thú vị muốn nói về người này?", "alert.rate_limited.message": "Vui lòng thử lại sau {retry_time, time, medium}.", "alert.rate_limited.title": "Vượt giới hạn", "alert.unexpected.message": "Đã xảy ra lỗi không mong muốn.", @@ -60,14 +60,14 @@ "column.blocks": "Người dùng đã chặn", "column.bookmarks": "Tút đã lưu", "column.community": "Máy chủ của bạn", - "column.direct": "Nhắn tin", + "column.direct": "Tin nhắn của bạn", "column.directory": "Tìm một ai đó", "column.domain_blocks": "Máy chủ đã chặn", - "column.favourites": "Tâm đắc", + "column.favourites": "Thích", "column.follow_requests": "Yêu cầu theo dõi", "column.home": "Bảng tin", "column.lists": "Danh sách", - "column.mutes": "Người dùng đã chặn", + "column.mutes": "Người dùng đã ẩn", "column.notifications": "Thông báo", "column.pins": "Tút ghim", "column.public": "Mạng liên kết", @@ -118,30 +118,30 @@ "confirmations.mute.explanation": "Điều này sẽ khiến tút của người đó và những tút có đề cập đến họ bị ẩn, tuy nhiên vẫn cho phép họ xem bài đăng của bạn và theo dõi bạn.", "confirmations.mute.message": "Bạn có chắc chắn muốn ẩn {name}?", "confirmations.redraft.confirm": "Xóa & viết lại", - "confirmations.redraft.message": "Bạn có chắc chắn muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt tâm đắc và chia sẻ của tút, cũng như những trả lời sẽ không còn nội dung gốc.", + "confirmations.redraft.message": "Bạn có chắc chắn muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt thích và chia sẻ của tút, cũng như những trả lời sẽ không còn nội dung gốc.", "confirmations.reply.confirm": "Trả lời", "confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?", "confirmations.unfollow.confirm": "Ngưng theo dõi", "confirmations.unfollow.message": "Bạn có chắc chắn muốn ngưng theo dõi {name}?", "conversation.delete": "Xóa tin nhắn này", "conversation.mark_as_read": "Đánh dấu là đã đọc", - "conversation.open": "Xem tin nhắn", + "conversation.open": "Xem toàn bộ tin nhắn", "conversation.with": "Với {names}", "directory.federated": "Từ mạng liên kết", - "directory.local": "Chỉ từ {domain}", - "directory.new_arrivals": "Gia nhập gần đây", + "directory.local": "Từ {domain}", + "directory.new_arrivals": "Mới tham gia", "directory.recently_active": "Hoạt động gần đây", "embed.instructions": "Sao chép đoạn mã dưới đây và chèn vào trang web của bạn.", "embed.preview": "Nó sẽ hiển thị như vầy:", "emoji_button.activity": "Hoạt động", - "emoji_button.custom": "Riêng", + "emoji_button.custom": "Độc đáo", "emoji_button.flags": "Cờ", "emoji_button.food": "Ăn uống", "emoji_button.label": "Chèn emoji", "emoji_button.nature": "Thiên nhiên", "emoji_button.not_found": "Không tìm thấy emoji! (°□°)", "emoji_button.objects": "Đồ vật", - "emoji_button.people": "Người", + "emoji_button.people": "Mặt cười", "emoji_button.recent": "Thường dùng", "emoji_button.search": "Tìm kiếm...", "emoji_button.search_results": "Kết quả tìm kiếm", @@ -154,8 +154,8 @@ "empty_column.community": "Máy chủ của bạn chưa có tút nào công khai. Bạn hãy thử viết gì đó đi!", "empty_column.direct": "Bạn chưa có tin nhắn nào. Khi bạn gửi hoặc nhận tin nhắn, nó sẽ hiển thị ở đây.", "empty_column.domain_blocks": "Chưa ẩn bất kỳ máy chủ nào.", - "empty_column.favourited_statuses": "Bạn chưa tâm đắc tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.", - "empty_column.favourites": "Chưa có ai tâm đắc tút này.", + "empty_column.favourited_statuses": "Bạn chưa thích tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.", + "empty_column.favourites": "Chưa có ai thích tút này.", "empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào.", "empty_column.hashtag": "Chưa có bài đăng nào sử dụng hashtag này.", "empty_column.home": "Chưa có bất cứ gì! Hãy bắt đầu bằng cách tìm kiếm hoặc truy cập {public} để theo dõi những người bạn quan tâm.", @@ -190,14 +190,14 @@ "hashtag.column_settings.tag_mode.any": "Một phần", "hashtag.column_settings.tag_mode.none": "Không chọn", "hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này", - "home.column_settings.basic": "Cơ bản", - "home.column_settings.show_reblogs": "Hiện tút chia sẻ", - "home.column_settings.show_replies": "Hiện trả lời", + "home.column_settings.basic": "Tùy chỉnh", + "home.column_settings.show_reblogs": "Hiện những lượt chia sẻ", + "home.column_settings.show_replies": "Hiện những tút dạng trả lời", "home.hide_announcements": "Ẩn thông báo", "home.show_announcements": "Hiện thông báo", - "intervals.full.days": "{number} days", - "intervals.full.hours": "{number} hours", - "intervals.full.minutes": "{number} minutes", + "intervals.full.days": "{number, plural, other {# ngày}}", + "intervals.full.hours": "{number, plural, other {# giờ}}", + "intervals.full.minutes": "{number, plural, other {# phút}}", "introduction.federation.action": "Tiếp theo", "introduction.federation.federated.headline": "Mạng liên kết", "introduction.federation.federated.text": "Nếu máy chủ của bạn có liên kết với các máy chủ khác, bài đăng công khai từ họ sẽ xuất hiện ở Mạng liên kết.", @@ -206,8 +206,8 @@ "introduction.federation.local.headline": "Máy chủ của bạn", "introduction.federation.local.text": "Máy chủ của bạn là nơi hiển thị bài đăng công khai từ những người thuộc cùng một máy chủ của bạn.", "introduction.interactions.action": "Tôi đã hiểu rồi!", - "introduction.interactions.favourite.headline": "Tâm đắc", - "introduction.interactions.favourite.text": "Tâm đắc một tút có nghĩa là bạn thích tút đó và lưu giữ để sau này xem lại.", + "introduction.interactions.favourite.headline": "Thích", + "introduction.interactions.favourite.text": "Thích một tút có nghĩa là bạn tâm đắc nội dung của tút và muốn lưu giữ để sau này xem lại.", "introduction.interactions.reblog.headline": "Chia sẻ", "introduction.interactions.reblog.text": "Với tính năng chia sẻ, bạn có thể chia sẻ tút của người khác cho những người theo dõi bạn.", "introduction.interactions.reply.headline": "Trả lời", @@ -224,8 +224,8 @@ "keyboard_shortcuts.direct": "mở mục tin nhắn", "keyboard_shortcuts.down": "di chuyển xuống dưới danh sách", "keyboard_shortcuts.enter": "viết tút mới", - "keyboard_shortcuts.favourite": "tâm đắc", - "keyboard_shortcuts.favourites": "mở danh sách tâm đắc", + "keyboard_shortcuts.favourite": "thích", + "keyboard_shortcuts.favourites": "mở lượt thích", "keyboard_shortcuts.federated": "mở mạng liên kết", "keyboard_shortcuts.heading": "Các phím tắt", "keyboard_shortcuts.home": "mở bảng tin", @@ -262,9 +262,9 @@ "lists.new.title_placeholder": "Tên danh sách mới", "lists.search": "Tìm kiếm những người mà bạn quan tâm", "lists.subheading": "Danh sách của bạn", - "load_pending": "{count, plural, one {# new item} other {# new items}}", + "load_pending": "{count, plural, one {# tút} other {# tút}}", "loading_indicator.label": "Đang tải...", - "media_gallery.toggle_visible": "Ẩn {number, plural, one {image} other {images}}", + "media_gallery.toggle_visible": "Ẩn {number, plural, one {ảnh} other {ảnh}}", "missing_indicator.label": "Không tìm thấy", "missing_indicator.sublabel": "Không tìm thấy cái này", "mute_modal.hide_notifications": "Ẩn thông báo từ người dùng này?", @@ -277,7 +277,7 @@ "navigation_bar.discover": "Cộng đồng", "navigation_bar.domain_blocks": "Máy chủ đã ẩn", "navigation_bar.edit_profile": "Chỉnh sửa trang cá nhân", - "navigation_bar.favourites": "Những thứ tâm đắc", + "navigation_bar.favourites": "Lượt thích", "navigation_bar.filters": "Bộ lọc từ ngữ", "navigation_bar.follow_requests": "Yêu cầu theo dõi", "navigation_bar.follows_and_followers": "Lượt theo dõi", @@ -285,44 +285,44 @@ "navigation_bar.keyboard_shortcuts": "Phím tắt", "navigation_bar.lists": "Danh sách", "navigation_bar.logout": "Đăng xuất", - "navigation_bar.mutes": "Người dùng đã chặn", + "navigation_bar.mutes": "Người dùng đã ẩn", "navigation_bar.personal": "Cá nhân", "navigation_bar.pins": "Tút ghim", - "navigation_bar.preferences": "Tùy chỉnh", + "navigation_bar.preferences": "Cài đặt", "navigation_bar.public_timeline": "Dòng thời gian liên kết", "navigation_bar.security": "Bảo mật", - "notification.favourite": "{name} vừa tâm đắc tút của bạn", + "notification.favourite": "{name} vừa thích tút của bạn", "notification.follow": "{name} vừa theo dõi bạn", "notification.follow_request": "{name} vừa yêu cầu theo dõi bạn", "notification.mention": "{name} nhắc đến bạn", "notification.own_poll": "Cuộc thăm dò của bạn đã kết thúc", "notification.poll": "Một cuộc thăm dò mà bạn tham gia đã kết thúc", "notification.reblog": "{name} chia sẻ tút của bạn", - "notifications.clear": "Xóa thông báo", + "notifications.clear": "Làm trống thông báo", "notifications.clear_confirmation": "Bạn có chắc chắn muốn xóa vĩnh viễn tất cả thông báo của mình?", "notifications.column_settings.alert": "Thông báo trên máy tính", - "notifications.column_settings.favourite": "Tâm đắc:", + "notifications.column_settings.favourite": "Lượt thích:", "notifications.column_settings.filter_bar.advanced": "Hiển thị toàn bộ", "notifications.column_settings.filter_bar.category": "Lọc nhanh", "notifications.column_settings.filter_bar.show": "Hiện", "notifications.column_settings.follow": "Người theo dõi mới:", "notifications.column_settings.follow_request": "Yêu cầu theo dõi mới:", - "notifications.column_settings.mention": "Nhắc đến:", + "notifications.column_settings.mention": "Đề cập:", "notifications.column_settings.poll": "Kết quả cuộc thăm dò:", "notifications.column_settings.push": "Thông báo đẩy", - "notifications.column_settings.reblog": "Chia sẻ:", - "notifications.column_settings.show": "Hiện trong cột", - "notifications.column_settings.sound": "Mở tiếng", + "notifications.column_settings.reblog": "Lượt chia sẻ mới:", + "notifications.column_settings.show": "Thông báo trên thanh menu", + "notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"", "notifications.filter.all": "Toàn bộ", "notifications.filter.boosts": "Chia sẻ", - "notifications.filter.favourites": "Tâm đắc", + "notifications.filter.favourites": "Thích", "notifications.filter.follows": "Đang theo dõi", - "notifications.filter.mentions": "Nhắc đến", + "notifications.filter.mentions": "Lượt nhắc đến", "notifications.filter.polls": "Kết quả cuộc thăm dò", "notifications.group": "{count} thông báo", "poll.closed": "Cuộc thăm dò đã kết thúc", "poll.refresh": "Làm mới", - "poll.total_people": "{count, plural, one {# người đã bình chọn} other {# người đã bình chọn}}", + "poll.total_people": "{count, plural, one {# người bình chọn} other {# người bình chọn}}", "poll.total_votes": "{count, plural, one {# bình chọn} other {# bình chọn}}", "poll.vote": "Cuộc thăm dò", "poll.voted": "Bạn đã bình chọn câu trả lời này", @@ -340,10 +340,10 @@ "refresh": "Làm mới", "regeneration_indicator.label": "Đang tải…", "regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!", - "relative_time.days": "{number} ngày", - "relative_time.hours": "{number} giờ", + "relative_time.days": "{number}d", + "relative_time.hours": "{number}h", "relative_time.just_now": "vừa xong", - "relative_time.minutes": "{number}p", + "relative_time.minutes": "{number}m", "relative_time.seconds": "{number}s", "relative_time.today": "hôm nay", "reply_indicator.cancel": "Hủy bỏ", @@ -364,19 +364,19 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Tút", "search_results.statuses_fts_disabled": "Máy chủ của bạn không bật chức năng tìm kiếm tút.", - "search_results.total": "{count, number} {count, plural, one {result} other {results}}", + "search_results.total": "{count, number} {count, plural, one {kết quả} other {kết quả}}", "status.admin_account": "Mở giao diện quản trị @{name}", "status.admin_status": "Mở tút này trong giao diện quản trị", "status.block": "Chặn @{name}", "status.bookmark": "Lưu", "status.cancel_reblog_private": "Hủy chia sẻ", "status.cannot_reblog": "Không thể chia sẻ tút này", - "status.copy": "Sao chép URL tút", + "status.copy": "Sao chép URL", "status.delete": "Xóa", "status.detailed_status": "Xem chi tiết thêm", "status.direct": "Nhắn riêng @{name}", "status.embed": "Nhúng", - "status.favourite": "Tâm đắc", + "status.favourite": "Thích", "status.filtered": "Bộ lọc", "status.load_more": "Xem thêm", "status.media_hidden": "Ảnh/video đã ẩn", @@ -414,9 +414,9 @@ "tabs_bar.local_timeline": "Máy chủ của bạn", "tabs_bar.notifications": "Thông báo", "tabs_bar.search": "Tìm kiếm", - "time_remaining.days": "Thời hạn còn {number, plural, other {# ngày}}", - "time_remaining.hours": "Thời hạn còn {number, plural, other {# giờ}}", - "time_remaining.minutes": "Thời hạn còn {number, plural, other {# phút}}", + "time_remaining.days": "Kết thúc sau {number, plural, other {# ngày}}", + "time_remaining.hours": "Kết thúc sau {number, plural, other {# giờ}}", + "time_remaining.minutes": "Kết thúc sau {number, plural, other {# phút}}", "time_remaining.moments": "Còn lại", "time_remaining.seconds": "Chỉ còn {number, plural, other {# giây}}", "timeline_hint.remote_resource_not_displayed": "{resource} từ máy chủ khác sẽ không hiển thị.", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index ac19eb3e69..b57bbb2adc 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -426,9 +426,9 @@ "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论", "trends.trending_now": "现在流行", "ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。", - "units.short.billion": "{count}十亿", - "units.short.million": "{count}百万", - "units.short.thousand": "{count}千", + "units.short.billion": "{count}B", + "units.short.million": "{count}M", + "units.short.thousand": "{count}K", "upload_area.title": "将文件拖放到此处开始上传", "upload_button.label": "上传媒体文件 ({formats})", "upload_error.limit": "文件大小超过限制。", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 24a63ab6b3..248a74dcd3 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -1,5 +1,5 @@ { - "account.account_note_header": "Note", + "account.account_note_header": "備註", "account.add_or_remove_from_list": "從名單中新增或移除", "account.badges.bot": "機械人", "account.badges.group": "群組", @@ -441,7 +441,7 @@ "upload_form.video_description": "簡單描述給聽障或視障人士", "upload_modal.analyzing_picture": "正在分析圖片…", "upload_modal.apply": "套用", - "upload_modal.choose_image": "Choose image", + "upload_modal.choose_image": "選擇圖片", "upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗", "upload_modal.detect_text": "從圖片偵測文字", "upload_modal.edit_media": "編輯媒體", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index e964ccd496..429f6c5d33 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -1,5 +1,5 @@ { - "account.account_note_header": "Note", + "account.account_note_header": "備註", "account.add_or_remove_from_list": "從名單中新增或移除", "account.badges.bot": "機器人", "account.badges.group": "群組", @@ -129,7 +129,7 @@ "conversation.with": "與 {names}", "directory.federated": "來自已知聯邦宇宙", "directory.local": "僅來自 {domain}", - "directory.new_arrivals": "新貨", + "directory.new_arrivals": "新人", "directory.recently_active": "最近活躍", "embed.instructions": "要嵌入此嘟文,請將以下程式碼貼進你的網站。", "embed.preview": "他會顯示成這樣:", @@ -441,7 +441,7 @@ "upload_form.video_description": "簡單描述給聽障或視障人士", "upload_modal.analyzing_picture": "正在分析圖片…", "upload_modal.apply": "套用", - "upload_modal.choose_image": "Choose image", + "upload_modal.choose_image": "選擇圖片", "upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗", "upload_modal.detect_text": "從圖片偵測文字", "upload_modal.edit_media": "編輯媒體", diff --git a/config/locales/devise.hy.yml b/config/locales/devise.hy.yml index d7ebe3338f..8854089472 100644 --- a/config/locales/devise.hy.yml +++ b/config/locales/devise.hy.yml @@ -40,7 +40,9 @@ hy: unlock_instructions: subject: Մաստոդոն․ Ապակողպելու նկարագրությունը sessions: + already_signed_out: Մուտքը հաջողվեց։ signed_in: Մուտքը հաջողվեց։ + signed_out: Մուտքը հաջողվեց։ errors: messages: not_found: չգտնվեց diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml index b7887dfa83..085f51e249 100644 --- a/config/locales/devise.zh-CN.yml +++ b/config/locales/devise.zh-CN.yml @@ -9,7 +9,7 @@ zh-CN: already_authenticated: 你已经登录。 inactive: 你还没有激活帐户。 invalid: "%{authentication_keys} 无效或密码错误。" - last_attempt: 你还有最后一次尝试机会,再次失败你的帐户将被锁定。 + last_attempt: 这是最后一次尝试机会,失败后你的帐户将被锁定。 locked: 你的帐户已被锁定。 not_found_in_database: "%{authentication_keys}或密码错误。" pending: 你的帐号仍在审核中。 @@ -31,7 +31,7 @@ zh-CN: subject: Mastodon:电子邮件地址已被更改 title: 新电子邮件地址 password_change: - explanation: 你的帐户的密码已被更改。 + explanation: 你的帐户密码已更改。 extra: 如果你并没有请求更改你的密码,则他人很有可能已经入侵你的帐户。请立即更改你的密码;如果你已经无法访问你的帐户,请联系服务器的管理员请求协助。 subject: Mastodon:密码已被更改 title: 密码已被重置 diff --git a/config/locales/doorkeeper.th.yml b/config/locales/doorkeeper.th.yml index 672271728d..ba59444be7 100644 --- a/config/locales/doorkeeper.th.yml +++ b/config/locales/doorkeeper.th.yml @@ -81,6 +81,7 @@ th: expired: โทเคนการเข้าถึงหมดอายุแล้ว revoked: เพิกถอนโทเคนการเข้าถึงแล้ว unknown: โทเคนการเข้าถึงไม่ถูกต้อง + unsupported_response_type: เซิร์ฟเวอร์การอนุญาตไม่รองรับชนิดการตอบสนองนี้ flash: applications: create: @@ -104,6 +105,8 @@ th: admin:read:accounts: อ่านข้อมูลที่ละเอียดอ่อนของบัญชีทั้งหมด admin:read:reports: อ่านข้อมูลที่ละเอียดอ่อนของรายงานและบัญชีที่ได้รับการรายงานทั้งหมด admin:write: ปรับเปลี่ยนข้อมูลทั้งหมดในเซิร์ฟเวอร์ + admin:write:accounts: ทำการกระทำการควบคุมบัญชี + admin:write:reports: ทำการกระทำการควบคุมรายงาน follow: ปรับเปลี่ยนความสัมพันธ์ของบัญชี push: รับการแจ้งเตือนแบบผลักของคุณ read: อ่านข้อมูลบัญชีทั้งหมดของคุณ diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml index 12592c0f46..82f601790c 100644 --- a/config/locales/doorkeeper.vi.yml +++ b/config/locales/doorkeeper.vi.yml @@ -4,7 +4,7 @@ vi: attributes: doorkeeper/application: name: Tên ứng dụng - redirect_uri: Chuyển hướng URI + redirect_uri: URL chuyển hướng scopes: Phạm vi website: Trang web ứng dụng errors: @@ -32,7 +32,7 @@ vi: error: Rất tiếc! Hãy kiểm tra thông tin của bạn bởi vì nó có lỗi help: native_redirect_uri: Sử dụng %{native_redirect_uri} khi kiểm tra nội bộ - redirect_uri: Sử dụng một dòng trên mỗi URI + redirect_uri: Sử dụng mỗi dòng chỉ một URL scopes: Phạm vi riêng biệt với không gian. Để trống để sử dụng phạm vi mặc định. index: application: Ứng dụng @@ -82,7 +82,7 @@ vi: credential_flow_not_configured: Resource Owner Password Credentials không thành công do Doorkeeper.configure.resource_owner_from_credentials không được định cấu hình. invalid_client: Xác thực ứng dụng khách không thành công do máy khách mơ hồ, không bao gồm xác thực ứng dụng khách hoặc phương thức xác thực không được hỗ trợ. invalid_grant: Yêu cầu không hợp lệ, hết hạn, bị thu hồi hoặc không khớp với tài khoản đã cung cấp. - invalid_redirect_uri: Uri chuyển hướng bao gồm không hợp lệ. + invalid_redirect_uri: URL chuyển hướng không hợp lệ. invalid_request: Yêu cầu thiếu tham số bắt buộc, bao gồm giá trị tham số không được hỗ trợ hoặc không đúng định dạng. invalid_resource_owner: Thông tin xác thực chủ sở hữu tài nguyên được cung cấp không hợp lệ hoặc không thể tìm thấy chủ sở hữu tài nguyên invalid_scope: Phạm vi yêu cầu không hợp lệ, không xác định hoặc không đúng định dạng. @@ -117,35 +117,35 @@ vi: scopes: admin:read: đọc tất cả dữ liệu trên máy chủ admin:read:accounts: đọc thông tin nhạy cảm của tất cả các tài khoản - admin:read:reports: đọc thông tin nhạy cảm của tất cả các báo cáo và tài khoản báo cáo + admin:read:reports: đọc thông tin của các báo cáo và các tài khoản bị báo cáo admin:write: sửa đổi tất cả dữ liệu trên máy chủ - admin:write:accounts: thực hiện các hành động kiểm duyệt trên tài khoản - admin:write:reports: thực hiện các hành động kiểm duyệt trên các báo cáo + admin:write:accounts: thực hiện hành động kiểm duyệt trên tài khoản + admin:write:reports: thực hiện hành động kiểm duyệt với các báo cáo follow: sửa đổi các mối quan hệ tài khoản push: nhận thông báo đẩy của bạn read: đọc tất cả dữ liệu tài khoản của bạn read:accounts: xem thông tin tài khoản - read:blocks: xem khối của bạn - read:bookmarks: xem các mục đã lưu - read:favourites: xem yêu thích của bạn + read:blocks: xem những người bạn chặn + read:bookmarks: xem những thứ bạn đã lưu + read:favourites: xem lượt thích read:filters: xem bộ lọc của bạn - read:follows: xem sau của bạn + read:follows: xem lượt theo dõi của bạn read:lists: xem danh sách của bạn - read:mutes: xem những người bạn của bạn + read:mutes: xem những người bạn đã ẩn read:notifications: xem thông báo của bạn read:reports: xem báo cáo của bạn read:search: thay mặt bạn tìm kiếm - read:statuses: xem tất cả các trạng thái - write: sửa đổi tất cả dữ liệu tài khoản của bạn - write:accounts: sửa đổi hồ sơ của bạn - write:blocks: chặn tài khoản và tên miền - write:bookmarks: những trạng thái đã lưu - write:favourites: trạng thái yêu thích + read:statuses: xem toàn bộ tút + write: sửa đổi mọi dữ liệu tài khoản của bạn + write:accounts: sửa đổi trang cá nhân của bạn + write:blocks: chặn người dùng và máy chủ + write:bookmarks: sửa đổi những thứ bạn lưu + write:favourites: lượt thích write:filters: tạo bộ lọc - write:follows: theo dõi mọi người + write:follows: theo dõi ai đó write:lists: tạo danh sách - write:media: tải lên tập tin phương tiện truyền thông - write:mutes: người câm và nói chuyện + write:media: tải lên tập tin + write:mutes: ẩn người dùng và cuộc đối thoại write:notifications: xóa thông báo của bạn write:reports: báo cáo người khác - write:statuses: xuất bản trạng thái + write:statuses: đăng tút diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml index d59c859a31..d30fae50ec 100644 --- a/config/locales/doorkeeper.zh-CN.yml +++ b/config/locales/doorkeeper.zh-CN.yml @@ -33,7 +33,7 @@ zh-CN: help: native_redirect_uri: 本地测试请使用 %{native_redirect_uri} redirect_uri: 每行只能有一个 URL - scopes: 用空格分割权限范围,留空则使用默认设置 + scopes: 用空格分隔权限范围,留空则使用默认设置。 index: application: 应用 callback_url: 回调 URL diff --git a/config/locales/es.yml b/config/locales/es.yml index a87088cbb4..aec8db9847 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1154,7 +1154,7 @@ es: other: "%{count} votos" vote: Vota show_more: Mostrar más - show_thread: Mostrar hilo + show_thread: Mostrar hilván sign_in_to_participate: Regístrate para participar en la conversación title: '%{name}: "%{quote}"' visibilities: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index c5703e596a..9d248a6a82 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -4,10 +4,12 @@ fi: about_hashtag_html: Nämä ovat hashtagilla #%{hashtag} merkittyjä julkisia tuuttauksia. Voit vastata niihin, jos sinulla on tili jossain päin fediversumia. about_mastodon_html: Mastodon on sosiaalinen verkosto. Se on toteutettu avoimilla verkkoprotokollilla ja vapailla, avoimen lähdekoodin ohjelmistoilla, ja se toimii hajautetusti samaan tapaan kuin sähköposti. about_this: Tietoja tästä palvelimesta + active_count_after: aktiivinen administered_by: 'Ylläpitäjä:' api: API apps: Mobiili sovellukset apps_platforms: Käytä Mastodonia iOS:llä, Androidilla tai muilla alustoilla + browse_directory: Selaa profiilihakemistoa ja suodata kiinnostuksen kohteiden mukaan contact: Ota yhteyttä contact_missing: Ei asetettu contact_unavailable: Ei saatavilla @@ -17,6 +19,7 @@ fi: hosted_on: Mastodon palvelimella %{domain} learn_more: Lisätietoja privacy_policy: Tietosuojaseloste + see_whats_happening: Näe mitä tapahtuu server_stats: 'Palvelimen tilastot:' source_code: Lähdekoodi status_count_after: @@ -28,6 +31,10 @@ fi: unavailable_content_description: domain: Palvelin reason: Syy + rejecting_media_title: Media suodatettu + silenced: 'Julkaisut näiltä palvelimilta piilotetaan julkisilta aikajanoilta ja keskusteluista, ilmoituksia ei luoda näiden käyttäjien tekemistä toiminnoista, jos et seuraa heitä:' + silenced_title: Hiljennetyt palvelimet + suspended: 'Dataa näiltä palvelimilta ei tulla käsittelemään, tallentamaan tai jakamaan. Tämä tekee kommunikoinnin näiden käyttäjien kanssa mahdottomaksi:' user_count_after: one: käyttäjä other: käyttäjät @@ -35,6 +42,7 @@ fi: what_is_mastodon: Mikä on Mastodon? accounts: choices_html: "%{name} valinnat:" + endorsements_hint: Voit suositella seuraamiasi henkilöitä web käyttöliittymän kautta, ne tulevat näkymään tähän. follow: Seuraa followers: one: Seuraaja @@ -66,8 +74,10 @@ fi: unavailable: Profiili ei saatavilla unfollow: Lopeta seuraaminen admin: + account_actions: + action: Suorita toimenpide account_moderation_notes: - create: Luo + create: Jätä muistiinpano created_msg: Moderointimerkinnän luonti onnistui! delete: Poista destroyed_msg: Moderointimerkinnän poisto onnistui! @@ -101,7 +111,9 @@ fi: enabled: Käytössä followers: Seuraajat follows: Seuraa + header: Otsakekuva inbox_url: Saapuvan postilaatikon osoite + invited_by: Kutsuja ip: IP joined: Liittynyt location: @@ -122,7 +134,9 @@ fi: moderation_notes: Moderointimerkinnät most_recent_activity: Viimeisin toiminta most_recent_ip: Viimeisin IP + no_limits_imposed: Rajoituksia ei ole asetettu not_subscribed: Ei tilaaja + pending: Odottaa tarkistusta perform_full_suspension: Siirrä kokonaan jäähylle promote: Ylennä protocol: Protokolla @@ -132,6 +146,7 @@ fi: reject: Hylkää reject_all: Hylkää kaikki remove_avatar: Poista profiilikuva + remove_header: Poista otsakekuva resend_confirmation: already_confirmed: Tämä käyttäjä on jo vahvistettu send: Lähetä varmistusviesti uudelleen @@ -146,6 +161,7 @@ fi: staff: Henkilöstö user: Käyttäjä search: Hae + search_same_ip: Muut käyttäjät samalla IP-osoitteella shared_inbox_url: Jaetun saapuvan postilaatikon osoite show: created_reports: Tämän tilin luomat raportit @@ -155,6 +171,7 @@ fi: statuses: Tilat subscribe: Tilaa suspended: Jäähyllä + time_in_queue: Odottaa jonossa %{time} title: Tilit unconfirmed_email: Sähköpostia ei vahvistettu undo_silenced: Peru hiljennys @@ -164,6 +181,22 @@ fi: warn: Varoita web: Verkko action_logs: + action_types: + confirm_user: Vahvista käyttäjä + create_account_warning: Luo varoitus + create_announcement: Luo ilmoitus + create_custom_emoji: Luo mukautettu emoji + demote_user: Alenna käyttäjä + destroy_announcement: Poista ilmoitus + destroy_custom_emoji: Poista mukautettu emoji + destroy_status: Poista tilapäivitys + disable_2fa_user: Poista kaksivaiheinen tunnistautuminen käytöstä + disable_user: Tili poistettu käytöstä + enable_custom_emoji: Käytä mukautettuja emojeita + enable_user: Tili otettu käyttöön + promote_user: Käyttäjä ylennetty + remove_avatar_user: Profiilikuvan poisto + silence_account: Hiljennä tili actions: assigned_to_self_report: "%{name} otti raportin %{target} tehtäväkseen" change_email_user: "%{name} vaihtoi käyttäjän %{target} sähköpostiosoitteen" @@ -192,8 +225,20 @@ fi: unsuspend_account: "%{name} perui käyttäjän %{target} jäähyn" update_custom_emoji: "%{name} päivitti emojin %{target}" update_status: "%{name} päivitti käyttäjän %{target} tilan" + deleted_status: "(poistettu tilapäivitys)" + empty: Lokeja ei löytynyt. + filter_by_action: Suodata tapahtuman mukaan + filter_by_user: Suodata käyttäjän mukaan title: Auditointiloki announcements: + destroyed_msg: Ilmoitus poistettu onnistuneesti! + edit: + title: Muokkaa ilmoitusta + empty: Yhtään ilmoitusta ei löytynyt. + new: + create: Luo ilmoitus + title: Uusi ilmoitus + published_msg: Ilmoitus julkaistu onnistuneesti! title: Ilmoitukset custom_emojis: assign_category: Aseta kategoria @@ -217,6 +262,7 @@ fi: listed: Listassa new: title: Lisää uusi mukautettu emoji + not_permitted: Sinulla ei ole oikeutta suorittaa tätä toimintoa overwrite: Kirjoita yli shortcode: Lyhennekoodi shortcode_hint: Vähintään kaksi merkkiä, vain kirjaimia, numeroita ja alaviivoja @@ -234,7 +280,18 @@ fi: feature_invites: Kutsulinkit feature_profile_directory: Profiilihakemisto feature_registrations: Rekisteröitymiset + feature_spam_check: Roskapostin esto + feature_timeline_preview: Aikajanan esikatselu + features: Ominaisuudet + recent_users: Viimeaikaiset käyttäjät + search: Haku koko tekstistä + software: Ohjelmisto + space: Tilankäyttö title: Hallintapaneeli + total_users: käyttäjiä yhteensä + trends: Trendit + week_users_active: aktiivinen tällä viikolla + week_users_new: käyttäjiä tällä viikolla domain_blocks: add_new: Lisää uusi created_msg: Verkkotunnuksen estoa käsitellään @@ -249,8 +306,13 @@ fi: silence: Hiljennys suspend: Jäähy title: Uusi verkkotunnuksen esto + private_comment: Yksityinen kommentti + public_comment: Julkinen kommentti reject_media: Hylkää mediatiedostot reject_media_hint: Poistaa paikallisesti tallennetut mediatiedostot eikä lataa niitä enää jatkossa. Ei merkitystä jäähyn kohdalla + severity: + silence: hiljennetty + suspend: jäähyllä show: affected_accounts: one: Vaikuttaa yhteen tiliin tietokannassa @@ -272,14 +334,33 @@ fi: title: Uusi sähköpostiestolistan merkintä title: Sähköpostiestolista instances: + moderation: + all: Kaikki + limited: Rajoitettu + title: Moderointi + private_comment: Yksityinen kommentti + public_comment: Julkinen kommentti title: Tiedossa olevat instanssit + total_blocked_by_us: Estetty meidän toimesta + total_followed_by_them: Heidän seuraama + total_followed_by_us: Meidän seuraama + total_storage: Medialiitteet invites: + deactivate_all: Poista kaikki käytöstä filter: all: Kaikki available: Saatavilla expired: Vanhentunut title: Suodata title: Kutsut + relays: + delete: Poista + disable: Poista käytöstä + disabled: Poistettu käytöstä + enable: Ota käyttöön + enabled: Käytössä + save_and_enable: Tallenna ja ota käyttöön + status: Tila report_notes: created_msg: Muistiinpano onnistuneesti lisätty raporttiin! destroyed_msg: Muistiinpano onnistuneesti poistettu raportista! @@ -318,11 +399,21 @@ fi: contact_information: email: Työsähköposti username: Yhteyshenkilön käyttäjänimi + custom_css: + title: Mukautettu CSS + domain_blocks: + all: Kaikille + disabled: Ei kenellekkään + title: Näytä domainestot + domain_blocks_rationale: + title: Näytä syy enable_bootstrap_timeline_accounts: title: Uudet käyttäjät seuraavat oletuksena tilejä hero: desc_html: Näytetään etusivulla. Suosituskoko vähintään 600x100 pikseliä. Jos kuvaa ei aseteta, käytetään instanssin pikkukuvaa title: Sankarin kuva + mascot: + title: Maskottikuva peers_api_enabled: desc_html: Verkkotunnukset, jotka tämä instanssi on kohdannut fediversumissa title: Julkaise löydettyjen instanssien luettelo @@ -336,6 +427,11 @@ fi: min_invite_role: disabled: Ei kukaan title: Salli kutsut käyttäjältä + registrations_mode: + modes: + approved: Rekisteröinti vaatii hyväksynnän + none: Kukaan ei voi rekisteröityä + open: Kaikki voivat rekisteröityä show_known_fediverse_at_about_page: desc_html: Kun tämä on valittu, esikatselussa näytetään tuuttaukset kaikkialta tunnetusta fediversumista. Muutoin näytetään vain paikalliset tuuttaukset. title: Näytä aikajanan esikatselussa koko tunnettu fediversumi @@ -348,6 +444,8 @@ fi: site_description_extended: desc_html: Hyvä paikka käytösohjeille, säännöille, ohjeistuksille ja muille instanssin muista erottaville asioille. HTML-tagit käytössä title: Omavalintaiset laajat tiedot + site_short_description: + title: Lyhyt instanssin kuvaus site_terms: desc_html: Tähän voi kirjoittaa instanssin tietosuojakäytännöstä, käyttöehdoista ja sen sellaisista asioista. HTML-tagit käytössä title: Omavalintaiset käyttöehdot @@ -359,24 +457,53 @@ fi: desc_html: Näytä julkinen aikajana aloitussivulla title: Aikajanan esikatselu title: Sivuston asetukset + trends: + title: Trendaavat aihetunnisteet + site_uploads: + delete: Poista ladattu tiedosto statuses: back_to_account: Takaisin tilin sivulle batch: delete: Poista nsfw_off: NSFW POIS nsfw_on: NSFW PÄÄLLÄ + deleted: Poistettu failed_to_execute: Suoritus epäonnistui + media: + title: Media no_media: Ei mediaa title: Tilin tilat with_media: Sisältää mediaa + tags: + context: Konteksti + last_active: Aktiivinen viimeksi + most_popular: Suosituimmat + most_recent: Viimeisimmät + name: Aihetunniste + reviewed: Tarkistetut + title: Aihetunnisteet + trending_right_now: Trendaa juuri nyt title: Ylläpito + warning_presets: + add_new: Lisää uusi + delete: Poista admin_mailer: new_report: body: "%{reporter} on raportoinut kohteen %{target}" body_remote: Joku osoitteesta %{domain} on raportoinut kohteen %{target} subject: Uusi raportti instanssista %{instance} (nro %{id}) + aliases: + add_new: Luo alias + empty: Sinulla ei ole aliaksia. + remove: Poista aliaksen linkitys + appearance: + localization: + body: Mastodonin ovat kääntäneet vapaaehtoiset. + guide_link_text: Kaikki voivat osallistua. + sensitive_content: Arkaluontoista sisältöä application_mailer: notification_preferences: Muuta sähköpostiasetuksia + salutation: "%{name}," settings: 'Muuta sähköpostiasetuksia: %{link}' view: 'Näytä:' view_profile: Näytä profiili @@ -390,9 +517,13 @@ fi: warning: Säilytä tietoa hyvin. Älä milloinkaan jaa sitä muille! your_token: Pääsytunnus auth: + apply_for_account: Pyydä kutsu change_password: Salasana delete_account: Poista tili delete_account_html: Jos haluat poistaa tilisi, paina tästä. Poisto on vahvistettava. + description: + prefix_sign_up: Liity Mastodoniin tänään! + suffix: Tilillä voit seurata ihmisiä, julkaista päivityksiä ja lähetellä viestejä muille käyttäjille miltä palvelimelta tahansa ja paljon muuta! didnt_get_confirmation: Etkö saanut vahvistusohjeita? forgot_password: Unohditko salasanasi? invalid_reset_password_token: Salasananpalautustunnus on virheellinen tai vanhentunut. Pyydä uusi. @@ -406,6 +537,10 @@ fi: reset_password: Palauta salasana security: Tunnukset set_new_password: Aseta uusi salasana + status: + account_status: Tilin tila + functional: Tilisi on täysin toimiva. + trouble_logging_in: Ongelmia kirjautumisessa? authorize_follow: already_following: Sinä seuraat jo tätä tiliä error: Valitettavasti etätilin haussa tapahtui virhe @@ -417,6 +552,8 @@ fi: return: Palaa käyttäjän profiiliin web: Siirry verkkosivulle title: Seuraa käyttäjää %{acct} + challenge: + confirm: Jatka datetime: distance_in_words: about_x_hours: "%{count} h" @@ -435,6 +572,16 @@ fi: confirm_password: Tunnistaudu syöttämällä nykyinen salasanasi proceed: Poista tili success_msg: Tilin poisto onnistui + warning: + more_details_html: Lisätietoja saat tietosuojakäytännöstämme. + username_available: Käyttäjänimesi tulee saataville uudestaan + username_unavailable: Käyttäjänimesi ei tule saataville enää uudestaan + directories: + directory: Profiilihakemisto + explanation: Löydä käyttäjiä hiedän kiinnostuksiensa kautta + explore_mastodon: Tutki %{title} + domain_validator: + invalid_domain: ei ole kelvollinen toimialueen nimi errors: '400': The request you submitted was invalid or malformed. '403': Sinulla ei ole lupaa nähdä tätä sivua. @@ -459,14 +606,44 @@ fi: request: Pyydä arkisto size: Koko blocks: Estot + lists: Listat mutes: Mykistetyt storage: Media-arkisto + featured_tags: + add_new: Lisää uusi + filters: + contexts: + account: Profiilit + home: Kotiaikajana + notifications: Ilmoitukset + public: Julkiset aikajanat + thread: Keskustelut + edit: + title: Muokkaa suodatinta + index: + delete: Poista + empty: Sinulla ei ole suodattimia. + title: Suodattimet + new: + title: Lisää uusi suodatin + footer: + developers: Kehittäjille + more: Lisää… + resources: Resurssit + trending_now: Suosittua nyt generic: + all: Kaikki changes_saved_msg: Muutosten tallennus onnistui! + copy: Kopioi + delete: Poista + order_by: Järjestä save_changes: Tallenna muutokset validation_errors: one: Kaikki ei ole aivan oikein! Tarkasta alla oleva virhe other: Kaikki ei ole aivan oikein! Tarkasta alla olevat %{count} virhettä + identity_proofs: + active: Aktiivinen + authorize: Kyllä, valtuuta imports: preface: Voit tuoda toisesta instanssista viemiäsi tietoja, kuten esimerkiksi seuraamiesi tai estämiesi henkilöiden listan. success: Tietojen lähettäminen onnistui, ja ne käsitellään kohtapuoliin @@ -506,6 +683,16 @@ fi: too_many: Tiedostoja voi liittää enintään 4 migrations: acct: uuden tilin käyttäjätunnus@verkkotunnus + errors: + move_to_self: ei voi olla nykyinen tili + not_found: ei voitu löytää + on_cooldown: Sinä olet jäähyllä + followers_count: Seuraajat muuton aikana + past_migrations: Edelliset migraatiot + proceed_with_move: Siirrä seuraajat + set_redirect: Aseta uudelleenohjaus + warning: + before: 'Ennen jatkamista, lue nämä huomautukset huolellisesti:' moderation: title: Moderointi notification_mailer: @@ -548,6 +735,7 @@ fi: format: "%n %u" units: billion: Mrd + million: M quadrillion: Brd thousand: k trillion: B @@ -556,8 +744,22 @@ fi: next: Seuraava older: Vanhemmat prev: Edellinen + polls: + errors: + duration_too_long: on liian kaukana tulevaisuudessa + duration_too_short: on liian aikainen + expired: Äänestys on jo loppunut preferences: other: Muut + public_timelines: Julkiset aikajanat + reactions: + errors: + unrecognized_emoji: ei ole tunnistettu emoji + relationships: + activity: Tilin tapahtumat + followers: Seuraajat + following: Seuratut + invited: Kutsuttu remote_follow: acct: Syötä se käyttäjätunnus@verkkotunnus, josta haluat seurata missing_resource: Vaadittavaa uudelleenohjaus-URL:ää tiliisi ei löytynyt @@ -567,27 +769,62 @@ fi: activity: Viimeisin toiminta browser: Selain browsers: + alipay: Alipay + blackberry: Blackberry + chrome: Chrome + edge: Microsoft Edge + electron: Electron + firefox: Firefox generic: Tuntematon selain + ie: Internet Explorer + micro_messenger: MicroMessenger nokia: Nokia S40 Ovi -selain + opera: Opera + otter: Otter + phantom_js: PhantomJS + qq: QQ Browser + safari: Safari + uc_browser: UCBrowser + weibo: Weibo current_session: Nykyinen istunto description: "%{browser}, %{platform}" explanation: Nämä verkkoselaimet ovat tällä hetkellä kirjautuneet Mastodon-tilillesi. + ip: IP-osoite platforms: + adobe_air: Adobe Air + android: Android + blackberry: Blackberry + chrome_os: ChromeOS + firefox_os: Firefox OS + ios: iOS + linux: Linux + mac: macOS other: tuntematon järjestelmä + windows: Windows + windows_mobile: Windows Mobile + windows_phone: Windows Phone revoke: Hylkää revoke_success: Istunnon hylkäys onnistui title: Istunnot settings: + account: Tili + account_settings: Tilin asetukset + aliases: Tilin aliakset + appearance: Ulkoasu authorized_apps: Valtuutetut sovellukset back: Takaisin Mastodoniin delete: Tilin poisto development: Kehittäminen edit_profile: Muokkaa profiilia export: Vie tietoja + featured_tags: Esitellyt aihetunnisteet import: Tuo + import_and_export: Tuo / Vie migrate: Tilin muutto muualle notifications: Ilmoitukset preferences: Ominaisuudet + profile: Profiili + relationships: Seurattavat ja seuraajat two_factor_authentication: Kaksivaiheinen todentaminen statuses: attached: @@ -599,6 +836,7 @@ fi: disallowed_hashtags: one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}' other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}' + language_detection: Tunnista kieli automaattisesti open_in_web: Avaa selaimessa over_character_limit: merkkimäärän rajoitus %{max} ylitetty pin_errors: @@ -606,7 +844,17 @@ fi: ownership: Muiden tuuttauksia ei voi kiinnittää private: Piilotettua tuuttausta ei voi kiinnittää reblog: Buustausta ei voi kiinnittää + poll: + total_people: + one: "%{count} henkilö" + other: "%{count} henkilöä" + total_votes: + one: "%{count} ääni" + other: "%{count} ääntä" + vote: Äänestä show_more: Näytä lisää + show_thread: Näytä ketju + sign_in_to_participate: Kirjaudu sisään osallistuaksesi keskusteluun title: "%{name}: ”%{quote}”" visibilities: private: Vain seuraajille diff --git a/config/locales/kab.yml b/config/locales/kab.yml index 1d34355b3d..07fd3e3dfd 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -132,6 +132,7 @@ kab: reject: Aggi reject_all: Aggi-ten akk remove_avatar: Kkes tugna n umaɣnu + remove_header: Kkes tacacit resend_confirmation: already_confirmed: Amseqdac-agi yettwasentem yakan send: Azen tikelt-nniḍen imayl n usentem @@ -161,6 +162,7 @@ kab: action_logs: action_types: disable_2fa_user: Gdel 2FA + enable_user: Rmed aseqdac remove_avatar_user: Kkes avaṭar reset_password_user: Ales awennez n wawal n uffir silence_account: Sgugem amiḍan @@ -188,6 +190,7 @@ kab: update_status: "%{name} yelqem tasuffeɣt n %{target}" deleted_status: "(tasuffeɣt tettwakkes)" empty: Ulac iɣmisen i yellan. + filter_by_user: Sizdeg s useqdac title: Aɣmis n usenqed announcements: edit: @@ -227,6 +230,7 @@ kab: upload: Sali dashboard: config: Tawila + feature_deletions: Imiḍan yettwaksen feature_invites: Iseɣwan n iɛaṛuḍen feature_profile_directory: Akaram n imaɣnuten feature_registrations: Ajerred @@ -517,6 +521,7 @@ kab: '604800': 1 umalas '86400': 1 wass expires_in_prompt: Werǧin + invited_by: 'Tettwaɛraḍeḍ s ɣur:' max_uses_prompt: Ulac talast table: expires_at: Ad ifat di @@ -544,6 +549,7 @@ kab: number: human: decimal_units: + format: "%n%u" units: million: A trillion: Am @@ -571,6 +577,8 @@ kab: remote_interaction: favourite: proceed: Kemmel asmenyef + reblog: + proceed: Sentem beṭṭu reply: proceed: Kemmel tiririt sessions: @@ -629,6 +637,9 @@ kab: relationships: Imeḍfaṛen akked wid i teṭṭafaṛeḍ statuses: attached: + audio: + one: "%{count} n imesli" + other: "%{count} n imesliyen" image: one: "%{count} tugna" other: "%{count} tugniwin" @@ -641,6 +652,9 @@ kab: total_people: one: "%{count} n wemdan" other: "%{count} n yemdanen" + total_votes: + one: "%{count} n wedɣar" + other: "%{count} n yedɣaren" vote: Dɣeṛ show_more: Ssken-d ugar show_thread: Ssken-d lxiḍ diff --git a/config/locales/nl.yml b/config/locales/nl.yml index c92b6c1db5..8c2af7e42a 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1282,6 +1282,10 @@ nl: title: Archief ophalen sign_in_token: details: 'Hier zijn details van de poging:' + explanation: 'We hebben inlogpoging op je account ontdekt vanaf een onbekend ip-adres. Als jij dit bent, vul dan de beveiligingscode hieronder in op de inlog-uitdagingspagina:' + further_actions: 'Als jij dit niet was, verander dan je wachtwoord en schakel authenticatie in twee stappen in op je account. Dat kun je hier doen:' + subject: Bevestig de inlogpoging + title: Inlogpoging warning: explanation: disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven. @@ -1319,11 +1323,14 @@ nl: title: Welkom aan boord %{name}! users: follow_limit_reached: Je kunt niet meer dan %{limit} accounts volgen + generic_access_help_html: Problemen met toegang tot je account? Neem dan contact op met %{email} invalid_email: E-mailadres is ongeldig invalid_otp_token: Ongeldige tweestaps-aanmeldcode + invalid_sign_in_token: Ongeldige beveiligingscode otp_lost_help_html: Als je toegang tot beiden kwijt bent geraakt, neem dan contact op via %{email} seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar. signed_in_as: 'Ingelogd als:' + suspicious_sign_in_confirmation: Het lijkt er op dat je nog niet eerder op dit apparaat bent ingelogd, en je bent een tijdje niet ingelogd, dus sturen we een beveiligingscode naar je e-mailadres om te bevestigen dat jij het bent. verification: explanation_html: 'Je kunt jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link moet het rel="me"-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:' verification: Verificatie diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index 5bfcae5922..1b4acc9b9b 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -2,8 +2,18 @@ fi: simple_form: hints: + account_alias: + acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus mistä haluat siirtyä + account_migration: + acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus mihin haluat siirtyä + account_warning_preset: + title: Vapaaehtoinen. Ei näytetä vastaanottajalle admin_account_action: + include_statuses: Käyttäjä näkee mitkä tuuttaukset johtivat toimenpiteeseen tai varoitukseen send_email_notification: Käyttäjä saa selityksen mitä tapahtui hänen tililleen + type_html: Valitse mitä teet käyttäjälle %{acct} + announcement: + scheduled_at: Jätä tyhjäksi julkaistaksesi ilmoituksen välittömästi defaults: avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px bot: Tämä tili suorittaa enimmäkseen automaattisia toimintoja eikä sitä ehkä valvota @@ -26,12 +36,29 @@ fi: labels: account: fields: + name: Nimike value: Sisältö + account_warning_preset: + title: Otsikko + admin_account_action: + text: Mukautettu varoitus + type: Toimenpide + types: + disable: Poista kirjautuminen käytöstä + none: Älä tee mitään + silence: Hiljennä + suspend: Poista käytöstä ja tuhoa käyttäjätunnuksen tiedot peruuttamattomasti + announcement: + all_day: Koko päivän kestävä tapahtuma + text: Ilmoitus defaults: + autofollow: Kutsu seuraamaan tiliäsi avatar: Profiilikuva bot: Tämä on botti + chosen_languages: Suodata kieliä confirm_new_password: Vahvista uusi salasana confirm_password: Vahvista salasana + context: Suodata konteksteista current_password: Nykyinen salasana data: Tiedot discoverable: Listaa tämä tili hakemistoon @@ -47,32 +74,62 @@ fi: note: Kuvaus otp_attempt: Kaksivaiheisen tunnistuksen koodi password: Salasana + phrase: Avainsana tai lause + setting_advanced_layout: Ota käyttöön edistynyt web käyttöliittymä + setting_aggregate_reblogs: Ryhmitä boostaukset aikajanalla setting_auto_play_gif: Toista GIF-animaatiot automaattisesti setting_boost_modal: Kysy vahvistusta ennen buustausta + setting_crop_images: Rajaa kuvat avaamattomissa tuuttauksissa 16:9 kuvasuhteeseen + setting_default_language: Julkaisujen kieli setting_default_privacy: Julkaisun näkyvyys setting_default_sensitive: Merkitse media aina arkaluontoiseksi setting_delete_modal: Kysy vahvistusta ennen tuuttauksen poistamista + setting_display_media: Median näyttäminen + setting_display_media_default: Oletus + setting_display_media_hide_all: Piilota kaikki + setting_display_media_show_all: Näytä kaikki + setting_hide_network: Piilota verkkosi setting_noindex: Jättäydy pois hakukoneindeksoinnista setting_reduce_motion: Vähennä animaatioiden liikettä + setting_show_application: Näytä sovellus mistä lähetät tuuttauksia setting_system_font_ui: Käytä järjestelmän oletusfonttia setting_theme: Sivuston teema + setting_trends: Näytä päivän trendit setting_unfollow_modal: Kysy vahvistusta, ennen kuin lopetat seuraamisen + setting_use_pending_items: Hidastila severity: Vakavuus + sign_in_token_attempt: Turvakoodi type: Tietojen laji username: Käyttäjänimi username_or_email: Käyttäjänimi tai sähköposti + whole_word: Koko sana + email_domain_block: + with_dns_records: Sisällytä toimialueen MX tietueet ja IP-osoite + featured_tag: + name: Aihetunniste interactions: must_be_follower: Estä ilmoitukset käyttäjiltä, jotka eivät seuraa sinua must_be_following: Estä ilmoitukset käyttäjiltä, joita et seuraa must_be_following_dm: Estä suorat viestit käyttäjiltä, joita et seuraa + invite: + comment: Kommentoi + invite_request: + text: Miksi haluat liittyä? notification_emails: digest: Lähetä koosteviestejä sähköpostitse favourite: Lähetä sähköposti, kun joku tykkää tilastasi follow: Lähetä sähköposti, kun joku seuraa sinua follow_request: Lähetä sähköposti, kun joku pyytää seurata sinua mention: Lähetä sähköposti, kun sinut mainitaan + pending_account: Uusi tili tarvitsee tarkastusta reblog: Lähetä sähköposti, kun joku buustaa julkaisusi + tag: + name: Aihetunniste + trendable: Salli tämän aihetunnisteen näkyä trendeissä + usable: Salli tuuttauksien käyttää tätä aihetunnistetta 'no': Ei + recommended: Suositeltu required: + mark: "*" text: pakollinen tieto 'yes': Kyllä diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml index d76af2c573..6976ed4339 100644 --- a/config/locales/simple_form.kab.yml +++ b/config/locales/simple_form.kab.yml @@ -72,6 +72,7 @@ kab: setting_hide_network: Ffer azetta-k·m setting_theme: Asental n wesmel setting_use_pending_items: Askar aleγwayan + sign_in_token_attempt: Tangalt n tɣellist username: Isem n useqdac username_or_email: Isem n useqdac neγ imal whole_word: Awal akk @@ -81,6 +82,8 @@ kab: comment: Awennit invite_request: text: Acimi tebγiḍ ad ternuḍ iman-ik? + notification_emails: + mention: Yuder-ik·em-id walbɛaḍ tag: name: Ahacṭag 'no': Ala diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index ee1476b9eb..3ed64c3224 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -53,7 +53,7 @@ th: username: ชื่อผู้ใช้ของคุณจะไม่ซ้ำกันใน %{domain} whole_word: เมื่อคำสำคัญหรือวลีเป็นตัวอักษรและตัวเลขเท่านั้น จะนำไปใช้กับคำสำคัญหรือวลีหากตรงกันทั้งคำเท่านั้น domain_allow: - domain: โดเมนนี้จะสามารถดึงข้อมูลจากเซิร์ฟเวอร์นี้และข้อมูลขาเข้าจากโดเมนจะได้รับการประมวลผลและจัดเก็บ + domain: โดเมนนี้จะสามารถดึงข้อมูลจากเซิร์ฟเวอร์นี้และจะประมวลผลและจัดเก็บข้อมูลขาเข้าจากโดเมน email_domain_block: with_dns_records: จะทำการพยายามแปลงที่อยู่ระเบียน DNS ของโดเมนที่กำหนดและจะขึ้นบัญชีดำผลลัพธ์เช่นกัน featured_tag: diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml index 5251ab114f..afa80821bb 100644 --- a/config/locales/simple_form.vi.yml +++ b/config/locales/simple_form.vi.yml @@ -14,7 +14,7 @@ vi: send_email_notification: Người dùng sẽ nhận được lời giải thích về những gì xảy ra với tài khoản của họ text_html: Tùy chọn. Bạn có thể sử dụng cảnh cáo cài sẵn để tiết kiệm thời gian type_html: Chọn làm gì với %{acct} - warning_preset_id: Tùy chọn. Bạn vẫn có thể thêm văn bản tùy chỉnh vào cuối cảnh cáo cài sẵn + warning_preset_id: Tùy chọn. Bạn vẫn có thể thêm ghi chú bên dưới cảnh cáo cài sẵn announcement: all_day: Chỉ có khoảng thời gian được đánh dấu mới hiển thị ends_at: Tùy chọn. Thông báo sẽ tự động hủy vào lúc này @@ -22,30 +22,30 @@ vi: starts_at: Tùy chọn. Trong trường hợp thông báo của bạn đăng vào một khoảng thời gian cụ thể text: Bạn có thể sử dụng tút dạng cú pháp. Cố gắng ngắn gọn bởi vì thông báo sẽ xuất hiện trên màn hình điện thoại của người dùng defaults: - autofollow: Những người đăng ký thông qua lời mời sẽ tự động theo dõi bạn + autofollow: Những người đăng ký sẽ tự động theo dõi bạn avatar: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px bot: Tài khoản này tự động thực hiện các hành động và không cần thiết theo dõi context: Một hoặc nhiều bối cảnh nơi bộ lọc nên áp dụng current_password: Vì mục đích bảo mật, vui lòng nhập mật khẩu của tài khoản hiện tại current_username: Để xác nhận, vui lòng nhập tên người dùng của tài khoản hiện tại - digest: Chỉ được gửi sau một thời gian dài không hoạt động và chỉ khi bạn đã nhận được bất kỳ tin nhắn cá nhân nào khi bạn vắng mặt + digest: Chỉ gửi sau một thời gian dài không hoạt động hoặc khi bạn nhận được bất kỳ tin nhắn cá nhân nào trong lúc vắng mặt discoverable: Danh sách thành viên là một cách hay để bạn tìm kiếm người bạn muốn theo dõi email: Bạn sẽ được gửi một email xác nhận - fields: Bạn có thể tạo tối đa 4 mục được hiển thị dưới dạng bảng trên hồ sơ của bạn + fields: Được tạo tối đa 4 mục hiển thị dưới dạng bảng trên trang cá nhân của bạn header: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px inbox_url: Sao chép URL của relay mà bạn muốn sử dụng irreversible: Các tút đã lọc sẽ không thể phục hồi, kể cả khi bộ lọc có bị xóa locale: Ngôn ngữ của giao diện, email và thông báo đẩy - locked: Yêu cầu bạn chấp thuận thủ công người theo dõi + locked: Tự bạn sẽ phê duyệt người theo dõi password: Sử dụng ít nhất 8 ký tự phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn phạm vi cấp cao nhất, bạn không cần chọn từng phạm vi. - setting_aggregate_reblogs: Đừng hiện những chia sẻ mới cho những tút đã chia sẻ gần đây (chỉ ảnh hưởng đến các chia sẻ mới) + setting_aggregate_reblogs: Ẩn những chia sẻ mới cho những tút đã chia sẻ gần đây (chỉ ảnh hưởng đến các chia sẻ mới) setting_default_sensitive: Ảnh/video/âm thanh nhạy cảm được ẩn theo mặc định và chỉ hiển thị nếu nhấp chuột - setting_display_media_default: Ẩn ảnh hoặc video được đánh dấu là nhạy cảm - setting_display_media_hide_all: Luôn ẩn ảnh và video - setting_display_media_show_all: Luôn hiện ảnh và video - setting_hide_network: Bạn theo dõi ai và ai theo dõi bạn sẽ không được hiển thị trên hồ sơ của bạn + setting_display_media_default: Làm mờ những thứ được đánh dấu là nhạy cảm + setting_display_media_hide_all: Luôn luôn ẩn + setting_display_media_show_all: Luôn luôn hiển thị + setting_hide_network: Ẩn những người bạn theo dõi và những người theo dõi bạn trên trang cá nhân setting_noindex: Ảnh hưởng đến trang cá nhân và tút của bạn setting_show_application: Tên ứng dụng bạn sử dụng để đăng tút sẽ được hiển thị trong chi tiết bài đăng setting_use_blurhash: Hình ảnh mờ dựa trên màu sắc của hình ảnh nhạy cảm nhưng sẽ che hết chi tiết @@ -64,13 +64,13 @@ vi: imports: data: Tệp CSV được xuất từ máy chủ Mastodon khác invite_request: - text: Điều này sẽ giúp chúng tôi xem xét lời mời của bạn + text: Điều này sẽ giúp chúng tôi phê duyệt đăng ký của bạn sessions: otp: 'Nhập mã xác thực hai yếu tố được tạo bởi ứng dụng điện thoại của bạn hoặc sử dụng một trong các mã khôi phục của bạn:' tag: name: Bạn có thể thay đổi cách viết hoa các chữ cái để giúp nó dễ đọc hơn user: - chosen_languages: Chỉ những tút viết bằng các ngôn ngữ được chọn sẽ được hiển thị trên bảng tin + chosen_languages: Chỉ những tút viết bằng các ngôn ngữ được chọn sẽ hiển thị trên bảng tin labels: account: fields: @@ -85,15 +85,15 @@ vi: title: Tựa đề admin_account_action: include_statuses: Đính kèm những tút bị báo xấu trong e-mail - send_email_notification: Thông báo cho người dùng mỗi email - text: Tùy chỉnh cảnh báo - type: Hoạt động + send_email_notification: Thông báo cho người này qua email + text: Ghi chú cảnh cáo + type: Hành động types: disable: Vô hiệu hóa đăng nhập none: Không làm gì cả - silence: Im lặng + silence: Tạm ẩn suspend: Đình chỉ và xóa dữ liệu tài khoản - warning_preset_id: Sử dụng cảnh báo cài đặt trước + warning_preset_id: Sử dụng cảnh cáo cài sẵn announcement: all_day: Sự kiện diễn ra hằng ngày ends_at: Kết thúc sự kiện @@ -103,7 +103,7 @@ vi: defaults: autofollow: Mời theo dõi tài khoản của bạn avatar: Ảnh đại diện - bot: Đây là tài khoản bot + bot: Đây là tài khoản Bot chosen_languages: Chọn ngôn ngữ confirm_new_password: Xác nhận mật khẩu mới confirm_password: Xác nhận mật khẩu @@ -114,12 +114,12 @@ vi: display_name: Tên hiển thị email: Địa chỉ email expires_in: Hết hạn sau - fields: Hồ sơ metadata + fields: Metadata header: Ảnh bìa - inbox_url: URL của hộp thư relay + inbox_url: Hộp thư relay irreversible: Kéo xuống thay vì ẩn locale: Ngôn ngữ - locked: Khóa tài khoản + locked: Đây là tài khoản khóa max_uses: Số lần sử dụng tối đa new_password: Mật khẩu mới note: Tiểu sử @@ -127,20 +127,20 @@ vi: password: Mật khẩu phrase: Từ khóa hoặc cụm từ setting_advanced_layout: Kích hoạt giao diện web nâng cao - setting_aggregate_reblogs: Hiện tút nhóm trong bảng tin + setting_aggregate_reblogs: Lượt chia sẻ trong bảng tin setting_auto_play_gif: Tự động phát GIF setting_boost_modal: Yêu cầu xác nhận trước khi chia sẻ tút setting_crop_images: Hiển thị ảnh theo tỉ lệ 16x9 setting_default_language: Ngôn ngữ đăng setting_default_privacy: Kiểu đăng - setting_default_sensitive: Luôn đánh dấu ảnh/video là nhạy cảm + setting_default_sensitive: Luôn đánh dấu ảnh/video là nội dung nhạy cảm setting_delete_modal: Yêu cầu xác nhận trước khi xóa tút - setting_display_media: Hiện ảnh/video + setting_display_media: Nội dung nhạy cảm setting_display_media_default: Mặc định setting_display_media_hide_all: Ẩn toàn bộ setting_display_media_show_all: Hiện toàn bộ - setting_expand_spoilers: Luôn hiện trước các tút đánh dấu là spoil - setting_hide_network: Ẩn máy chủ của bạn + setting_expand_spoilers: Luôn hiển thị toàn bộ tút (no spoiler) + setting_hide_network: Ẩn kết nối của bạn setting_noindex: Không xuất hiện trong công cụ tìm kiếm setting_reduce_motion: Giảm chuyển động ảnh GIF setting_show_application: Hiện ứng dụng được sử dụng để đăng tút @@ -152,7 +152,7 @@ vi: setting_use_pending_items: Không tự động cập nhật bảng tin severity: Mức độ nghiêm trọng sign_in_token_attempt: Mã an toàn - type: Nhập loại + type: Kiểu nhập username: Tên người dùng username_or_email: Tên người dùng hoặc email whole_word: Cả từ @@ -170,7 +170,7 @@ vi: text: Tại sao bạn muốn tham gia? notification_emails: digest: Gửi email định kỳ - favourite: Ai đó tâm đắc tút của bạn + favourite: Ai đó thích tút của bạn follow: Ai đó theo dõi bạn follow_request: Ai đó yêu cầu theo dõi bạn mention: Ai đó nhắc đến bạn @@ -183,9 +183,9 @@ vi: name: Hashtag trendable: Cho phép hashtag này xuất hiện trong xu hướng usable: Cho phép các tút sử dụng hashtag này - 'no': Không + 'no': Tắt recommended: Khuyến nghị required: mark: "*" text: yêu cầu - 'yes': Đúng + 'yes': Bật diff --git a/config/locales/th.yml b/config/locales/th.yml index f5bab5d304..1917a65eba 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -35,9 +35,11 @@ th: unavailable_content_description: domain: เซิร์ฟเวอร์ reason: เหตุผล - rejecting_media: 'ไฟล์สื่อจากเซิร์ฟเวอร์เหล่านี้จะไม่ได้รับการประมวลผลหรือจัดเก็บ และจะไม่แสดงภาพขนาดย่อ ต้องมีการคลิกไปยังไฟล์ต้นฉบับด้วยตนเอง:' + rejecting_media: 'จะไม่ประมวลผลหรือจัดเก็บไฟล์สื่อจากเซิร์ฟเวอร์เหล่านี้ และจะไม่แสดงภาพขนาดย่อ ต้องมีการคลิกไปยังไฟล์ต้นฉบับด้วยตนเอง:' rejecting_media_title: สื่อที่กรองอยู่ + silenced: 'จะซ่อนโพสต์จากเซิร์ฟเวอร์เหล่านี้ในเส้นเวลาสาธารณะและการสนทนา และจะไม่สร้างการแจ้งเตือนจากการโต้ตอบของผู้ใช้ เว้นแต่คุณกำลังติดตามผู้ใช้:' silenced_title: เซิร์ฟเวอร์ที่เงียบอยู่ + suspended: 'จะไม่ประมวลผล จัดเก็บ หรือแลกเปลี่ยนข้อมูลจากเซิร์ฟเวอร์เหล่านี้ ทำให้การโต้ตอบหรือการสื่อสารใด ๆ กับผู้ใช้จากเซิร์ฟเวอร์เหล่านี้เป็นไปไม่ได้:' suspended_title: เซิร์ฟเวอร์ที่ระงับอยู่ user_count_after: other: ผู้ใช้ @@ -74,13 +76,14 @@ th: admin: account_actions: action: ทำการกระทำ + title: ทำการกระทำการควบคุม %{acct} account_moderation_notes: create: เขียนหมายเหตุ created_msg: สร้างหมายเหตุการควบคุมสำเร็จ! delete: ลบ destroyed_msg: ทำลายหมายเหตุการควบคุมสำเร็จ! accounts: - add_email_domain_block: ขึ้นบัญชีดำโดเมนอีเมล + add_email_domain_block: ปิดกั้นโดเมนอีเมล approve: อนุมัติ approve_all: อนุมัติทั้งหมด are_you_sure: คุณแน่ใจหรือไม่? @@ -133,6 +136,7 @@ th: moderation_notes: หมายเหตุการควบคุม most_recent_activity: กิจกรรมล่าสุด most_recent_ip: IP ล่าสุด + no_limits_imposed: ไม่มีขีดจำกัดที่กำหนด not_subscribed: ไม่ได้บอกรับ pending: การตรวจทานที่รอดำเนินการ perform_full_suspension: ระงับ @@ -178,7 +182,7 @@ th: username: ชื่อผู้ใช้ warn: เตือน web: เว็บ - whitelisted: ขึ้นบัญชีขาวแล้ว + whitelisted: อนุญาตการติดต่อกับภายนอกแล้ว action_logs: action_types: assigned_to_self_report: มอบหมายรายงาน @@ -217,20 +221,21 @@ th: update_custom_emoji: อัปเดตอีโมจิที่กำหนดเอง update_status: อัปเดตสถานะ actions: + assigned_to_self_report: "%{name} ได้มอบหมายรายงาน %{target} ให้กับตนเอง" change_email_user: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}" confirm_user: "%{name} ได้ยืนยันที่อยู่อีเมลของผู้ใช้ %{target}" create_account_warning: "%{name} ได้ส่งคำเตือนไปยัง %{target}" create_announcement: "%{name} ได้สร้างประกาศใหม่ %{target}" create_custom_emoji: "%{name} ได้อัปโหลดอีโมจิใหม่ %{target}" - create_domain_allow: "%{name} ได้ขึ้นบัญชีขาวโดเมน %{target}" + create_domain_allow: "%{name} ได้อนุญาตการติดต่อกับภายนอกกับโดเมน %{target}" create_domain_block: "%{name} ได้ปิดกั้นโดเมน %{target}" - create_email_domain_block: "%{name} ได้ขึ้นบัญชีดำโดเมนอีเมล %{target}" + create_email_domain_block: "%{name} ได้ปิดกั้นโดเมนอีเมล %{target}" demote_user: "%{name} ได้ลดขั้นผู้ใช้ %{target}" destroy_announcement: "%{name} ได้ลบประกาศ %{target}" destroy_custom_emoji: "%{name} ได้ทำลายอีโมจิ %{target}" - destroy_domain_allow: "%{name} ได้เอาโดเมน %{target} ออกจากบัญชีขาว" + destroy_domain_allow: "%{name} ได้ไม่อนุญาตการติดต่อกับภายนอกกับโดเมน %{target}" destroy_domain_block: "%{name} ได้เลิกปิดกั้นโดเมน %{target}" - destroy_email_domain_block: "%{name} ได้ขึ้นบัญชีขาวโดเมนอีเมล %{target}" + destroy_email_domain_block: "%{name} ได้เลิกปิดกั้นโดเมนอีเมล %{target}" destroy_status: "%{name} ได้เอาสถานะโดย %{target} ออก" disable_2fa_user: "%{name} ได้ปิดใช้งานความต้องการสองปัจจัยสำหรับผู้ใช้ %{target}" disable_custom_emoji: "%{name} ได้ปิดใช้งานอีโมจิ %{target}" @@ -327,12 +332,12 @@ th: week_interactions: การโต้ตอบในสัปดาห์นี้ week_users_active: ใช้งานอยู่ในสัปดาห์นี้ week_users_new: ผู้ใช้ในสัปดาห์นี้ - whitelist_mode: โหมดบัญชีขาว + whitelist_mode: โหมดการติดต่อกับภายนอกแบบจำกัด domain_allows: - add_new: ขึ้นบัญชีขาวโดเมน - created_msg: ขึ้นบัญชีขาวโดเมนสำเร็จ - destroyed_msg: เอาโดเมนออกจากบัญชีขาวแล้ว - undo: เอาออกจากบัญชีขาว + add_new: อนุญาตการติดต่อกับภายนอกกับโดเมน + created_msg: อนุญาตการติดต่อกับภายนอกกับโดเมนสำเร็จ + destroyed_msg: ไม่อนุญาตการติดต่อกับภายนอกกับโดเมนแล้ว + undo: ไม่อนุญาตการติดต่อกับภายนอกกับโดเมน domain_blocks: add_new: เพิ่มการปิดกั้นโดเมนใหม่ created_msg: กำลังประมวลผลการปิดกั้นโดเมน @@ -353,6 +358,8 @@ th: reject_media: ปฏิเสธไฟล์สื่อ reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเซิร์ฟเวอร์ออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ reject_reports: ปฏิเสธรายงาน + rejecting_media: กำลังปฏิเสธไฟล์สื่อ + rejecting_reports: กำลังปฏิเสธรายงาน severity: silence: เงียบอยู่ suspend: ระงับอยู่ @@ -368,16 +375,16 @@ th: view: ดูการปิดกั้นโดเมน email_domain_blocks: add_new: เพิ่มใหม่ - created_msg: เพิ่มโดเมนอีเมลเป็นบัญชีดำสำเร็จ + created_msg: ปิดกั้นโดเมนอีเมลสำเร็จ delete: ลบ - destroyed_msg: ลบโดเมนอีเมลออกจากบัญชีดำสำเร็จ + destroyed_msg: เลิกปิดกั้นโดเมนอีเมลสำเร็จ domain: โดเมน - empty: ไม่มีโดเมนอีเมลที่ขึ้นบัญชีดำอยู่ + empty: ไม่มีโดเมนอีเมลที่ปิดกั้นอยู่ from_html: จาก %{domain} new: create: เพิ่มโดเมน - title: รายการบัญชีดำอีเมลใหม่ - title: บัญชีดำอีเมล + title: ปิดกั้นโดเมนอีเมลใหม่ + title: โดเมนอีเมลที่ปิดกั้นอยู่ instances: by_domain: โดเมน known_accounts: @@ -456,6 +463,8 @@ th: username: ชื่อผู้ใช้ในการติดต่อ custom_css: title: CSS ที่กำหนดเอง + default_noindex: + desc_html: มีผลต่อผู้ใช้ทั้งหมดที่ไม่ได้เปลี่ยนการตั้งค่านี้ด้วยตนเอง domain_blocks: all: ให้กับทุกคน disabled: ให้กับไม่มีใคร @@ -472,6 +481,8 @@ th: peers_api_enabled: desc_html: ชื่อโดเมนที่เซิร์ฟเวอร์นี้ได้พบในเฟดิเวิร์ส title: เผยแพร่รายการเซิร์ฟเวอร์ที่ค้นพบ + preview_sensitive_media: + title: แสดงสื่อที่ละเอียดอ่อนในตัวอย่าง OpenGraph profile_directory: desc_html: อนุญาตให้ผู้ใช้สามารถค้นพบได้ title: เปิดใช้งานไดเรกทอรีโปรไฟล์ @@ -512,6 +523,8 @@ th: desc_html: แสดงลิงก์ไปยังเส้นเวลาสาธารณะในหน้าเริ่มต้นและอนุญาตการเข้าถึง API ไปยังเส้นเวลาสาธารณะโดยไม่มีการรับรองความถูกต้อง title: อนุญาตการเข้าถึงเส้นเวลาสาธารณะที่ไม่ได้รับรองความถูกต้อง title: การตั้งค่าไซต์ + trendable_by_default: + desc_html: มีผลต่อแฮชแท็กที่ไม่ได้ไม่อนุญาตก่อนหน้านี้ trends: title: แฮชแท็กที่กำลังนิยม site_uploads: @@ -580,6 +593,8 @@ th: created: สร้างแอปพลิเคชันสำเร็จ destroyed: ลบแอปพลิเคชันสำเร็จ invalid_url: URL ที่ระบุไม่ถูกต้อง + regenerate_token: สร้างโทเคนการเข้าถึงใหม่ + token_regenerated: สร้างโทเคนการเข้าถึงใหม่สำเร็จ your_token: โทเคนการเข้าถึงของคุณ auth: apply_for_account: ขอคำเชิญ @@ -588,6 +603,7 @@ th: checkbox_agreement_without_rules_html: ฉันยอมรับ เงื่อนไขการให้บริการ delete_account: ลบบัญชี description: + prefix_invited_by_user: "@%{name} เชิญคุณเข้าร่วมเซิร์ฟเวอร์ Mastodon นี้!" prefix_sign_up: ลงทะเบียนใน Mastodon วันนี้! didnt_get_confirmation: ไม่ได้รับคำแนะนำการยืนยัน? forgot_password: ลืมรหัสผ่านของคุณ? @@ -603,6 +619,9 @@ th: reset_password: ตั้งรหัสผ่านใหม่ security: ความปลอดภัย set_new_password: ตั้งรหัสผ่านใหม่ + setup: + email_below_hint_html: หากที่อยู่อีเมลด้านล่างไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลที่นี่และรับอีเมลยืนยันใหม่ + email_settings_hint_html: ส่งอีเมลยืนยันไปยัง %{email} แล้ว หากที่อยู่อีเมลนั้นไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลในการตั้งค่าบัญชี status: account_status: สถานะบัญชี confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์ @@ -673,6 +692,7 @@ th: title: การตรวจสอบความปลอดภัยล้มเหลว '429': คำขอมากเกินไป '500': + content: เราขออภัย แต่มีบางอย่างผิดพลาดในส่วนของเรา title: หน้านี้ไม่ถูกต้อง '503': The page could not be served due to a temporary server failure. existing_username_validator: @@ -724,12 +744,15 @@ th: identity_proofs: active: ใช้งานอยู่ authorize: ใช่ อนุญาต + i_am_html: ฉันคือ %{username} ใน %{service} identity: ตัวตน inactive: ไม่ได้ใช้งาน publicize_checkbox: 'และโพสต์สิ่งนี้:' + publicize_toot: 'พิสูจน์ตัวตนแล้ว! ฉันคือ %{username} ใน %{service}: %{url}' remove: เอาการพิสูจน์ออกจากบัญชี removed: เอาการพิสูจน์ออกจากบัญชีสำเร็จ status: สถานะการตรวจสอบ + view_proof: ดูการพิสูจน์ imports: modes: merge: ผสาน @@ -995,6 +1018,7 @@ th: enabled_success: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำเร็จ generate_recovery_codes: สร้างรหัสกู้คืน recovery_codes: รหัสกู้คืนข้อมูลสำรอง + recovery_codes_regenerated: สร้างรหัสกู้คืนใหม่สำเร็จ setup: ตั้งค่า wrong_code: รหัสที่ป้อนไม่ถูกต้อง! เวลาเซิร์ฟเวอร์และเวลาอุปกรณ์ถูกต้องหรือไม่? user_mailer: diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 1b5cfe1d1e..d2de33d8b0 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -3,14 +3,14 @@ vi: about: about_hashtag_html: Đây là các tút công khai được gắn thẻ #%{hashtag}. Chỉ cần bạn có tài khoản ở bất cứ đâu trong mạng liên kết là bạn có thể tương tác với chúng. about_mastodon_html: 'Mạng xã hội của tương lai: Không quảng cáo, không theo dõi người dùng và phi tập quyền! Làm chủ quyền riêng tư của bạn với Mastodon!' - about_this: Trong khoảng + about_this: Giới thiệu active_count_after: hoạt động active_footnote: Người dùng hoạt động hàng tháng administered_by: 'Quản trị viên:' api: API apps: Ứng dụng di động apps_platforms: Lướt Mastodon trên iOS, Android và các nền tảng khác - browse_directory: Những ai đã tham gia máy chủ này? + browse_directory: Tìm những người có sở thích giống bạn browse_local_posts: Xem thử những tút công khai gần đây browse_public_posts: Xem thử những tút công khai trên mạng Mastodon contact: Liên lạc @@ -32,15 +32,15 @@ vi: status_count_before: Nơi lưu giữ tagline: Mạng xã hội liên hợp lớn nhất thế giới terms: Điều khoản dịch vụ - unavailable_content: Máy chủ bị giới hạn + unavailable_content: Giới hạn chung unavailable_content_description: domain: Máy chủ reason: Lý do - rejecting_media: 'Ảnh và video từ những máy chủ sau sẽ không được xử lý, lưu trữ và hiển thị hình thu nhỏ, bắt buộc nhấp thủ công vào tệp gốc để xem:' + rejecting_media: 'Ảnh và video từ những máy chủ sau sẽ không được xử lý, lưu trữ và hiển thị hình thu nhỏ. Bắt buộc nhấp thủ công vào tệp gốc để xem:' rejecting_media_title: Ảnh và các thứ đã lọc silenced: 'Tút từ những máy chủ sau sẽ bị ẩn trên bảng tin, trong tin nhắn và không có thông báo nào được tạo từ các tương tác của người dùng của họ, trừ khi bạn có theo dõi người dùng của họ:' - silenced_title: Những máy chủ đã bị tạm ẩn - suspended: 'Những máy chủ sau sẽ không được xử lý, lưu trữ hoặc trao đổi nội dung. Mọi tương tác hoặc giao tiếp với người dùng từ các máy chủ này cũng bị cấm:' + silenced_title: Những máy chủ bị ẩn + suspended: 'Những máy chủ sau sẽ không được xử lý, lưu trữ hoặc trao đổi nội dung. Mọi tương tác hoặc giao tiếp với người dùng từ các máy chủ này đều bị cấm:' suspended_title: Những máy chủ bị vô hiệu hóa unavailable_content_html: Mastodon cho phép bạn xem nội dung và tương tác với người dùng từ bất kỳ máy chủ nào khác trong mạng liên kết. Còn máy chủ này có những ngoại lệ riêng. user_count_after: @@ -56,11 +56,11 @@ vi: other: Người theo dõi following: Đang theo dõi joined: Đã tham gia %{date} - last_active: hoạt động gần đây + last_active: hoạt động cuối link_verified_on: Liên kết này đã được xác thực quyền sở hữu vào %{date} media: Bộ sưu tập moved_html: "%{name} đã dời sang %{new_profile_link}:" - network_hidden: Thông tin này không còn tồn tại + network_hidden: Người dùng đã ẩn thông tin này never_active: Chưa có nothing_here: Chưa đăng tút nào cả! people_followed_by: Những người %{name} theo dõi @@ -74,7 +74,7 @@ vi: reserved_username: Tên người dùng đã có rồi roles: admin: Quản trị viên - bot: Người máy + bot: Tài khoản Bot group: Nhóm moderator: Kiểm duyệt viên unavailable: Tài khoản không còn nữa @@ -84,8 +84,8 @@ vi: action: Thực hiện các hành động title: Thực hiện kiểm duyệt với %{acct} account_moderation_notes: - create: Để lại lời nhắn - created_msg: Để lại lời nhắn kiểm duyệt thành công! + create: Gửi tin nhắn kiểm duyệt + created_msg: Gửi tin nhắn kiểm duyệt thành công! delete: Xóa bỏ destroyed_msg: Đã ghi chú kiểm duyệt xong! accounts: @@ -120,7 +120,7 @@ vi: followers: Người theo dõi follows: Đang theo dõi header: Ảnh bìa - inbox_url: URL hộp thư đến + inbox_url: Hộp thư của người này invited_by: Được mời bởi ip: IP joined: Đã tham gia @@ -140,7 +140,7 @@ vi: suspended: Vô hiệu hóa title: Kiểm duyệt moderation_notes: Nhật ký kiểm duyệt - most_recent_activity: Hoạt động gần đây nhất + most_recent_activity: Hoạt động lần cuối most_recent_ip: IP gần đây nhất no_account_selected: Không có tài khoản nào thay đổi vì không có tài khoản nào được chọn no_limits_imposed: Không áp đặt giới hạn @@ -172,7 +172,7 @@ vi: search: Tìm kiếm search_same_email_domain: Tìm người dùng có cùng địa chỉ email search_same_ip: Tìm người dùng có cùng IP - shared_inbox_url: Chia sẻ URL hộp thư đến + shared_inbox_url: Hộp thư của máy chủ người này show: created_reports: Xuất báo cáo targeted_reports: Báo cáo bởi người khác @@ -268,7 +268,7 @@ vi: empty: Không tìm thấy bản ghi. filter_by_action: Lọc theo hành động filter_by_user: Lọc theo người dùng - title: Nhật ký đánh giá + title: Nhật ký kiểm duyệt announcements: destroyed_msg: Xóa thông báo thành công! edit: @@ -277,7 +277,7 @@ vi: live: Trực tiếp new: create: Tạo thông báo - title: Thông báo mới + title: Tạo thông báo mới published_msg: Truyền đi thông báo thành công! scheduled_for: Đã lên lịch %{time} scheduled_msg: Thông báo đã lên lịch! @@ -310,7 +310,7 @@ vi: overwrite: Ghi đè shortcode: Viết tắt shortcode_hint: Ít nhất 2 ký tự, chỉ các ký tự chữ và số và dấu gạch dưới - title: Tùy chỉnh Emoji + title: Emoji uncategorized: Chưa phân loại unlist: Bỏ danh sách unlisted: Chưa niêm yết @@ -318,11 +318,11 @@ vi: updated_msg: Cập nhật thành công Emoji! upload: Tải lên dashboard: - authorized_fetch_mode: Chế độ bảo mật + authorized_fetch_mode: Xác thực cao cấp backlog: công việc tồn đọng config: Thiết lập feature_deletions: Xóa tài khoản - feature_invites: Những lời mời + feature_invites: Mời đăng ký feature_profile_directory: Danh sách thành viên feature_registrations: Đăng ký feature_relay: Mạng liên hợp @@ -330,21 +330,21 @@ vi: feature_timeline_preview: Xem trước bảng tin features: Tính năng hidden_service: Mạng liên kết với các dịch vụ ẩn - open_reports: mở báo cáo + open_reports: báo cáo pending_tags: hashtag đang chờ xem xét pending_users: người dùng đang chờ xem xét - recent_users: Người dùng gần đây + recent_users: Người dùng mới nhất search: Tìm kiếm toàn văn - single_user_mode: Chế độ người dùng bình thường + single_user_mode: Máy chủ chỉ có 1 người software: Phần mềm space: Dung lượng lưu trữ - title: Bảng cá nhân + title: Thiết lập chung total_users: tổng số người dùng trends: Xu hướng week_interactions: tương tác trong tuần này week_users_active: hoạt động trong tuần này - week_users_new: người dùng trong tuần này - whitelist_mode: Chế độ danh sách trắng + week_users_new: đăng ký mới trong tuần + whitelist_mode: Giới hạn mạng liên kết domain_allows: add_new: Máy chủ thuộc danh sách trắng created_msg: Máy chủ đã được đưa vào danh sách trắng thành công @@ -447,30 +447,30 @@ vi: status: Trạng thái hiện tại title: Mạng liên hợp report_notes: - created_msg: Báo cáo ghi chú được tạo thành công! - destroyed_msg: Báo cáo đã xóa thành công! + created_msg: Báo cáo tổng hợp kiểm duyệt đã tạo xong! + destroyed_msg: Đã xóa báo cáo kiểm duyệt! reports: account: notes: - other: "%{count} ghi chú" + other: "%{count} kiểm duyệt" reports: other: "%{count} báo cáo" action_taken_by: Hành động được thực hiện bởi are_you_sure: Bạn có chắc không? assign_to_self: Giao cho tôi assigned: Người điều hành được phân công - by_target_domain: Máy chủ của tài khoản bị báo xấu + by_target_domain: Tên tài khoản bị báo cáo comment: none: Không ai created_at: Báo cáo mark_as_resolved: Đánh dấu là đã giải quyết mark_as_unresolved: Đánh dấu là chưa giải quyết notes: - create: Thêm ghi chú - create_and_resolve: Giải quyết với ghi chú - create_and_unresolve: Mở lại với ghi chú + create: Bổ sung ghi chú + create_and_resolve: Xử lý kiểm duyệt + create_and_unresolve: Mở lại kèm ghi chú mới delete: Xóa bỏ - placeholder: Mô tả những hành động đã được thực hiện, hoặc bất kỳ cập nhật liên quan khác... + placeholder: Mô tả những hành động sai phạm của người này, mức độ xử lý và những cập nhật liên quan khác... reopen: Mở lại báo cáo report: 'Báo cáo #%{id}' reported_account: Tài khoản bị báo xấu @@ -478,7 +478,7 @@ vi: resolved: Đã giải quyết resolved_msg: Giải quyết báo xấu thành công! status: Trạng thái - title: Báo xấu + title: Báo cáo unassign: Bỏ qua unresolved: Chưa giải quyết updated_at: Đã cập nhật @@ -593,9 +593,9 @@ vi: tags: accounts_today: Sử dụng hôm nay accounts_week: Sử dụng trong tuần này - breakdown: Phân tích dung lượng sử dụng hôm nay + breakdown: Phân tích số lượt sử dụng hôm nay context: Bối cảnh - directory: Trong phân loại + directory: Đã phân loại in_directory: "%{count} trong phân loại" last_active: Sử dụng gần đây most_popular: Phổ biến nhất @@ -634,14 +634,14 @@ vi: remove: Bỏ liên kết bí danh appearance: advanced_web_interface: Giao diện web nâng cao - advanced_web_interface_hint: 'Nếu bạn muốn sử dụng toàn bộ chiều rộng màn hình của mình, giao diện web nâng cao cho phép bạn định cấu hình nhiều cột khác nhau để xem nhiều thông tin cùng lúc như bạn muốn: Trang chủ, thông báo, dòng thời gian được liên kết, bất kỳ số lượng danh sách và hashtag nào.' + advanced_web_interface_hint: 'Nếu bạn muốn tận dụng toàn bộ chiều rộng màn hình của mình, giao diện web nâng cao cho phép bạn cấu hình thành nhiều cột khác nhau. Bao gồm: Bảng tin, Thông báo, Mạng liên kết, cũng như mọi danh sách và hashtag.' animations_and_accessibility: Nâng cao confirmation_dialogs: Hộp thoại xác nhận discovery: Khám phá localization: body: Mastodon được dịch bởi Hồ Nhất Duy. - guide_link: https://crowdin.com/project/mastodon - guide_link_text: Tuy nhiên, bạn cũng vẫn có thể đóng góp. + guide_link: https://mas.to/@duy + guide_link_text: Đây là trang cá nhân của anh ấy. sensitive_content: Nội dung nhạy cảm toot_layout: Bố cục Tút application_mailer: @@ -662,8 +662,8 @@ vi: auth: apply_for_account: Đăng ký change_password: Mật khẩu - checkbox_agreement_html: Tôi đồng ý với các quy tắcđiều khoản dịch vụ - checkbox_agreement_without_rules_html: Tôi đồng ý với điều khoản dịch vụ + checkbox_agreement_html: Tôi đồng ý quy tắcchính sách bảo mật + checkbox_agreement_without_rules_html: Tôi đồng ý chính sách bảo mật delete_account: Xóa tài khoản delete_account_html: Nếu bạn muốn xóa tài khoản của mình, hãy yêu cầu tại đây. Bạn sẽ được yêu cầu xác nhận. description: @@ -743,7 +743,7 @@ vi: proceed: Xóa tài khoản success_msg: Tài khoản của bạn đã được xóa thành công warning: - before: 'Trước khi tiếp tục, xin vui lòng đọc các lưu ý:' + before: 'Trước khi tiếp tục, xin vui lòng xem xét cẩn thận:' caches: Nội dung đã được lưu trữ bởi các máy chủ khác có thể tồn tại data_removal: Bài viết của bạn và dữ liệu khác sẽ bị xóa vĩnh viễn email_change_html: Bạn có thể thay đổi địa chỉ email mà không cần phải xóa tài khoản @@ -764,7 +764,7 @@ vi: '403': Bạn không có quyền xem trang này. '404': Trang này chưa được tạo. '406': Trang này không thể hiển thị do lỗi định dạng. - '410': Trang này đã bị xóa trước đó. + '410': Trang này đã bị xóa. '422': content: Xác minh bảo mật thất bại. Bạn đang chặn cookie? title: Xác minh bảo mật thất bại @@ -795,7 +795,7 @@ vi: add_new: Thêm mới errors: limit: Bạn đã đạt tới số lượng hashtag tối đa - hint_html: "Hashtags thường dùng là gì? Chúng được hiển thị nổi bật trên trang cá nhân của bạn và cho phép mọi người tìm kiếm các bài đăng công khai của bạn có chứa các hashtag đó. Chúng là một công cụ tuyệt vời để theo dõi các tác phẩm sáng tạo hoặc các dự án dài hạn." + hint_html: "Hashtags thường dùng là gì? Chúng là những hashtag sẽ được hiển thị nổi bật trên trang cá nhân của bạn, cho phép mọi người tìm kiếm các bài đăng công khai của bạn có chứa các hashtag đó. Tính năng này có thể sử dụng để đánh dấu chuỗi tác phẩm sáng tạo hoặc dự án dài hạn." filters: contexts: account: Trang cá nhân @@ -817,7 +817,7 @@ vi: footer: developers: Nhà phát triển more: Nhiều hơn - resources: Đọc + resources: Quy tắc trending_now: Xu hướng generic: all: Tất cả @@ -876,11 +876,11 @@ vi: '43200': 12 giờ '604800': 1 tuần '86400': 1 ngày - expires_in_prompt: Không bao giờ + expires_in_prompt: Không giới hạn generate: Tạo lời mời invited_by: 'Bạn đã được mời bởi:' max_uses: - other: "%{count} sử dụng" + other: "%{count} lần sử dụng" max_uses_prompt: Không giới hạn prompt: Tạo và chia sẻ liên kết với những người khác để cấp quyền truy cập vào máy chủ này table: @@ -931,7 +931,7 @@ vi: move_handler: carry_blocks_over_text: Tài khoản này chuyển từ %{acct}, máy chủ mà bạn đã chặn trước đó. carry_mutes_over_text: Tài khoản này chuyển từ %{acct}, máy chủ mà bạn đã ẩn trước đó. - copy_account_note_text: 'Tài khoản này chuyển từ %{acct}, đây là ghi chú về họ trước đó:' + copy_account_note_text: 'Tài khoản này chuyển từ %{acct}, đây là lịch sử kiểm duyệt của họ:' notification_mailer: digest: action: Xem toàn bộ thông báo @@ -943,9 +943,9 @@ vi: other: "%{count} thông báo mới kể từ lần truy cập trước \U0001F418" title: Khi bạn offline... favourite: - body: Tút của bạn vừa được %{name} tâm đắc - subject: "%{name} vừa tâm đắc tút của bạn" - title: Lượt tâm đắc mới + body: Tút của bạn vừa được thích bởi %{name} + subject: "%{name} vừa thích tút của bạn" + title: Lượt thích mới follow: body: Bạn vừa mới được %{name} theo dõi subject: "%{name} vừa mới theo dõi bạn" @@ -967,7 +967,7 @@ vi: notifications: email_events: Email email_events_hint: 'Chọn những hoạt động sẽ gửi thông báo qua email:' - other_settings: Cài đặt thông báo khác + other_settings: Những thông báo khác number: human: decimal_units: @@ -1013,23 +1013,23 @@ vi: most_recent: Gần đây nhất moved: Dời sang mutual: Bằng Hữu - primary: Sơ cấp + primary: Tài khoản chính relationship: Mối quan hệ remove_selected_domains: Xóa hết người theo dõi từ các máy chủ đã chọn remove_selected_followers: Xóa những người theo dõi đã chọn remove_selected_follows: Hủy theo dõi người dùng đã chọn - status: Tình trạng tài khoản + status: Trạng thái tài khoản remote_follow: acct: Nhập địa chỉ Mastodon của bạn (tên@máy chủ) - missing_resource: Không thể tìm thấy URL chuyển hướng cần thiết cho tài khoản của bạn - no_account_html: Nếu chưa có tài khoản, bạn có thể đăng ký tại đây - proceed: Tiến hành theo - prompt: 'Bạn sắp theo dõi:' + missing_resource: Không tìm thấy URL chuyển hướng cho tài khoản của bạn + no_account_html: Nếu chưa có tài khoản, bạn hãy đăng ký tại đây + proceed: Theo dõi + prompt: 'Bạn vừa yêu cầu theo dõi:' reason_html: "Tại sao bước này là cần thiết? %{instance} có thể không phải là máy chủ nơi bạn đã đăng ký, vì vậy chúng tôi cần chuyển hướng bạn đến máy chủ của bạn trước." remote_interaction: favourite: - proceed: Yêu thích tút này - prompt: Bạn có muốn tâm đắc tút này? + proceed: Thích tút + prompt: 'Bạn muốn thích tút này:' reblog: proceed: Tiếp tục chia sẻ prompt: Bạn có muốn chia sẻ tút này? @@ -1089,7 +1089,7 @@ vi: authorized_apps: App đã sử dụng back: Quay lại Mastodon delete: Xóa tài khoản - development: Phát triển + development: Lập trình edit_profile: Chỉnh sửa trang cá nhân export: Xuất dữ liệu featured_tags: Hashtags thường dùng @@ -1134,8 +1134,8 @@ vi: other: "%{count} bình chọn" vote: Cuộc thăm dò show_more: Xem thêm - show_thread: Nguyên văn - sign_in_to_participate: Đăng nhập để tham gia vào cuộc trò chuyện + show_thread: Xem chủ đề thảo luận + sign_in_to_participate: Đăng nhập để trả lời chủ đề này title: '%{name}: "%{quote}"' visibilities: private: Đóng @@ -1151,7 +1151,7 @@ vi: tags: does_not_match_previous_name: không khớp với tên trước terms: - body_html: "

Chính sách bảo mật

Chúng ta đã thu thập được thông tin gì rồi?

  • Thông tin tài khoản cơ bản : Nếu bạn đăng ký trên máy chủ này, bạn có thể được yêu cầu nhập tên người dùng, địa chỉ email và mật khẩu. Bạn cũng có thể nhập thông tin hồ sơ bổ sung như tên hiển thị và tiểu sử và tải lên hình ảnh hồ sơ và hình ảnh tiêu đề. Tên người dùng, tên hiển thị, tiểu sử, ảnh hồ sơ và hình ảnh tiêu đề luôn được liệt kê công khai.
  • Bài đăng, theo dõi và thông tin công khai khác : Danh sách những người bạn theo dõi được liệt kê công khai, điều này cũng đúng với những người theo dõi bạn. Khi bạn gửi tin nhắn, ngày và giờ được lưu trữ cũng như ứng dụng bạn đã gửi tin nhắn từ đó. Tin nhắn có thể chứa tệp đính kèm phương tiện, chẳng hạn như hình ảnh và video. Bài viết công khai và chưa niêm yết có sẵn công khai. Khi bạn có một bài đăng trên hồ sơ của bạn, đó cũng là thông tin có sẵn công khai. Bài đăng của bạn được gửi đến những người theo dõi của bạn, trong một số trường hợp, điều đó có nghĩa là chúng được gửi đến các máy chủ khác nhau và các bản sao được lưu trữ ở đó. Khi bạn xóa bài viết, điều này cũng được gửi đến những người theo dõi của bạn. Hành động đăng ký lại hoặc yêu thích một bài đăng khác luôn được công khai.
  • Bài đăng trực tiếp và chỉ dành cho người theo dõi : Tất cả các bài đăng được lưu trữ và xử lý trên máy chủ. Các bài đăng chỉ dành cho người theo dõi được gửi đến những người theo dõi và người dùng của bạn được đề cập trong đó và các bài đăng trực tiếp chỉ được gửi cho người dùng được đề cập trong đó. Trong một số trường hợp, điều đó có nghĩa là chúng được gửi đến các máy chủ khác nhau và các bản sao được lưu trữ ở đó. Chúng tôi thực hiện một nỗ lực thiện chí để giới hạn quyền truy cập vào các bài đăng đó chỉ cho những người được ủy quyền, nhưng các máy chủ khác có thể không làm như vậy. Do đó, điều quan trọng là phải xem xét các máy chủ mà người theo dõi của bạn thuộc về. Bạn có thể chuyển đổi tùy chọn để phê duyệt và từ chối người theo dõi mới theo cách thủ công trong cài đặt. Xin lưu ý rằng các nhà khai thác của máy chủ và bất kỳ máy chủ nhận nào cũng có thể xem các tin nhắn đó và người nhận có thể chụp màn hình, sao chép hoặc chia sẻ lại chúng. Không chia sẻ bất kỳ thông tin nguy hiểm nào trên Mastodon.
  • IP và siêu dữ liệu khác : Khi bạn đăng nhập, chúng tôi ghi lại địa chỉ IP bạn đăng nhập, cũng như tên của ứng dụng trình duyệt của bạn. Tất cả các phiên đăng nhập có sẵn để bạn xem xét và hủy bỏ trong cài đặt. Địa chỉ IP mới nhất được sử dụng được lưu trữ tối đa 12 tháng. Chúng tôi cũng có thể giữ lại nhật ký máy chủ bao gồm địa chỉ IP của mọi yêu cầu đến máy chủ của chúng tôi.

Chúng tôi sử dụng thông tin của bạn để làm gì?

Bất kỳ thông tin nào chúng tôi thu thập từ bạn có thể được sử dụng theo các cách sau:

  • Để cung cấp các chức năng cốt lõi của Mastodon. Bạn chỉ có thể tương tác với nội dung của người khác và đăng nội dung của riêng bạn khi bạn đăng nhập. Ví dụ: bạn có thể theo dõi người khác để xem các bài đăng kết hợp của họ trong dòng thời gian tại nhà được cá nhân hóa của bạn.
  • Để hỗ trợ kiểm duyệt cộng đồng, ví dụ so sánh địa chỉ IP của bạn với các địa chỉ đã biết khác để xác định trốn tránh hoặc vi phạm khác.
  • Địa chỉ email bạn cung cấp có thể được sử dụng để gửi cho bạn thông tin, thông báo về những người khác tương tác với nội dung của bạn hoặc gửi tin nhắn cho bạn và để trả lời các câu hỏi cũng như / hoặc các yêu cầu hoặc câu hỏi khác.

Làm thế nào để chúng tôi bảo vệ thông tin của bạn?

Chúng tôi thực hiện nhiều biện pháp bảo mật để duy trì sự an toàn của thông tin cá nhân của bạn khi bạn nhập, gửi hoặc truy cập thông tin cá nhân của bạn. Trong số những thứ khác, phiên trình duyệt của bạn, cũng như lưu lượng giữa các ứng dụng và API của bạn, được bảo mật bằng SSL và mật khẩu của bạn được băm bằng thuật toán một chiều mạnh mẽ. Bạn có thể kích hoạt xác thực hai yếu tố để tiếp tục truy cập an toàn vào tài khoản của mình.


Chính sách lưu giữ dữ liệu của chúng tôi là gì?

Chúng tôi sẽ thực hiện một nỗ lực đức tin tốt để:

  • Giữ lại nhật ký máy chủ chứa địa chỉ IP của tất cả các yêu cầu đến máy chủ này, cho đến khi các nhật ký đó được lưu giữ, không quá 90 ngày.
  • Giữ lại các địa chỉ IP được liên kết với người dùng đã đăng ký không quá 12 tháng.

Bạn có thể yêu cầu và tải xuống một kho lưu trữ nội dung của bạn, bao gồm các bài đăng, tệp đính kèm phương tiện, ảnh hồ sơ và hình ảnh tiêu đề.

Bạn có thể xóa tài khoản của mình bất cứ lúc nào.


Chúng ta có sử dụng cookie không?

Đúng. Cookies là các tệp nhỏ mà một trang web hoặc nhà cung cấp dịch vụ của nó chuyển vào ổ cứng máy tính của bạn thông qua trình duyệt Web (nếu bạn cho phép). Những cookie này cho phép trang web nhận ra trình duyệt của bạn và, nếu bạn có tài khoản đã đăng ký, hãy liên kết nó với tài khoản đã đăng ký của bạn.

Chúng tôi sử dụng cookie để hiểu và lưu các tùy chọn của bạn cho các lần truy cập trong tương lai.


Chúng tôi có được công bố bất cứ thông tin nào ra bên ngoài không?

Chúng tôi không bán, trao đổi hoặc chuyển nhượng cho các bên ngoài thông tin nhận dạng cá nhân của bạn. Điều này không bao gồm các bên thứ ba đáng tin cậy hỗ trợ chúng tôi điều hành trang web của chúng tôi, tiến hành kinh doanh hoặc phục vụ bạn, miễn là các bên đó đồng ý giữ bí mật thông tin này. Chúng tôi cũng có thể tiết lộ thông tin của bạn khi chúng tôi tin rằng việc phát hành là phù hợp để tuân thủ luật pháp, thực thi chính sách trang web của chúng tôi hoặc bảo vệ quyền, tài sản hoặc an toàn của chúng tôi hoặc của người khác.

Nội dung công khai của bạn có thể được tải xuống bởi các máy chủ khác trong mạng. Các bài đăng công khai và chỉ dành cho người theo dõi của bạn được gửi đến các máy chủ nơi người theo dõi của bạn cư trú và tin nhắn trực tiếp được gửi đến máy chủ của người nhận, cho đến khi những người theo dõi hoặc người nhận đó cư trú trên một máy chủ khác với máy chủ này.

Khi bạn cho phép ứng dụng sử dụng tài khoản của mình, tùy thuộc vào phạm vi quyền bạn phê duyệt, ứng dụng có thể truy cập thông tin hồ sơ công khai, danh sách sau đây, người theo dõi, danh sách của bạn, tất cả bài đăng và mục yêu thích của bạn. Các ứng dụng không bao giờ có thể truy cập địa chỉ e-mail hoặc mật khẩu của bạn.


Sử dụng trang web của trẻ em

Nếu máy chủ này ở EU hoặc EEA: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người ít nhất 16 tuổi. Nếu bạn dưới 16 tuổi, theo các yêu cầu của GDPR ( Quy định bảo vệ dữ liệu chung ) không sử dụng trang web này.

Nếu máy chủ này ở Hoa Kỳ: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người ít nhất 13 tuổi. Nếu bạn dưới 13 tuổi, theo các yêu cầu của COPPA ( Đạo luật bảo vệ quyền riêng tư trực tuyến của trẻ em ) không sử dụng trang web này.

Yêu cầu pháp luật có thể khác nhau nếu máy chủ này ở khu vực tài phán khác.


Thay đổi chính sách bảo mật của chúng tôi

Nếu chúng tôi quyết định thay đổi chính sách bảo mật của mình, chúng tôi sẽ đăng những thay đổi đó trên trang này.

Tài liệu này là CC-BY-SA. Nó được cập nhật lần cuối vào ngày 7 tháng 3 năm 2018.

Ban đầu được điều chỉnh từ chính sách quyền riêng tư của Nghị luận .

\n" + body_html: "

Chính sách bảo mật

Chúng tôi thu thập những thông tin gì?

  • Thông tin tài khoản cơ bản: Nếu bạn đăng ký trên máy chủ này, bạn phải cung cấp tên người dùng, địa chỉ email và mật khẩu. Bạn cũng có thể tùy chọn bổ sung tên hiển thị, mô tả, ảnh đại diện, ảnh bìa. Tên người dùng, tên hiển thị, mô tả, ảnh hồ sơ và ảnh bìa luôn được hiển thị công khai.
  • Tút, lượt theo dõi và thông tin công khai khác: Danh sách những người bạn theo dõi được liệt kê công khai, cũng tương tự như danh sách những người theo dõi bạn. Khi bạn gửi tin nhắn, ngày giờ và ứng dụng sử dụng được lưu trữ. Tin nhắn có thể chứa tệp đính kèm hình ảnh và video. Bài viết công khai và bài viết đóng sẽ hiển thị công khai. Khi bạn đăng một tút trên trang cá nhân của bạn, đó là thông tin công khai. Tút của bạn được gửi đến những người theo dõi của bạn, điều đó có nghĩa là chúng được gửi đến các máy chủ khác nhau và sẽ có các bản sao được lưu trữ ở đó. Khi bạn xóa bài viết, bản sao từ những người theo dõi của bạn cũng bị xóa theo. Hành động chia sẻ hoặc thích một tút luôn luôn là công khai.
  • Tin nhắn và tút chỉ dành cho người theo dõi: Tất cả tút được lưu trữ và xử lý trên máy chủ. Các tút chỉ dành cho người theo dõi được gửi đến những người theo dõi và người dùng của bạn được gắn thẻ trong đó. Còn các tin nhắn chỉ được gửi cho người dùng được gắn thẻ trong đó. Điều đó có nghĩa là chúng được gửi đến các máy chủ khác nhau và có các bản sao được lưu trữ ở đó. Chúng tôi khuyến nghị chỉ cho những người được ủy quyền truy cập vào đó, nhưng không phải máy chủ nào cũng làm như vậy. Do đó, điều quan trọng là phải xem xét các máy chủ của người theo dõi của bạn. Bạn có thể thiết lập phê duyệt và từ chối người theo dõi mới theo cách thủ công trong cài đặt. Xin lưu ý rằng quản trị viên máy chủ của bạn và bất kỳ máy chủ của người nhận nào cũng có thể xem các tin nhắn Người nhận tin nhắn có thể chụp màn hình, sao chép hoặc chia sẻ lại chúng. Không nên chia sẻ bất kỳ thông tin rủi ro nào trên Mastodon.
  • Địa chỉ IP và siêu dữ liệu khác: Khi bạn đăng nhập, chúng tôi ghi nhớ địa chỉ IP bạn đăng nhập cũng như tên trình duyệt của bạn. Tất cả các phiên đăng nhập sẽ để bạn xem xét và hủy bỏ trong phần cài đặt. Địa chỉ IP sử dụng được lưu trữ tối đa 12 tháng. Chúng tôi cũng có thể giữ lại nhật ký máy chủ bao gồm địa chỉ IP của những yêu cầu truy cập máy chủ của chúng tôi.

Chúng tôi sử dụng thông tin của bạn để làm gì?

Bất kỳ thông tin nào chúng tôi thu thập từ bạn là:

  • Để cung cấp các chức năng cốt lõi của Mastodon. Bạn chỉ có thể tương tác với nội dung của người khác và đăng nội dung của riêng bạn khi bạn đã đăng nhập. Ví dụ: bạn có thể theo dõi người khác để xem các tút của họ trong bảng tin cá nhân hóa của bạn.
  • Để hỗ trợ kiểm duyệt cộng đồng, ví dụ so sánh địa chỉ IP của bạn với các địa chỉ đã biết khác để xác định hacker hoặc vi phạm khác.
  • Địa chỉ email bạn cung cấp chỉ được sử dụng để gửi cho bạn thông tin, thông báo về những người khác tương tác với nội dung của bạn hoặc gửi tin nhắn cho bạn hoặc để trả lời các câu hỏi cũng như các yêu cầu khác từ chính bạn.

Chúng tôi bảo vệ thông tin của bạn như thế nào?

Chúng tôi thực hiện nhiều biện pháp bảo mật để duy trì sự an toàn khi bạn nhập, gửi hoặc truy cập thông tin cá nhân của bạn. Một vài trong số đó như là biện pháp kiểm soát phiên đăng nhập của bạn, lưu lượng giữa các ứng dụng và API của bạn, bảo mật bằng SSL và băm nhỏ mật khẩu nhờ thuật toán một chiều mạnh mẽ. Bạn có thể kích hoạt xác thực hai yếu tố để tiếp tục truy cập an toàn vào tài khoản của mình.


Chính sách lưu giữ dữ liệu của chúng tôi thì thế nào?

Chúng tôi sẽ thực hiện:

  • Giữ lại nhật ký máy chủ chứa địa chỉ IP của tất cả các yêu cầu đến máy chủ này, cho đến khi các nhật ký đó được lưu giữ, không quá 90 ngày.
  • Giữ lại các địa chỉ IP được liên kết với người dùng đã đăng ký không quá 12 tháng.

Bạn có thể tải xuống một bản sao nội dung lưu trữ của bạn, bao gồm các tút, tệp đính kèm phương tiện, ảnh đại diện và hảnh bìa.

Bạn có thể xóa tài khoản của mình bất cứ lúc nào.


Chúng tôi có sử dụng cookie không?

Có. Cookie là các tệp nhỏ mà một trang web hoặc nhà cung cấp dịch vụ internet chuyển vào ổ cứng máy tính của bạn thông qua trình duyệt Web (nếu bạn cho phép). Những cookie này cho phép trang web nhận ra trình duyệt của bạn và nếu bạn có tài khoản đã đăng ký, nó sẽ liên kết với tài khoản đã đăng ký của bạn.

Chúng tôi sử dụng cookie để hiểu và lưu các tùy chọn của bạn cho các lần truy cập trong tương lai.


Chúng tôi có để lộ bất cứ thông tin nào ra bên ngoài không?

Chúng tôi thề danh dự không bán, trao đổi hoặc chuyển nhượng thông tin nhận dạng cá nhân của bạn cho bên thứ ba. Trừ khi bên thứ ba đó đang hỗ trợ chúng tôi điều hành Mastodon, tiến hành kinh doanh hoặc phục vụ bạn, miễn là các bên đó đồng ý giữ bí mật thông tin này. Chúng tôi cũng có thể tiết lộ thông tin của bạn khi chúng tôi tin rằng việc công bố là để tuân thủ luật pháp, thực thi quy tắc máy chủ của chúng tôi hoặc bảo vệ quyền, tài sản hợp pháp hoặc sự an toàn của chúng tôi hoặc của ai đó.

Nội dung công khai của bạn có thể được tải xuống bởi các máy chủ khác trong mạng liên kết. Các tút công khai và chỉ dành cho người theo dõi của bạn được gửi đến các máy chủ nơi người theo dõi của bạn thuộc về và tin nhắn được gửi đến máy chủ của người nhận, cho đến khi những người theo dõi hoặc người nhận đó chuyển sang một máy chủ khác.

Khi bạn cho phép một ứng dụng sử dụng tài khoản của mình, tùy thuộc vào phạm vi quyền bạn phê duyệt, ứng dụng có thể truy cập thông tin trang cá nhân, danh sách người theo dõi, danh sách của bạn, tất cả tút và lượt thích của bạn. Các ứng dụng không bao giờ có thể truy cập địa chỉ e-mail hoặc mật khẩu của bạn.


Giới hạn trẻ em sử dụng

Nếu máy chủ này ở EU hoặc EEA: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người trên 16 tuổi. Nếu bạn dưới 16 tuổi, theo yêu cầu của GDPR (Quy định bảo vệ dữ liệu chung) thì không được sử dụng trang web này.

Nếu máy chủ này ở Hoa Kỳ: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người trên 13 tuổi. Nếu bạn dưới 13 tuổi, theo yêu cầu của COPPA (Đạo luật bảo vệ quyền riêng tư trực tuyến của trẻ em) thì không được sử dụng trang web này.

Quy định pháp luật có thể khác nhau nếu máy chủ này ở khu vực địa lý khác.


Cập nhật thay đổi

Nếu có thay đổi chính sách bảo mật, chúng tôi sẽ đăng những thay đổi đó ở mục này.

Tài liệu này phát hành dưới hình thức CC-BY-SA. Nó được cập nhật lần cuối vào ngày 7 tháng 3 năm 2018.

Được phát triển từ Nghị luận chính sách bảo mật .

\n" title: "%{instance} Điều khoản dịch vụ và chính sách bảo mật" themes: contrast: Mastodon (Độ tương phản cao) @@ -1159,8 +1159,8 @@ vi: mastodon-light: Mastodon (Sáng) time: formats: - default: lúc %H:%M %b %d năm%_Y - month: "%B %Y" + default: "%b.%d.%y %H:%M" + month: "%b.%y" two_factor_authentication: code_hint: Nhập mã được tạo bởi ứng dụng xác thực của bạn để xác nhận description_html: Nếu bạn kích hoạt xác thực hai bước, mã xác thực đăng nhập sẽ được tạo ra từ điện thoại của bạn. diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 3d62230d88..a67cd01225 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -38,7 +38,7 @@ zh-CN: reason: 原因 rejecting_media: 来自这些服务器的媒体文件将不会被处理或存储,缩略图也不会显示,需要手动点击打开原始文件。 rejecting_media_title: 被过滤的媒体文件 - silenced: 来自这些服务器上的帖子将不会出现在公共时间线和会话中;此外,除非你关注了这些服务器上的用户,否则这些用户的互动不会产生通知。 + silenced: 来自这些服务器上的帖子将不会出现在公共时间轴和会话中,通知功能也不会提醒这些用户的动态;只有你关注了这些用户,才会收到用户互动的通知消息。 silenced_title: 已隐藏的服务器 suspended: 这些服务器的数据将不会被处理、存储或者交换,本站也将无法和来自这些服务器的用户互动或者交流。 suspended_title: 已封禁的服务器 @@ -142,7 +142,7 @@ zh-CN: moderation_notes: 管理员备注 most_recent_activity: 最后一次活跃的时间 most_recent_ip: 最后一次活跃的 IP 地址 - no_account_selected: 因为没有帐号被选择,所以没有更改 + no_account_selected: 没有选中帐号,所以无更改 no_limits_imposed: 无限制 not_subscribed: 未订阅 pending: 待审核 @@ -365,7 +365,7 @@ zh-CN: noop: 无 silence: 自动隐藏 suspend: 自动封禁 - title: 添加域名屏蔽 + title: 新增域名屏蔽 private_comment: 私密评论 private_comment_hint: 给这一域名限制添加备注,供监察员内部使用 public_comment: 公开评论 @@ -391,7 +391,7 @@ zh-CN: view: 查看域名屏蔽 email_domain_blocks: add_new: 添加新条目 - created_msg: 电子邮件域名屏蔽添加成功 + created_msg: 成功屏蔽电子邮件域名 delete: 删除 destroyed_msg: 电子邮件域名屏蔽删除成功 domain: 域名 @@ -408,7 +408,7 @@ zh-CN: other: "%{count} 个已知帐户" moderation: all: 全部 - limited: 受限的 + limited: 部分 title: 运营 private_comment: 私密评论 public_comment: 公开评论 @@ -508,7 +508,7 @@ zh-CN: enable_bootstrap_timeline_accounts: title: 开启新用户默认关注功能 hero: - desc_html: 用于在首页展示。推荐分辨率 600×100px 以上。未指定的情况下将默认使用本站缩略图 + desc_html: 将用于在首页展示。推荐使用分辨率 600×100px 以上的图片。如未设置,将默认使用本站缩略图。 title: 主题图片 mascot: desc_html: 用于在首页展示。推荐分辨率 293×205px 以上。未指定的情况下将使用默认吉祥物。 @@ -517,7 +517,7 @@ zh-CN: desc_html: 截至目前本服务器在联邦宇宙中已发现的域名 title: 公开已知实例的列表 preview_sensitive_media: - desc_html: 始终在站外链接预览中展示缩略图,无论媒体内容是否标记为敏感 + desc_html: 无论媒体文件是否标记为敏感内容,站外链接预览始终呈现为缩略图。 title: 在 OpenGraph 预览中显示敏感媒体内容 profile_directory: desc_html: 允许用户被发现 From 00448db3c8e326712c400c3b7cc70c203d85c8d9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 24 Jul 2020 14:55:14 +0200 Subject: [PATCH 017/703] Fix unnecessary second connection to user stream from account timeline in web UI (#14387) Fix regression from #14212 --- app/javascript/mastodon/actions/streaming.js | 13 +++--- .../features/account_timeline/index.js | 41 +++++++++++-------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/app/javascript/mastodon/actions/streaming.js b/app/javascript/mastodon/actions/streaming.js index 7cecff66e1..d998fcac48 100644 --- a/app/javascript/mastodon/actions/streaming.js +++ b/app/javascript/mastodon/actions/streaming.js @@ -71,10 +71,9 @@ const refreshHomeTimelineAndNotification = (dispatch, done) => { dispatch(fetchAnnouncements(done)))))); }; -export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification); -export const connectUserTimelineStream = (accountId) => connectTimelineStream(`account:${accountId}`, 'user'); -export const connectCommunityStream = ({ onlyMedia } = {}) => connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`); -export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`); -export const connectHashtagStream = (id, tag, local, accept) => connectTimelineStream(`hashtag:${id}${local ? ':local' : ''}`, `hashtag${local ? ':local' : ''}&tag=${tag}`, null, accept); -export const connectDirectStream = () => connectTimelineStream('direct', 'direct'); -export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`); +export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification); +export const connectCommunityStream = ({ onlyMedia } = {}) => connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`); +export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`); +export const connectHashtagStream = (id, tag, local, accept) => connectTimelineStream(`hashtag:${id}${local ? ':local' : ''}`, `hashtag${local ? ':local' : ''}&tag=${tag}`, null, accept); +export const connectDirectStream = () => connectTimelineStream('direct', 'direct'); +export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`); diff --git a/app/javascript/mastodon/features/account_timeline/index.js b/app/javascript/mastodon/features/account_timeline/index.js index 3846cc6377..b9a616266b 100644 --- a/app/javascript/mastodon/features/account_timeline/index.js +++ b/app/javascript/mastodon/features/account_timeline/index.js @@ -16,7 +16,7 @@ import { fetchAccountIdentityProofs } from '../../actions/identity_proofs'; import MissingIndicator from 'mastodon/components/missing_indicator'; import TimelineHint from 'mastodon/components/timeline_hint'; import { me } from 'mastodon/initial_state'; -import { connectUserTimelineStream } from '../../actions/streaming'; +import { connectTimeline, disconnectTimeline } from 'mastodon/actions/timelines'; const emptyList = ImmutableList(); @@ -63,41 +63,48 @@ class AccountTimeline extends ImmutablePureComponent { }; componentWillMount () { - const { params: { accountId }, withReplies } = this.props; + const { params: { accountId }, withReplies, dispatch } = this.props; - this.props.dispatch(fetchAccount(accountId)); - this.props.dispatch(fetchAccountIdentityProofs(accountId)); + dispatch(fetchAccount(accountId)); + dispatch(fetchAccountIdentityProofs(accountId)); if (!withReplies) { - this.props.dispatch(expandAccountFeaturedTimeline(accountId)); + dispatch(expandAccountFeaturedTimeline(accountId)); } - this.props.dispatch(expandAccountTimeline(accountId, { withReplies })); - } + dispatch(expandAccountTimeline(accountId, { withReplies })); - componentDidMount () { - if (this.props.params.accountId === me) { - this.disconnect = this.props.dispatch(connectUserTimelineStream(me)); + if (accountId === me) { + dispatch(connectTimeline(`account:${me}`)); } } componentWillReceiveProps (nextProps) { + const { dispatch } = this.props; + if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) { - this.props.dispatch(fetchAccount(nextProps.params.accountId)); - this.props.dispatch(fetchAccountIdentityProofs(nextProps.params.accountId)); + dispatch(fetchAccount(nextProps.params.accountId)); + dispatch(fetchAccountIdentityProofs(nextProps.params.accountId)); if (!nextProps.withReplies) { - this.props.dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId)); + dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId)); } - this.props.dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies })); + dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies })); + } + + if (nextProps.params.accountId === me && this.props.params.accountId !== me) { + dispatch(connectTimeline(`account:${me}`)); + } else if (this.props.params.accountId === me && nextProps.params.accountId !== me) { + dispatch(disconnectTimeline(`account:${me}`)); } } componentWillUnmount () { - if (this.disconnect) { - this.disconnect(); - this.disconnect = null; + const { dispatch, params: { accountId } } = this.props; + + if (accountId === me) { + dispatch(disconnectTimeline(`account:${me}`)); } } From d1a6f8d5a8d187ad7e0d9e683f8054f207270931 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 24 Jul 2020 18:47:25 +0200 Subject: [PATCH 018/703] Bump version to 3.2.0rc2 (#14382) --- CHANGELOG.md | 21 +++++++++++++++------ lib/mastodon/version.rb | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 348d1cefc2..c136f58f5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,7 +29,7 @@ All notable changes to this project will be documented in this file. - New REST API: `POST /api/v1/accounts/:id/note` with `comment` param - The Relationship entity in REST API has a new `note` attribute - Add Helm chart ([dunn](https://github.com/tootsuite/mastodon/pull/14090), [dunn](https://github.com/tootsuite/mastodon/pull/14256), [dunn](https://github.com/tootsuite/mastodon/pull/14245)) -- **Add customizable thumbnails for audio and video attachments** ([Gargron](https://github.com/tootsuite/mastodon/pull/14145), [Gargron](https://github.com/tootsuite/mastodon/pull/14244), [Gargron](https://github.com/tootsuite/mastodon/pull/14273), [Gargron](https://github.com/tootsuite/mastodon/pull/14203), [ThibG](https://github.com/tootsuite/mastodon/pull/14255), [ThibG](https://github.com/tootsuite/mastodon/pull/14306)) +- **Add customizable thumbnails for audio and video attachments** ([Gargron](https://github.com/tootsuite/mastodon/pull/14145), [Gargron](https://github.com/tootsuite/mastodon/pull/14244), [Gargron](https://github.com/tootsuite/mastodon/pull/14273), [Gargron](https://github.com/tootsuite/mastodon/pull/14203), [ThibG](https://github.com/tootsuite/mastodon/pull/14255), [ThibG](https://github.com/tootsuite/mastodon/pull/14306), [noellabo](https://github.com/tootsuite/mastodon/pull/14358), [noellabo](https://github.com/tootsuite/mastodon/pull/14357)) - Metadata (album, artist, etc) is no longer stripped from audio files - Album art is automatically extracted from audio files - Thumbnail can be manually uploaded for both audio and video attachments @@ -37,6 +37,7 @@ All notable changes to this project will be documented in this file. - On `POST /api/v1/media` and `POST /api/v2/media` - And on `PUT /api/v1/media/:id` - ActivityPub representation of media attachments represents custom thumbnails with an `icon` attribute + - The Media Attachment entity in REST API now has a `preview_remote_url` to its `preview_url`, equivalent to `remote_url` to its `url` - **Add color extraction for thumbnails** ([Gargron](https://github.com/tootsuite/mastodon/pull/14209), [ThibG](https://github.com/tootsuite/mastodon/pull/14264)) - The `meta` attribute on the Media Attachment entity in REST API can now have a `colors` attribute which in turn contains three hex colors: `background`, `foreground`, and `accent` - The background color is chosen from the most dominant color around the edges of the thumbnail @@ -48,6 +49,9 @@ All notable changes to this project will be documented in this file. - Add `tootctl email_domain_blocks` ([tateisu](https://github.com/tootsuite/mastodon/pull/13589), [Gargron](https://github.com/tootsuite/mastodon/pull/14147)) - Add "Add new domain block" to header of federation page in admin UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13934)) - Add ability to keep emoji picker open with ctrl+click in web UI ([bclindner](https://github.com/tootsuite/mastodon/pull/13896), [noellabo](https://github.com/tootsuite/mastodon/pull/14096)) +- Add custom icon for private boosts in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14380)) +- Add support for Create and Update activities that don't inline objects in ActivityPub ([ThibG](https://github.com/tootsuite/mastodon/pull/14359)) +- Add support for Undo activities that don't inline activities in ActivityPub ([ThibG](https://github.com/tootsuite/mastodon/pull/14346)) ### Changed @@ -59,9 +63,9 @@ All notable changes to this project will be documented in this file. - Some websites may not render OpenGraph tags into HTML if that's not the case - Change behaviour to carry blocks over when someone migrates their followers ([ThibG](https://github.com/tootsuite/mastodon/pull/14144)) - Change volume control and download buttons in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/14122)) -- **Change design of audio players in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/14095), [ThibG](https://github.com/tootsuite/mastodon/pull/14281), [Gargron](https://github.com/tootsuite/mastodon/pull/14282), [ThibG](https://github.com/tootsuite/mastodon/pull/14118), [Gargron](https://github.com/tootsuite/mastodon/pull/14199)) +- **Change design of audio players in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/14095), [ThibG](https://github.com/tootsuite/mastodon/pull/14281), [Gargron](https://github.com/tootsuite/mastodon/pull/14282), [ThibG](https://github.com/tootsuite/mastodon/pull/14118), [Gargron](https://github.com/tootsuite/mastodon/pull/14199), [ThibG](https://github.com/tootsuite/mastodon/pull/14338)) - Change reply filter to never filter own toots in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14128)) -- Change boost button to no longer serve as visibility indicator in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/14132)) +- Change boost button to no longer serve as visibility indicator in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/14132), [ThibG](https://github.com/tootsuite/mastodon/pull/14373)) - Change contrast of flash messages ([cchoi12](https://github.com/tootsuite/mastodon/pull/13892)) - Change wording from "Hide media" to "Hide image/images" in web UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13834)) - Change appearence of settings pages to be more consistent ([ariasuni](https://github.com/tootsuite/mastodon/pull/13938)) @@ -69,6 +73,7 @@ All notable changes to this project will be documented in this file. - Change how badly contrasting emoji are rendered in web UI ([leo60228](https://github.com/tootsuite/mastodon/pull/13773), [ThibG](https://github.com/tootsuite/mastodon/pull/13772), [mfmfuyu](https://github.com/tootsuite/mastodon/pull/14020), [ThibG](https://github.com/tootsuite/mastodon/pull/14015)) - Change structure of unavailable content section on about page ([ariasuni](https://github.com/tootsuite/mastodon/pull/13930)) - Change behaviour to accept ActivityPub activities relayed through group actor ([noellabo](https://github.com/tootsuite/mastodon/pull/14279)) +- Change amount of processing retries for ActivityPub activities ([noellabo](https://github.com/tootsuite/mastodon/pull/14355)) ### Removed @@ -84,13 +89,17 @@ All notable changes to this project will be documented in this file. ### Fixed +- Fix sometimes occuring duplicate mention notifications ([noellabo](https://github.com/tootsuite/mastodon/pull/14378)) +- Fix RSS feeds not being cachable ([ThibG](https://github.com/tootsuite/mastodon/pull/14368)) +- Fix lack of locking around processing of Announce activities in ActivityPub ([noellabo](https://github.com/tootsuite/mastodon/pull/14365)) +- Fix boosted toots from blocked account not being retroactively removed from TL ([ThibG](https://github.com/tootsuite/mastodon/pull/14339)) - Fix large shortened numbers (like 1.2K) using incorrect pluralization ([Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/14061)) - Fix streaming server trying to use empty password to connect to Redis when `REDIS_PASSWORD` is given but blank ([ThibG](https://github.com/tootsuite/mastodon/pull/14135)) - Fix being unable to unboost posts when blocked by their author ([ThibG](https://github.com/tootsuite/mastodon/pull/14308)) - Fix account domain block not properly unfollowing accounts from domain ([Gargron](https://github.com/tootsuite/mastodon/pull/14304)) - Fix removing a domain allow wiping known accounts in open federation mode ([ThibG](https://github.com/tootsuite/mastodon/pull/14298)) - Fix blocks and mutes pagination in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14275)) -- Fix new posts pushing down origin of opened dropdown in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14271)) +- Fix new posts pushing down origin of opened dropdown in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14271), [ThibG](https://github.com/tootsuite/mastodon/pull/14348)) - Fix timeline markers not being saved sometimes ([ThibG](https://github.com/tootsuite/mastodon/pull/13887), [ThibG](https://github.com/tootsuite/mastodon/pull/13889), [ThibG](https://github.com/tootsuite/mastodon/pull/14155)) - Fix CSV uploads being rejected ([noellabo](https://github.com/tootsuite/mastodon/pull/13835)) - Fix incompatibility with ElasticSearch 7.x ([noellabo](https://github.com/tootsuite/mastodon/pull/13828)) @@ -112,7 +121,7 @@ All notable changes to this project will be documented in this file. - Use circuit breakers to stop hitting unresponsive servers - Avoid hitting servers that are already known to be generally unavailable - Fix filters ignoring media descriptions ([BenLubar](https://github.com/tootsuite/mastodon/pull/13837)) -- Fix soem actions on custom emojis leading to cryptic errors in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13951)) +- Fix some actions on custom emojis leading to cryptic errors in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13951)) - Fix ActivityPub serialization of replies when some of them are URIs ([ThibG](https://github.com/tootsuite/mastodon/pull/13957)) - Fix `rake mastodon:setup` choking on environment variables containing `%` ([ThibG](https://github.com/tootsuite/mastodon/pull/13940)) - Fix account redirect confirmation message talking about moved followers ([ThibG](https://github.com/tootsuite/mastodon/pull/13950)) @@ -132,7 +141,7 @@ All notable changes to this project will be documented in this file. - Fix unapproved users being able to view profiles when in limited-federation mode *and* requiring approval for sign-ups ([ThibG](https://github.com/tootsuite/mastodon/pull/14093)) - Fix initial audio volume not corresponding to what's displayed in audio player in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14057)) - Fix timelines sometimes jumping when closing modals in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14019)) -- Fix memory usage of downloading remote files ([Gargron](https://github.com/tootsuite/mastodon/pull/14184), [Gargron](https://github.com/tootsuite/mastodon/pull/14181)) +- Fix memory usage of downloading remote files ([Gargron](https://github.com/tootsuite/mastodon/pull/14184), [Gargron](https://github.com/tootsuite/mastodon/pull/14181), [noellabo](https://github.com/tootsuite/mastodon/pull/14356)) - Don't read entire file (up to 40 MB) into memory - Read and write it to temp file in small chunks - Fix inconsistent account header padding in web UI ([trwnh](https://github.com/tootsuite/mastodon/pull/14179)) diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 104cb1807a..8df3613734 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc1' + 'rc2' end def suffix From 156af70e4d01f8bf65cdede554c37ab8f9817036 Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Mon, 27 Jul 2020 06:58:36 +0900 Subject: [PATCH 019/703] Fix following restriction not working when exact match in account search (#14394) --- app/services/account_search_service.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb index 493813aab4..43e5960405 100644 --- a/app/services/account_search_service.rb +++ b/app/services/account_search_service.rb @@ -27,7 +27,7 @@ class AccountSearchService < BaseService return @exact_match if defined?(@exact_match) - @exact_match = begin + match = begin if options[:resolve] ResolveAccountService.new.call(query) elsif domain_is_local? @@ -36,6 +36,10 @@ class AccountSearchService < BaseService Account.find_remote(query_username, query_domain) end end + + match = nil if !match.nil? && !account.nil? && options[:following] && !account.following?(match) + + @exact_match = match end def search_results From 93dd413a47f828f386d84cc1c7db15536c4d80c3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 27 Jul 2020 00:07:26 +0200 Subject: [PATCH 020/703] Bump version to 3.2.0 (#14395) --- CHANGELOG.md | 3 ++- lib/mastodon/version.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c136f58f5a..18790e860b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ Changelog All notable changes to this project will be documented in this file. -## Unreleased +## [3.2.0] - 2020-07-27 ### Added - Add `SMTP_SSL` environment variable ([OmmyZhang](https://github.com/tootsuite/mastodon/pull/14309)) @@ -89,6 +89,7 @@ All notable changes to this project will be documented in this file. ### Fixed +- Fix `following` param not working when exact match is found in account search ([noellabo](https://github.com/tootsuite/mastodon/pull/14394)) - Fix sometimes occuring duplicate mention notifications ([noellabo](https://github.com/tootsuite/mastodon/pull/14378)) - Fix RSS feeds not being cachable ([ThibG](https://github.com/tootsuite/mastodon/pull/14368)) - Fix lack of locking around processing of Announce activities in ActivityPub ([noellabo](https://github.com/tootsuite/mastodon/pull/14365)) diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 8df3613734..7aa6cb2c78 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc2' + '' end def suffix From 42986a4dad4896534babfbed281b9b56dfa2bbdc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:25:06 +0900 Subject: [PATCH 021/703] Bump pghero from 2.5.1 to 2.6.0 (#14423) Bumps [pghero](https://github.com/ankane/pghero) from 2.5.1 to 2.6.0. - [Release notes](https://github.com/ankane/pghero/releases) - [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/pghero/compare/v2.5.1...v2.6.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 414bd2c305..1fe9812d30 100644 --- a/Gemfile +++ b/Gemfile @@ -17,7 +17,7 @@ gem 'e2mmap', '~> 0.1.0' gem 'hamlit-rails', '~> 0.2' gem 'pg', '~> 1.2' gem 'makara', '~> 0.4' -gem 'pghero', '~> 2.5' +gem 'pghero', '~> 2.6' gem 'dotenv-rails', '~> 2.7' gem 'aws-sdk-s3', '~> 1.73', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 3d4fce6433..4b28bc8f8e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -286,7 +286,7 @@ GEM httplog (1.4.3) rack (>= 1.0) rainbow (>= 2.0.0) - i18n (1.8.3) + i18n (1.8.5) concurrent-ruby (~> 1.0) i18n-tasks (0.9.31) activesupport (>= 4.0.2) @@ -415,7 +415,7 @@ GEM equatable (~> 0.6) tty-color (~> 0.5) pg (1.2.3) - pghero (2.5.1) + pghero (2.6.0) activerecord (>= 5) pkg-config (1.4.1) premailer (1.11.1) @@ -747,7 +747,7 @@ DEPENDENCIES parallel_tests (~> 3.0) parslet pg (~> 1.2) - pghero (~> 2.5) + pghero (~> 2.6) pkg-config (~> 1.4) posix-spawn! premailer-rails From bfc73a1453bda0da8384282dc56c504bd215969d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:26:13 +0900 Subject: [PATCH 022/703] Bump aws-sdk-s3 from 1.73.0 to 1.75.0 (#14401) Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.73.0 to 1.75.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 1fe9812d30..55e4ac193c 100644 --- a/Gemfile +++ b/Gemfile @@ -20,7 +20,7 @@ gem 'makara', '~> 0.4' gem 'pghero', '~> 2.6' gem 'dotenv-rails', '~> 2.7' -gem 'aws-sdk-s3', '~> 1.73', require: false +gem 'aws-sdk-s3', '~> 1.75', require: false gem 'fog-core', '<= 2.1.0' gem 'fog-openstack', '~> 0.3', require: false gem 'paperclip', '~> 6.0' diff --git a/Gemfile.lock b/Gemfile.lock index 4b28bc8f8e..3bdf35b919 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -92,8 +92,8 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.1.0) - aws-partitions (1.338.0) - aws-sdk-core (3.103.0) + aws-partitions (1.345.0) + aws-sdk-core (3.104.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) @@ -101,8 +101,8 @@ GEM aws-sdk-kms (1.36.0) aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.73.0) - aws-sdk-core (~> 3, >= 3.102.1) + aws-sdk-s3 (1.75.0) + aws-sdk-core (~> 3, >= 3.104.1) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) aws-sigv4 (1.2.1) @@ -672,7 +672,7 @@ DEPENDENCIES active_record_query_trace (~> 1.7) addressable (~> 2.7) annotate (~> 3.1) - aws-sdk-s3 (~> 1.73) + aws-sdk-s3 (~> 1.75) better_errors (~> 2.7) binding_of_caller (~> 0.7) blurhash (~> 0.1) From 70b04959b7da7146d9fdefc14d132f3f677c8e1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:27:30 +0900 Subject: [PATCH 023/703] Bump eslint-plugin-react from 7.20.0 to 7.20.4 (#14422) Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.20.0 to 7.20.4. - [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases) - [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.20.0...v7.20.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 33 +++++++++++++++++++++------------ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 37c6d97d3c..a5b284c1a0 100644 --- a/package.json +++ b/package.json @@ -177,7 +177,7 @@ "eslint-plugin-import": "~2.21.2", "eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-promise": "~4.2.1", - "eslint-plugin-react": "~7.20.0", + "eslint-plugin-react": "~7.20.4", "jest": "^26.0.1", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", diff --git a/yarn.lock b/yarn.lock index 5449ae10ff..8b15dc153e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2115,6 +2115,15 @@ array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +array.prototype.flatmap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" + integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + arrow-key-navigation@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/arrow-key-navigation/-/arrow-key-navigation-1.2.0.tgz#edefc5f8b4fc4e384e7c20ddecf81db7ffc970a9" @@ -4263,22 +4272,22 @@ eslint-plugin-promise@~4.2.1: resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== -eslint-plugin-react@~7.20.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz#f98712f0a5e57dfd3e5542ef0604b8739cd47be3" - integrity sha512-rqe1abd0vxMjmbPngo4NaYxTcR3Y4Hrmc/jg4T+sYz63yqlmJRknpEQfmWY+eDWPuMmix6iUIK+mv0zExjeLgA== +eslint-plugin-react@~7.20.4: + version "7.20.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.4.tgz#c14d2631221ec694ddd84557d7152f44b66e4aa0" + integrity sha512-y4DOQ0LrzuDQFEAnYFGjJMRHQQqfTco02qiWI00eGQYikHTzC15S5aRHGWSffnThv8sBpsmFBLky3K5keniAJg== dependencies: array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.2.3" - object.entries "^1.1.1" + jsx-ast-utils "^2.4.1" + object.entries "^1.1.2" object.fromentries "^2.0.2" object.values "^1.1.1" prop-types "^15.7.2" - resolve "^1.15.1" + resolve "^1.17.0" string.prototype.matchall "^4.0.2" - xregexp "^4.3.0" eslint-scope@^4.0.3: version "4.0.3" @@ -6773,7 +6782,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.2.3, jsx-ast-utils@^2.4.1: +jsx-ast-utils@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w== @@ -7598,7 +7607,7 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.1.1: +object.entries@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== @@ -9426,7 +9435,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -11437,7 +11446,7 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xregexp@^4.2.4, xregexp@^4.3.0: +xregexp@^4.2.4: version "4.3.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== From e21a69c564f685d00f0371293c117405bc44dd9a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:28:57 +0900 Subject: [PATCH 024/703] Bump nokogiri from 1.10.9 to 1.10.10 (#14419) Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.9 to 1.10.10. - [Release notes](https://github.com/sparklemotion/nokogiri/releases) - [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md) - [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.9...v1.10.10) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3bdf35b919..ee928cbe65 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -374,7 +374,7 @@ GEM net-ssh (>= 2.6.5, < 7.0.0) net-ssh (6.1.0) nio4r (2.5.2) - nokogiri (1.10.9) + nokogiri (1.10.10) mini_portile2 (~> 2.4.0) nokogumbo (2.0.2) nokogiri (~> 1.8, >= 1.8.4) From 2d41be659100130041c9875af0e1513f4e72b703 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:37:07 +0900 Subject: [PATCH 025/703] Bump tty-screen from 0.8.0 to 0.8.1 (#14421) Bumps [tty-screen](https://github.com/piotrmurach/tty-screen) from 0.8.0 to 0.8.1. - [Release notes](https://github.com/piotrmurach/tty-screen/releases) - [Changelog](https://github.com/piotrmurach/tty-screen/blob/master/CHANGELOG.md) - [Commits](https://github.com/piotrmurach/tty-screen/compare/v0.8.0...v0.8.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ee928cbe65..8de02a8c8a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -631,7 +631,7 @@ GEM tty-cursor (~> 0.7) tty-screen (~> 0.7) wisper (~> 2.0.0) - tty-screen (0.8.0) + tty-screen (0.8.1) twitter-text (1.14.7) unf (~> 0.1.0) tzinfo (1.2.7) From 62d45115986aacab8dc304ca68628e0ada968e2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:41:21 +0900 Subject: [PATCH 026/703] Bump request-promise-native from 1.0.8 to 1.0.9 (#14420) Bumps [request-promise-native](https://github.com/request/request-promise-native) from 1.0.8 to 1.0.9. - [Release notes](https://github.com/request/request-promise-native/releases) - [Commits](https://github.com/request/request-promise-native/compare/v1.0.8...v1.0.9) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8b15dc153e..cf47c2835f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9293,19 +9293,19 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: - lodash "^4.17.15" + lodash "^4.17.19" request-promise-native@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: - request-promise-core "1.1.3" + request-promise-core "1.1.4" stealthy-require "^1.1.1" tough-cookie "^2.3.3" From 7d1dc4a54da1542f71e4c6e5508e60c8d60cabf1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:48:40 +0900 Subject: [PATCH 027/703] Bump bcrypt from 3.1.13 to 3.1.15 (#14402) Bumps [bcrypt](https://github.com/codahale/bcrypt-ruby) from 3.1.13 to 3.1.15. - [Release notes](https://github.com/codahale/bcrypt-ruby/releases) - [Changelog](https://github.com/codahale/bcrypt-ruby/blob/master/CHANGELOG) - [Commits](https://github.com/codahale/bcrypt-ruby/compare/v3.1.13...v3.1.15) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8de02a8c8a..a85d06ecdf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -107,7 +107,7 @@ GEM aws-sigv4 (~> 1.1) aws-sigv4 (1.2.1) aws-eventstream (~> 1, >= 1.0.2) - bcrypt (3.1.13) + bcrypt (3.1.15) better_errors (2.7.1) coderay (>= 1.0.0) erubi (>= 1.0.0) From d4a31bd0da5549d738646de3edec1c85a8a3880e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:50:39 +0900 Subject: [PATCH 028/703] Bump react-redux from 7.2.0 to 7.2.1 (#14408) Bumps [react-redux](https://github.com/reduxjs/react-redux) from 7.2.0 to 7.2.1. - [Release notes](https://github.com/reduxjs/react-redux/releases) - [Changelog](https://github.com/reduxjs/react-redux/blob/master/CHANGELOG.md) - [Commits](https://github.com/reduxjs/react-redux/compare/v7.2.0...v7.2.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a5b284c1a0..3cece44c2f 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "react-motion": "^0.5.2", "react-notification": "^6.8.5", "react-overlays": "^0.9.1", - "react-redux": "^7.2.0", + "react-redux": "^7.2.1", "react-redux-loading-bar": "^4.0.8", "react-router-dom": "^4.1.1", "react-router-scroll-4": "^1.0.0-beta.1", diff --git a/yarn.lock b/yarn.lock index cf47c2835f..ab071bc81d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8906,10 +8906,10 @@ react-redux-loading-bar@^4.0.8: prop-types "^15.6.2" react-lifecycles-compat "^3.0.2" -react-redux@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d" - integrity sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA== +react-redux@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.1.tgz#8dedf784901014db2feca1ab633864dee68ad985" + integrity sha512-T+VfD/bvgGTUA74iW9d2i5THrDQWbweXP0AVNI8tNd1Rk5ch1rnMiJkDD67ejw7YBKM4+REvcvqRuWJb7BLuEg== dependencies: "@babel/runtime" "^7.5.5" hoist-non-react-statics "^3.3.0" From ddf02f23068b1140f257564ac86e115fc89ebbec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:52:24 +0900 Subject: [PATCH 029/703] Bump entities from 2.0.0 to 2.0.3 (#14425) Bumps [entities](https://github.com/fb55/entities) from 2.0.0 to 2.0.3. - [Release notes](https://github.com/fb55/entities/releases) - [Commits](https://github.com/fb55/entities/compare/v2.0.0...v2.0.3) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index ab071bc81d..d8fce113d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4060,9 +4060,9 @@ enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: tapable "^1.0.0" entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== errno@^0.1.3, errno@~0.1.7: version "0.1.7" From 7eb81829aca19610079798f1a361ba07551dd6ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:53:07 +0900 Subject: [PATCH 030/703] Bump globule from 1.3.1 to 1.3.2 (#14416) Bumps [globule](https://github.com/cowboy/node-globule) from 1.3.1 to 1.3.2. - [Release notes](https://github.com/cowboy/node-globule/releases) - [Commits](https://github.com/cowboy/node-globule/commits/v1.3.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index d8fce113d1..a015506e20 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5205,12 +5205,12 @@ globby@^6.1.0: pinkie-promise "^2.0.0" globule@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" - integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== + version "1.3.2" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== dependencies: glob "~7.1.1" - lodash "~4.17.12" + lodash "~4.17.10" minimatch "~3.0.2" gonzales-pe-sl@^4.2.3: @@ -6978,7 +6978,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.3.0, lodash@~4.17.12: +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.3.0, lodash@~4.17.10: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== From e01e08b8f653744b05f06b4c2708bc70fe298192 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:54:09 +0900 Subject: [PATCH 031/703] Bump websocket-driver from 0.7.2 to 0.7.3 (#14410) Bumps [websocket-driver](https://github.com/faye/websocket-driver-ruby) from 0.7.2 to 0.7.3. - [Release notes](https://github.com/faye/websocket-driver-ruby/releases) - [Changelog](https://github.com/faye/websocket-driver-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/faye/websocket-driver-ruby/compare/0.7.2...0.7.3) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a85d06ecdf..bd6b7bac99 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -657,7 +657,7 @@ GEM webpush (0.3.8) hkdf (~> 0.2) jwt (~> 2.0) - websocket-driver (0.7.2) + websocket-driver (0.7.3) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wisper (2.0.1) From e55f100336abc4ac45b00e55f75add712e49a397 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:00:35 +0900 Subject: [PATCH 032/703] Bump stoplight from 2.2.0 to 2.2.1 (#14432) Bumps [stoplight](https://github.com/orgsync/stoplight) from 2.2.0 to 2.2.1. - [Release notes](https://github.com/orgsync/stoplight/releases) - [Changelog](https://github.com/orgsync/stoplight/blob/master/CHANGELOG.md) - [Commits](https://github.com/orgsync/stoplight/compare/v2.2.0...v2.2.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 55e4ac193c..54d4af9cfc 100644 --- a/Gemfile +++ b/Gemfile @@ -93,7 +93,7 @@ gem 'sidekiq-bulk', '~>0.2.0' gem 'simple-navigation', '~> 4.1' gem 'simple_form', '~> 5.0' gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie' -gem 'stoplight', '~> 2.2.0' +gem 'stoplight', '~> 2.2.1' gem 'strong_migrations', '~> 0.6' gem 'tty-prompt', '~> 0.21', require: false gem 'twitter-text', '~> 1.14' diff --git a/Gemfile.lock b/Gemfile.lock index bd6b7bac99..61049e5624 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -607,7 +607,7 @@ GEM net-ssh (>= 2.8.0) stackprof (0.2.15) statsd-ruby (1.4.0) - stoplight (2.2.0) + stoplight (2.2.1) streamio-ffmpeg (3.0.2) multi_json (~> 1.8) strong_migrations (0.6.8) @@ -785,7 +785,7 @@ DEPENDENCIES sprockets (~> 3.7.2) sprockets-rails (~> 3.2) stackprof - stoplight (~> 2.2.0) + stoplight (~> 2.2.1) streamio-ffmpeg (~> 3.0) strong_migrations (~> 0.6) thor (~> 0.20) From 6bae61064bbf262d33e2830365c6ef67d7822deb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:07:33 +0900 Subject: [PATCH 033/703] Bump bootsnap from 1.4.6 to 1.4.7 (#14429) Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.4.6 to 1.4.7. - [Release notes](https://github.com/Shopify/bootsnap/releases) - [Changelog](https://github.com/Shopify/bootsnap/blob/master/CHANGELOG.md) - [Commits](https://github.com/Shopify/bootsnap/compare/v1.4.6...v1.4.7) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 61049e5624..d18d798916 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -116,7 +116,7 @@ GEM debug_inspector (>= 0.0.1) blurhash (0.1.4) ffi (~> 1.10.0) - bootsnap (1.4.6) + bootsnap (1.4.7) msgpack (~> 1.0) brakeman (4.8.2) browser (4.2.0) From f1462d493d6f2e63a2fbec1f402906b29b9eefa7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:08:34 +0900 Subject: [PATCH 034/703] Bump caniuse-lite from 1.0.30001094 to 1.0.30001107 (#14453) Bumps [caniuse-lite](https://github.com/ben-eb/caniuse-lite) from 1.0.30001094 to 1.0.30001107. - [Release notes](https://github.com/ben-eb/caniuse-lite/releases) - [Changelog](https://github.com/ben-eb/caniuse-lite/blob/master/CHANGELOG.md) - [Commits](https://github.com/ben-eb/caniuse-lite/compare/v1.0.30001094...v1.0.30001107) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index a015506e20..27a2046db4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2830,9 +2830,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061: - version "1.0.30001094" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz#0b11d02e1cdc201348dbd8e3e57bd9b6ce82b175" - integrity sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA== + version "1.0.30001107" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001107.tgz#809360df7a5b3458f627aa46b0f6ed6d5239da9a" + integrity sha512-86rCH+G8onCmdN4VZzJet5uPELII59cUzDphko3thQFgAQG1RNa+sVLDoALIhRYmflo5iSIzWY3vu1XTWtNMQQ== capture-exit@^2.0.0: version "2.0.0" From bc3cb6c989ab90fa4243e8f8e62815891b333b99 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:08:58 +0900 Subject: [PATCH 035/703] Bump electron-to-chromium from 1.3.488 to 1.3.509 (#14447) Bumps [electron-to-chromium](https://github.com/kilian/electron-to-chromium) from 1.3.488 to 1.3.509. - [Release notes](https://github.com/kilian/electron-to-chromium/releases) - [Changelog](https://github.com/Kilian/electron-to-chromium/blob/master/CHANGELOG.md) - [Commits](https://github.com/kilian/electron-to-chromium/compare/v1.3.488...v1.3.509) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 27a2046db4..97a397dcf6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3992,9 +3992,9 @@ ejs@^2.3.4, ejs@^2.6.1: integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== electron-to-chromium@^1.3.413: - version "1.3.488" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.488.tgz#9226229f5fbc825959210e81e0bb3e63035d1c06" - integrity sha512-NReBdOugu1yl8ly+0VDtiQ6Yw/1sLjnvflWq0gvY1nfUXU2PbA+1XAVuEb7ModnwL/MfUPjby7e4pAFnSHiy6Q== + version "1.3.509" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.509.tgz#830fcb89cd66dc2984d18d794973b99e3f00584c" + integrity sha512-cN4lkjNRuTG8rtAqTOVgwpecEC2kbKA04PG6YijcKGHK/kD0xLjiqExcAOmLUwtXZRF8cBeam2I0VZcih919Ug== elliptic@^6.0.0, elliptic@^6.5.2: version "6.5.3" From eccb8fd66a8f68fc5795776fba62ff6e20371de8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:17:25 +0900 Subject: [PATCH 036/703] Bump core-js from 2.6.1 to 2.6.11 (#14438) Bumps [core-js](https://github.com/zloirock/core-js) from 2.6.1 to 2.6.11. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/compare/v2.6.1...v2.6.11) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 97a397dcf6..6f3d108ac0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3279,9 +3279,9 @@ core-js-pure@^3.0.0: integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== core-js@^2.4.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.1.tgz#87416ae817de957a3f249b3b5ca475d4aaed6042" - integrity sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg== + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" From f3d19075e582c72ceb6fa5eaa9f47d7f04fa7e2b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:18:46 +0900 Subject: [PATCH 037/703] Bump is-my-json-valid from 2.20.0 to 2.20.5 (#14446) Bumps [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) from 2.20.0 to 2.20.5. - [Release notes](https://github.com/mafintosh/is-my-json-valid/releases) - [Commits](https://github.com/mafintosh/is-my-json-valid/compare/v2.20.0...v2.20.5) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6f3d108ac0..1fa8913414 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6003,9 +6003,9 @@ is-my-ip-valid@^1.0.0: integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== is-my-json-valid@^2.10.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a" - integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA== + version "2.20.5" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz#5eca6a8232a687f68869b7361be1612e7512e5df" + integrity sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A== dependencies: generate-function "^2.0.0" generate-object-property "^1.1.0" @@ -6768,9 +6768,9 @@ jsonify@~0.0.0: integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= + version "4.1.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" + integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== jsprim@^1.2.2: version "1.4.1" From be7d88f2a46ba50a1a960316f36fd200715218ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:19:02 +0900 Subject: [PATCH 038/703] Bump oj from 3.10.6 to 3.10.8 (#14428) Bumps [oj](https://github.com/ohler55/oj) from 3.10.6 to 3.10.8. - [Release notes](https://github.com/ohler55/oj/releases) - [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md) - [Commits](https://github.com/ohler55/oj/compare/v3.10.6...v3.10.8) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d18d798916..4d38fe6e19 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -383,7 +383,7 @@ GEM concurrent-ruby (~> 1.0, >= 1.0.2) sidekiq (>= 3.5) statsd-ruby (~> 1.4, >= 1.4.0) - oj (3.10.6) + oj (3.10.8) omniauth (1.9.1) hashie (>= 3.4.6) rack (>= 1.6.2, < 3) From f2c51323242cf161250829b48419176962bb050b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:19:39 +0900 Subject: [PATCH 039/703] Bump node-releases from 1.1.58 to 1.1.60 (#14426) Bumps [node-releases](https://github.com/chicoxyzzy/node-releases) from 1.1.58 to 1.1.60. - [Release notes](https://github.com/chicoxyzzy/node-releases/releases) - [Commits](https://github.com/chicoxyzzy/node-releases/compare/v1.1.58...v1.1.60) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1fa8913414..87c97b4f45 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7451,9 +7451,9 @@ node-notifier@^7.0.0: which "^2.0.2" node-releases@^1.1.53: - version "1.1.58" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935" - integrity sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg== + version "1.1.60" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" + integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" From 7ba9e81fe8a349c1745c2ba31eb918c06869bc33 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:21:31 +0900 Subject: [PATCH 040/703] Bump watchpack from 1.7.2 to 1.7.4 (#14448) Bumps [watchpack](https://github.com/webpack/watchpack) from 1.7.2 to 1.7.4. - [Release notes](https://github.com/webpack/watchpack/releases) - [Commits](https://github.com/webpack/watchpack/compare/v1.7.2...v1.7.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index 87c97b4f45..24ba3ee552 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2475,9 +2475,9 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== bindings@^1.5.0: version "1.5.0" @@ -2902,7 +2902,7 @@ check-types@^8.0.3: resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== -"chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.0: +"chokidar@>=2.0.0 <4.0.0": version "3.4.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== @@ -2936,6 +2936,21 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" + integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -7380,9 +7395,9 @@ negotiator@0.6.2: integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== next-tick@~1.0.0: version "1.0.0" @@ -11114,14 +11129,14 @@ watchpack-chokidar2@^2.0.0: chokidar "^2.1.8" watchpack@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" - integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: - chokidar "^3.4.0" + chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" wbuf@^1.1.0, wbuf@^1.7.3: From e1cbccd9e4eee46d52f9604f477f673a4893bf3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:24:09 +0900 Subject: [PATCH 041/703] Bump capistrano-rbenv from 2.1.6 to 2.2.0 (#14411) Bumps [capistrano-rbenv](https://github.com/capistrano/rbenv) from 2.1.6 to 2.2.0. - [Release notes](https://github.com/capistrano/rbenv/releases) - [Commits](https://github.com/capistrano/rbenv/compare/v2.1.6...v2.2.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 54d4af9cfc..641f3cd6eb 100644 --- a/Gemfile +++ b/Gemfile @@ -147,7 +147,7 @@ group :development do gem 'capistrano', '~> 3.14' gem 'capistrano-rails', '~> 1.5' - gem 'capistrano-rbenv', '~> 2.1' + gem 'capistrano-rbenv', '~> 2.2' gem 'capistrano-yarn', '~> 2.0' gem 'stackprof' diff --git a/Gemfile.lock b/Gemfile.lock index 4d38fe6e19..830c71944d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -138,7 +138,7 @@ GEM capistrano-rails (1.5.0) capistrano (~> 3.1) capistrano-bundler (~> 1.1) - capistrano-rbenv (2.1.6) + capistrano-rbenv (2.2.0) capistrano (~> 3.1) sshkit (~> 1.3) capistrano-yarn (2.0.2) @@ -683,7 +683,7 @@ DEPENDENCIES bundler-audit (~> 0.7) capistrano (~> 3.14) capistrano-rails (~> 1.5) - capistrano-rbenv (~> 2.1) + capistrano-rbenv (~> 2.2) capistrano-yarn (~> 2.0) capybara (~> 3.33) charlock_holmes (~> 0.7.7) From e00ecf826d3306abeda7b4fc8c8464617e9d2c61 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:24:40 +0900 Subject: [PATCH 042/703] Bump css-what from 3.2.1 to 3.3.0 (#14315) Bumps [css-what](https://github.com/fb55/css-what) from 3.2.1 to 3.3.0. - [Release notes](https://github.com/fb55/css-what/releases) - [Commits](https://github.com/fb55/css-what/compare/v3.2.1...v3.3.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 24ba3ee552..aa2a5815b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3500,9 +3500,9 @@ css-tree@1.0.0-alpha.39: source-map "^0.6.1" css-what@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" - integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== + version "3.3.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" + integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg== css.escape@^1.5.1: version "1.5.1" From ba66819e6d80eaa495e0297a656e65bf8a237ab0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:25:15 +0900 Subject: [PATCH 043/703] Bump redis-commands from 1.5.0 to 1.6.0 (#14399) Bumps [redis-commands](https://github.com/NodeRedis/redis-commands) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/NodeRedis/redis-commands/releases) - [Changelog](https://github.com/NodeRedis/redis-commands/blob/master/changelog.md) - [Commits](https://github.com/NodeRedis/redis-commands/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index aa2a5815b8..0b14d29210 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9164,9 +9164,9 @@ redent@^3.0.0: strip-indent "^3.0.0" redis-commands@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.5.0.tgz#80d2e20698fe688f227127ff9e5164a7dd17e785" - integrity sha512-6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.6.0.tgz#36d4ca42ae9ed29815cdb30ad9f97982eba1ce23" + integrity sha512-2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ== redis-errors@^1.0.0, redis-errors@^1.2.0: version "1.2.0" From c9474cb703bb02f2e93bd969427ade4152cfa530 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:26:12 +0900 Subject: [PATCH 044/703] Bump eslint-visitor-keys from 1.2.0 to 1.3.0 (#14442) Bumps [eslint-visitor-keys](https://github.com/eslint/eslint-visitor-keys) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/eslint/eslint-visitor-keys/releases) - [Changelog](https://github.com/eslint/eslint-visitor-keys/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint-visitor-keys/compare/v1.2.0...v1.3.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0b14d29210..31654bc331 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4328,9 +4328,9 @@ eslint-utils@^1.4.3: eslint-visitor-keys "^1.1.0" eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa" - integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint@^2.7.0: version "2.13.1" From 7edcf82cfa00597242c96bc9695911d749f8df92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:29:05 +0900 Subject: [PATCH 045/703] Bump jsdom from 16.2.2 to 16.3.0 (#14414) Bumps [jsdom](https://github.com/jsdom/jsdom) from 16.2.2 to 16.3.0. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/16.2.2...16.3.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index 31654bc331..f5ff263723 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1879,12 +1879,7 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== -acorn@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" - integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== - -acorn@^7.1.1: +acorn@^7.1.0, acorn@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== @@ -6666,9 +6661,9 @@ jsbn@~0.1.0: integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^16.2.2: - version "16.2.2" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b" - integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg== + version "16.3.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c" + integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg== dependencies: abab "^2.0.3" acorn "^7.1.1" @@ -6690,7 +6685,7 @@ jsdom@^16.2.2: tough-cookie "^3.0.1" w3c-hr-time "^1.0.2" w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.0.0" + webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" @@ -11151,7 +11146,7 @@ webidl-conversions@^5.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== -webidl-conversions@^6.0.0: +webidl-conversions@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== From 53be8db9a73c5ea6dbcfb30149a2749046a5e1ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:29:37 +0900 Subject: [PATCH 046/703] Bump rxjs from 6.5.5 to 6.6.0 (#14431) Bumps [rxjs](https://github.com/reactivex/rxjs) from 6.5.5 to 6.6.0. - [Release notes](https://github.com/reactivex/rxjs/releases) - [Changelog](https://github.com/ReactiveX/rxjs/blob/6.6.0/CHANGELOG.md) - [Commits](https://github.com/reactivex/rxjs/compare/6.5.5...6.6.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index f5ff263723..ae2199a44d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9559,9 +9559,9 @@ rx-lite@^3.1.2: integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= rxjs@^6.4.0: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== + version "6.6.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" + integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg== dependencies: tslib "^1.9.0" From 7647ce77f59b78bafdccefa9cd3c90a8f17da17d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:31:03 +0900 Subject: [PATCH 047/703] Bump fastimage from 2.1.7 to 2.2.0 (#14403) Bumps [fastimage](https://github.com/sdsykes/fastimage) from 2.1.7 to 2.2.0. - [Release notes](https://github.com/sdsykes/fastimage/releases) - [Commits](https://github.com/sdsykes/fastimage/compare/v2.1.7...v2.2.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 830c71944d..c7d75e5056 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -224,7 +224,7 @@ GEM faraday (1.0.1) multipart-post (>= 1.2, < 3) fast_blank (1.0.0) - fastimage (2.1.7) + fastimage (2.2.0) ffi (1.10.0) ffi-compiler (1.0.1) ffi (>= 1.0.0) From 418ac9030588fbfcd3ced6db8f5309d4cfa8400b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 03:31:33 +0900 Subject: [PATCH 048/703] Bump rubocop-ast from 0.1.0 to 0.2.0 (#14404) Bumps [rubocop-ast](https://github.com/rubocop-hq/rubocop-ast) from 0.1.0 to 0.2.0. - [Release notes](https://github.com/rubocop-hq/rubocop-ast/releases) - [Changelog](https://github.com/rubocop-hq/rubocop-ast/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop-hq/rubocop-ast/compare/v0.1.0...v0.2.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c7d75e5056..a0420fe24a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -552,7 +552,7 @@ GEM rubocop-ast (>= 0.0.3, < 1.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (0.1.0) + rubocop-ast (0.2.0) parser (>= 2.7.0.1) rubocop-rails (2.6.0) activesupport (>= 4.2.0) From 281533d5e46ee1bd0ebf1b3d71f0850dff57a74b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 05:54:31 +0900 Subject: [PATCH 049/703] Bump regenerator-transform from 0.14.4 to 0.14.5 (#14330) Bumps [regenerator-transform](https://github.com/facebook/regenerator) from 0.14.4 to 0.14.5. - [Release notes](https://github.com/facebook/regenerator/releases) - [Commits](https://github.com/facebook/regenerator/compare/regenerator-transform@0.14.4...regenerator-transform@0.14.5) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/yarn.lock b/yarn.lock index ae2199a44d..c6cde39f8e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1062,9 +1062,9 @@ regenerator-runtime "^0.12.0" "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.3.tgz#670d002655a7c366540c67f6fd3342cd09500364" - integrity sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw== + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.5.tgz#303d8bd440ecd5a491eae6117fd3367698674c5c" + integrity sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg== dependencies: regenerator-runtime "^0.13.4" @@ -8570,11 +8570,6 @@ pretty-format@^26.1.0: ansi-styles "^4.0.0" react-is "^16.12.0" -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -9226,17 +9221,16 @@ regenerator-runtime@^0.12.0: integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: "@babel/runtime" "^7.8.4" - private "^0.1.8" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" From 2a0b8898da9ab1873688be2b942150b63f5d555a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 05:55:08 +0900 Subject: [PATCH 050/703] Bump @babel/plugin-transform-runtime from 7.10.4 to 7.10.5 (#14322) Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.10.4 to 7.10.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.10.5/packages/babel-plugin-transform-runtime) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 3cece44c2f..7fee3d30c9 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-decorators": "^7.10.3", "@babel/plugin-transform-react-inline-elements": "^7.10.4", - "@babel/plugin-transform-runtime": "^7.10.4", + "@babel/plugin-transform-runtime": "^7.10.5", "@babel/preset-env": "^7.10.4", "@babel/preset-react": "^7.10.4", "@babel/runtime": "^7.8.4", diff --git a/yarn.lock b/yarn.lock index c6cde39f8e..0f669a4339 100644 --- a/yarn.lock +++ b/yarn.lock @@ -882,10 +882,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-runtime@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.4.tgz#594fb53453ea1b6f0779cceb48ce0718a447feb7" - integrity sha512-8ULlGv8p+Vuxu+kz2Y1dk6MYS2b/Dki+NO6/0ZlfSj5tMalfDL7jI/o/2a+rrWLqSXvnadEqc2WguB4gdQIxZw== +"@babel/plugin-transform-runtime@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.5.tgz#3b39b7b24830e0c2d8ff7a4489fe5cf99fbace86" + integrity sha512-tV4V/FjElJ9lQtyjr5xD2IFFbgY46r7EeVu5a8CpEKT5laheHKSlFeHjpkPppW3PqzGLAuv5k2qZX5LgVZIX5w== dependencies: "@babel/helper-module-imports" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" From 70165062185bd710a5448b236233df0b90af1721 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 05:56:27 +0900 Subject: [PATCH 051/703] Bump @babel/plugin-proposal-decorators from 7.10.3 to 7.10.5 (#14324) Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.10.3 to 7.10.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.10.5/packages/babel-plugin-proposal-decorators) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 68 +++++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index 7fee3d30c9..5fc548e05a 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "dependencies": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.10.3", + "@babel/plugin-proposal-decorators": "^7.10.5", "@babel/plugin-transform-react-inline-elements": "^7.10.4", "@babel/plugin-transform-runtime": "^7.10.5", "@babel/preset-env": "^7.10.4", diff --git a/yarn.lock b/yarn.lock index 0f669a4339..8ef776760f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -132,25 +132,13 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.3.tgz#2783daa6866822e3d5ed119163b50f0fc3ae4b35" - integrity sha512-iRT9VwqtdFmv7UheJWthGc/h2s7MqoweBF9RUj77NFZsg9VfISvBTum3k6coAhJ8RWv2tj3yUjA03HxPd0vfpQ== - dependencies: - "@babel/helper-function-name" "^7.10.3" - "@babel/helper-member-expression-to-functions" "^7.10.3" - "@babel/helper-optimise-call-expression" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - -"@babel/helper-create-class-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz#2d4015d0136bd314103a70d84a7183e4b344a355" - integrity sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ== +"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" + integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== dependencies: "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.10.5" "@babel/helper-optimise-call-expression" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-replace-supers" "^7.10.4" @@ -221,7 +209,7 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.10.1", "@babel/helper-member-expression-to-functions@^7.10.3": +"@babel/helper-member-expression-to-functions@^7.10.1": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz#bc3663ac81ac57c39148fef4c69bf48a77ba8dd6" integrity sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw== @@ -235,6 +223,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-member-expression-to-functions@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz#172f56e7a63e78112f3a04055f24365af702e7ee" + integrity sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA== + dependencies: + "@babel/types" "^7.10.5" + "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.10.1", "@babel/helper-module-imports@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" @@ -268,7 +263,7 @@ "@babel/types" "^7.10.4" lodash "^4.17.13" -"@babel/helper-optimise-call-expression@^7.10.1", "@babel/helper-optimise-call-expression@^7.10.3": +"@babel/helper-optimise-call-expression@^7.10.1": version "7.10.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz#f53c4b6783093195b0f69330439908841660c530" integrity sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg== @@ -282,7 +277,7 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.10.3", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== @@ -438,14 +433,14 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-decorators@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.3.tgz#2fc6b5696028adccfcd14bc826c184c578b857f8" - integrity sha512-Rzwn5tcYFTdWWK3IrhMZkMDjzFQLIGYqHvv9XuzNnEB91Y6gHr/JjazYV1Yec9g0yMLhy1p/21eiW1P7f5UN4A== +"@babel/plugin-proposal-decorators@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4" + integrity sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/plugin-syntax-decorators" "^7.10.1" + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.10.4" "@babel/plugin-proposal-dynamic-import@^7.10.4": version "7.10.4" @@ -541,12 +536,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-decorators@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.1.tgz#16b869c4beafc9a442565147bda7ce0967bd4f13" - integrity sha512-a9OAbQhKOwSle1Vr0NJu/ISg1sPfdEkfRKWpgPuzhnWWzForou2gIeUIIwjAMHRekhhpJ7eulZlYs0H14Cbi+g== +"@babel/plugin-syntax-decorators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c" + integrity sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" @@ -1125,6 +1120,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15" + integrity sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" From e60c157c1271a5dedcb86df05df3883971876ca9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 05:57:11 +0900 Subject: [PATCH 052/703] Bump dom-accessibility-api from 0.4.5 to 0.4.6 (#14326) Bumps [dom-accessibility-api](https://github.com/eps1lon/dom-accessibility-api) from 0.4.5 to 0.4.6. - [Release notes](https://github.com/eps1lon/dom-accessibility-api/releases) - [Changelog](https://github.com/eps1lon/dom-accessibility-api/blob/main/CHANGELOG.md) - [Commits](https://github.com/eps1lon/dom-accessibility-api/compare/v0.4.5...v0.4.6) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8ef776760f..aee6774945 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3903,9 +3903,9 @@ doctrine@^3.0.0: esutils "^2.0.2" dom-accessibility-api@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.4.5.tgz#d9c1cefa89f509d8cf132ab5d250004d755e76e3" - integrity sha512-HcPDilI95nKztbVikaN2vzwvmv0sE8Y2ZJFODy/m15n7mGXLeOKGiys9qWVbFbh+aq/KYj2lqMLybBOkYAEXqg== + version "0.4.6" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.4.6.tgz#f3f2af68aee01b1c862f37918d41841bb1aaf92a" + integrity sha512-qxFVFR/ymtfamEQT/AsYLe048sitxFCoCHiM+vuOdR3fE94i3so2SCFJxyz/RxV69PZ+9FgToYWOd7eqJqcbYw== dom-helpers@^3.2.1, dom-helpers@^3.4.0: version "3.4.0" From 76b45601c192e97b3465cb8120c28422b9858249 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 05:59:17 +0900 Subject: [PATCH 053/703] Bump sass from 1.26.8 to 1.26.10 (#14327) Bumps [sass](https://github.com/sass/dart-sass) from 1.26.8 to 1.26.10. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.26.8...1.26.10) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5fc548e05a..c1c913b211 100644 --- a/package.json +++ b/package.json @@ -151,7 +151,7 @@ "requestidlecallback": "^0.3.0", "reselect": "^4.0.0", "rimraf": "^3.0.2", - "sass": "^1.26.8", + "sass": "^1.26.10", "sass-loader": "^8.0.2", "stacktrace-js": "^2.0.2", "stringz": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index aee6774945..6406359b93 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9631,10 +9631,10 @@ sass-loader@^8.0.2: schema-utils "^2.6.1" semver "^6.3.0" -sass@^1.26.8: - version "1.26.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.8.tgz#312652530721f9568d4c4000b0db07ec6eb23325" - integrity sha512-yvtzyrKLGiXQu7H12ekXqsfoGT/aTKeMDyVzCB675k1HYuaj0py63i8Uf4SI9CHXj6apDhpfwbUr3gGOjdpu2Q== +sass@^1.26.10: + version "1.26.10" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.10.tgz#851d126021cdc93decbf201d1eca2a20ee434760" + integrity sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw== dependencies: chokidar ">=2.0.0 <4.0.0" From c7365688c051bcea5b5a8f8a2abbe6ee9b876a84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 06:00:00 +0900 Subject: [PATCH 054/703] Bump dotenv-rails from 2.7.5 to 2.7.6 (#14405) Bumps [dotenv-rails](https://github.com/bkeepers/dotenv) from 2.7.5 to 2.7.6. - [Release notes](https://github.com/bkeepers/dotenv/releases) - [Changelog](https://github.com/bkeepers/dotenv/blob/master/Changelog.md) - [Commits](https://github.com/bkeepers/dotenv/compare/v2.7.5...v2.7.6) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a0420fe24a..30f48fcf44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -197,10 +197,10 @@ GEM unf (>= 0.0.5, < 1.0.0) doorkeeper (5.4.0) railties (>= 5) - dotenv (2.7.5) - dotenv-rails (2.7.5) - dotenv (= 2.7.5) - railties (>= 3.2, < 6.1) + dotenv (2.7.6) + dotenv-rails (2.7.6) + dotenv (= 2.7.6) + railties (>= 3.2) e2mmap (0.1.0) ed25519 (1.2.4) elasticsearch (7.8.0) From 2912f01ddfc470781715b2541c5c8a48fd5ebb4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 06:56:47 +0900 Subject: [PATCH 055/703] Bump premailer from 1.11.1 to 1.12.1 (#14437) Bumps [premailer](https://github.com/premailer/premailer) from 1.11.1 to 1.12.1. - [Release notes](https://github.com/premailer/premailer/releases) - [Changelog](https://github.com/premailer/premailer/blob/master/CHANGELOG.md) - [Commits](https://github.com/premailer/premailer/compare/v1.11.1...v1.12.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 30f48fcf44..7a8ead5f70 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -418,7 +418,7 @@ GEM pghero (2.6.0) activerecord (>= 5) pkg-config (1.4.1) - premailer (1.11.1) + premailer (1.12.1) addressable css_parser (>= 1.6.0) htmlentities (>= 4.0.0) From 8cd1bcf8d4c1ed3628fc77c088083532f32244d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 06:57:34 +0900 Subject: [PATCH 056/703] Bump parallel_tests from 3.0.0 to 3.1.0 (#14406) Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from 3.0.0 to 3.1.0. - [Release notes](https://github.com/grosser/parallel_tests/releases) - [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md) - [Commits](https://github.com/grosser/parallel_tests/compare/v3.0.0...v3.1.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 641f3cd6eb..a7da5d8549 100644 --- a/Gemfile +++ b/Gemfile @@ -127,7 +127,7 @@ group :test do gem 'rspec-sidekiq', '~> 3.1' gem 'simplecov', '~> 0.18', require: false gem 'webmock', '~> 3.8' - gem 'parallel_tests', '~> 3.0' + gem 'parallel_tests', '~> 3.1' gem 'rspec_junit_formatter', '~> 0.4' end diff --git a/Gemfile.lock b/Gemfile.lock index 7a8ead5f70..87c40fd87a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -406,7 +406,7 @@ GEM av (~> 0.9.0) paperclip (>= 2.5.2) parallel (1.19.2) - parallel_tests (3.0.0) + parallel_tests (3.1.0) parallel parser (2.7.1.4) ast (~> 2.4.1) @@ -744,7 +744,7 @@ DEPENDENCIES paperclip (~> 6.0) paperclip-av-transcoder (~> 0.6) parallel (~> 1.19) - parallel_tests (~> 3.0) + parallel_tests (~> 3.1) parslet pg (~> 1.2) pghero (~> 2.6) From 29ceaac84068c85c9fe404dac921364a9d210dff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 06:58:12 +0900 Subject: [PATCH 057/703] Bump @testing-library/react from 10.4.3 to 10.4.7 (#14317) Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 10.4.3 to 10.4.7. - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/master/CHANGELOG.md) - [Commits](https://github.com/testing-library/react-testing-library/compare/v10.4.3...v10.4.7) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c1c913b211..2716bc965d 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ }, "devDependencies": { "@testing-library/jest-dom": "^5.11.0", - "@testing-library/react": "^10.4.3", + "@testing-library/react": "^10.4.7", "babel-eslint": "^10.1.0", "babel-jest": "^26.1.0", "eslint": "^6.8.0", diff --git a/yarn.lock b/yarn.lock index 6406359b93..df6f952f49 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1511,10 +1511,10 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/react@^10.4.3": - version "10.4.3" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.4.3.tgz#c6f356688cffc51f6b35385583d664bb11a161f4" - integrity sha512-A/ydYXcwAcfY7vkPrfUkUTf9HQLL3/GtixTefcu3OyGQtAYQ7XBQj1S9FWbLEhfWa0BLwFwTBFS3Ao1O0tbMJg== +"@testing-library/react@^10.4.7": + version "10.4.7" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.4.7.tgz#fc14847fb70a5e93576b8f7f0d1490ead02a9061" + integrity sha512-hUYbum3X2f1ZKusKfPaooKNYqE/GtPiQ+D2HJaJ4pkxeNJQFVUEvAvEh9+3QuLdBeTWkDMNY5NSijc5+pGdM4Q== dependencies: "@babel/runtime" "^7.10.3" "@testing-library/dom" "^7.17.1" From fecbd0eed3423e2a775a6cd47a0a8b2f45630a61 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 06:59:49 +0900 Subject: [PATCH 058/703] Bump react-textarea-autosize from 8.1.1 to 8.2.0 (#14325) Bumps [react-textarea-autosize](https://github.com/Andarist/react-textarea-autosize) from 8.1.1 to 8.2.0. - [Release notes](https://github.com/Andarist/react-textarea-autosize/releases) - [Changelog](https://github.com/Andarist/react-textarea-autosize/blob/master/CHANGELOG.md) - [Commits](https://github.com/Andarist/react-textarea-autosize/compare/v8.1.1...v8.2.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2716bc965d..a6dbd11638 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,7 @@ "react-select": "^3.1.0", "react-sparklines": "^1.7.0", "react-swipeable-views": "^0.13.9", - "react-textarea-autosize": "^8.1.1", + "react-textarea-autosize": "^8.2.0", "react-toggle": "^4.1.1", "redis": "^3.0.2", "redux": "^4.0.5", diff --git a/yarn.lock b/yarn.lock index df6f952f49..69f222cb69 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9021,10 +9021,10 @@ react-test-renderer@^16.13.1: react-is "^16.8.6" scheduler "^0.19.1" -react-textarea-autosize@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.1.1.tgz#d31dd1d04235af11161765782c70cb27c2c2832e" - integrity sha512-yJv7CbyXv8hb0xHpii9yQpMK0kwZ3A4TChRc5qGxQlHDR064oqStHbcuvexErRvJipTnDGNkcpGvE3hLnY0KAg== +react-textarea-autosize@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.2.0.tgz#fae38653f5ec172a855fd5fffb39e466d56aebdb" + integrity sha512-grajUlVbkx6VdtSxCgzloUIphIZF5bKr21OYMceWPKkniy7H0mRAT/AXPrRtObAe+zUePnNlBwUc4ivVjUGIjw== dependencies: "@babel/runtime" "^7.10.2" use-composed-ref "^1.0.0" From a148f65891ffb4ba2e802d6b10111a17e570dbb3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 07:01:59 +0900 Subject: [PATCH 059/703] Bump thwait from 0.1.0 to 0.2.0 (#14436) Bumps [thwait](https://github.com/ruby/thwait) from 0.1.0 to 0.2.0. - [Release notes](https://github.com/ruby/thwait/releases) - [Commits](https://github.com/ruby/thwait/compare/v0.1.0...v0.2.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index a7da5d8549..ef830507b6 100644 --- a/Gemfile +++ b/Gemfile @@ -11,7 +11,7 @@ gem 'sprockets', '~> 3.7.2' gem 'thor', '~> 0.20' gem 'rack', '~> 2.2.3' -gem 'thwait', '~> 0.1.0' +gem 'thwait', '~> 0.2.0' gem 'e2mmap', '~> 0.1.0' gem 'hamlit-rails', '~> 0.2' diff --git a/Gemfile.lock b/Gemfile.lock index 87c40fd87a..fe557c7386 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -619,7 +619,8 @@ GEM climate_control (>= 0.0.3, < 1.0) thor (0.20.3) thread_safe (0.3.6) - thwait (0.1.0) + thwait (0.2.0) + e2mmap tilt (2.0.10) tty-color (0.5.1) tty-cursor (0.7.1) @@ -789,7 +790,7 @@ DEPENDENCIES streamio-ffmpeg (~> 3.0) strong_migrations (~> 0.6) thor (~> 0.20) - thwait (~> 0.1.0) + thwait (~> 0.2.0) tty-prompt (~> 0.21) twitter-text (~> 1.14) tzinfo-data (~> 1.2020) From b4ae532ceea103532e00fbac82f944ae75d20dc7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 07:11:26 +0900 Subject: [PATCH 060/703] Bump eslint-plugin-import from 2.21.2 to 2.22.0 (#14329) Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.21.2 to 2.22.0. - [Release notes](https://github.com/benmosher/eslint-plugin-import/releases) - [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md) - [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.21.2...v2.22.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a6dbd11638..d2116d9741 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "babel-eslint": "^10.1.0", "babel-jest": "^26.1.0", "eslint": "^6.8.0", - "eslint-plugin-import": "~2.21.2", + "eslint-plugin-import": "~2.22.0", "eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-promise": "~4.2.1", "eslint-plugin-react": "~7.20.4", diff --git a/yarn.lock b/yarn.lock index 69f222cb69..44cfb648f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4245,10 +4245,10 @@ eslint-module-utils@^2.6.0: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-import@~2.21.2: - version "2.21.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz#8fef77475cc5510801bedc95f84b932f7f334a7c" - integrity sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA== +eslint-plugin-import@~2.22.0: + version "2.22.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e" + integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg== dependencies: array-includes "^3.1.1" array.prototype.flat "^1.2.3" From 3baea001e131abb915906b76f7bf4e189978369d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 10:12:55 +0900 Subject: [PATCH 061/703] Bump autoprefixer from 9.8.0 to 9.8.5 (#14434) Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.0 to 9.8.5. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/9.8.0...9.8.5) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index d2116d9741..ae531f642d 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "@rails/ujs": "^6.0.3", "array-includes": "^3.1.1", "arrow-key-navigation": "^1.2.0", - "autoprefixer": "^9.8.0", + "autoprefixer": "^9.8.5", "axios": "^0.19.2", "babel-loader": "^8.1.0", "babel-plugin-lodash": "^3.3.4", diff --git a/yarn.lock b/yarn.lock index 44cfb648f0..2bcd265d0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2199,17 +2199,17 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^9.8.0: - version "9.8.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.0.tgz#68e2d2bef7ba4c3a65436f662d0a56a741e56511" - integrity sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A== +autoprefixer@^9.8.5: + version "9.8.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.5.tgz#2c225de229ddafe1d1424c02791d0c3e10ccccaa" + integrity sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg== dependencies: browserslist "^4.12.0" - caniuse-lite "^1.0.30001061" - chalk "^2.4.2" + caniuse-lite "^1.0.30001097" + colorette "^1.2.0" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.30" + postcss "^7.0.32" postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: @@ -2828,7 +2828,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001097: version "1.0.30001107" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001107.tgz#809360df7a5b3458f627aa46b0f6ed6d5239da9a" integrity sha512-86rCH+G8onCmdN4VZzJet5uPELII59cUzDphko3thQFgAQG1RNa+sVLDoALIhRYmflo5iSIzWY3vu1XTWtNMQQ== @@ -3123,6 +3123,11 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" +colorette@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -8513,7 +8518,7 @@ postcss@^5.0.16: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.30, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== From 2f9cca4c557725d6ac204f6cc96366b744bd56fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 10:13:49 +0900 Subject: [PATCH 062/703] Bump enhanced-resolve from 4.2.0 to 4.3.0 (#14319) Bumps [enhanced-resolve](https://github.com/webpack/enhanced-resolve) from 4.2.0 to 4.3.0. - [Release notes](https://github.com/webpack/enhanced-resolve/releases) - [Commits](https://github.com/webpack/enhanced-resolve/compare/v4.2.0...v4.3.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2bcd265d0a..2fb6a5cc07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4070,9 +4070,9 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: once "^1.4.0" enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d" - integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" From db14e1674a4d705508222b2454ab577044c7ce30 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 10:14:28 +0900 Subject: [PATCH 063/703] Bump yargs from 15.4.0 to 15.4.1 (#14333) Bumps [yargs](https://github.com/yargs/yargs) from 15.4.0 to 15.4.1. - [Release notes](https://github.com/yargs/yargs/releases) - [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/yargs/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 32 +++++--------------------------- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index ae531f642d..9cd26a79b1 100644 --- a/package.json +++ b/package.json @@ -184,7 +184,7 @@ "react-test-renderer": "^16.13.1", "sass-lint": "^1.13.1", "webpack-dev-server": "^3.11.0", - "yargs": "^15.4.0" + "yargs": "^15.4.1" }, "resolutions": { "kind-of": "^6.0.3" diff --git a/yarn.lock b/yarn.lock index 2fb6a5cc07..e0b3d88fda 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1041,14 +1041,6 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime-corejs3@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz#f29fc1990307c4c57b10dbd6ce667b27159d9e0d" - integrity sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw== - dependencies: - core-js-pure "^3.0.0" - regenerator-runtime "^0.13.4" - "@babel/runtime@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" @@ -3692,13 +3684,6 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decamelize@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-3.2.0.tgz#84b8e8f4f8c579f938e35e2cc7024907e0090851" - integrity sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw== - dependencies: - xregexp "^4.2.4" - decimal.js@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" @@ -11459,13 +11444,6 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xregexp@^4.2.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" - integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== - dependencies: - "@babel/runtime-corejs3" "^7.8.3" - xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -11523,13 +11501,13 @@ yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@^15.3.1, yargs@^15.4.0: - version "15.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.0.tgz#53949fb768309bac1843de9b17b80051e9805ec2" - integrity sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw== +yargs@^15.3.1, yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" - decamelize "^3.2.0" + decamelize "^1.2.0" find-up "^4.1.0" get-caller-file "^2.0.1" require-directory "^2.1.1" From 7e37ea93d508d9074253a08f77fb23528182a839 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 10:18:02 +0900 Subject: [PATCH 064/703] Bump multi_json from 1.14.1 to 1.15.0 (#14400) Bumps [multi_json](https://github.com/intridea/multi_json) from 1.14.1 to 1.15.0. - [Release notes](https://github.com/intridea/multi_json/releases) - [Changelog](https://github.com/intridea/multi_json/blob/master/CHANGELOG.md) - [Commits](https://github.com/intridea/multi_json/compare/v1.14.1...v1.15.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index fe557c7386..69a31dc6ce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -366,7 +366,7 @@ GEM mini_portile2 (2.4.0) minitest (5.14.1) msgpack (1.3.3) - multi_json (1.14.1) + multi_json (1.15.0) multipart-post (2.1.1) necromancer (0.5.1) net-ldap (0.16.2) From 10a48924813deccd5b417cef008be31337642aef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 12:24:53 +0900 Subject: [PATCH 065/703] Bump capistrano-rails from 1.5.0 to 1.6.1 (#14415) Bumps [capistrano-rails](https://github.com/capistrano/rails) from 1.5.0 to 1.6.1. - [Release notes](https://github.com/capistrano/rails/releases) - [Commits](https://github.com/capistrano/rails/compare/v1.5.0...v1.6.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index ef830507b6..fe1608b642 100644 --- a/Gemfile +++ b/Gemfile @@ -146,7 +146,7 @@ group :development do gem 'bundler-audit', '~> 0.7', require: false gem 'capistrano', '~> 3.14' - gem 'capistrano-rails', '~> 1.5' + gem 'capistrano-rails', '~> 1.6' gem 'capistrano-rbenv', '~> 2.2' gem 'capistrano-yarn', '~> 2.0' diff --git a/Gemfile.lock b/Gemfile.lock index 69a31dc6ce..7b27a2afdf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,11 +133,11 @@ GEM i18n rake (>= 10.0.0) sshkit (>= 1.9.0) - capistrano-bundler (1.6.0) + capistrano-bundler (2.0.1) capistrano (~> 3.1) - capistrano-rails (1.5.0) + capistrano-rails (1.6.1) capistrano (~> 3.1) - capistrano-bundler (~> 1.1) + capistrano-bundler (>= 1.1, < 3) capistrano-rbenv (2.2.0) capistrano (~> 3.1) sshkit (~> 1.3) @@ -683,7 +683,7 @@ DEPENDENCIES bullet (~> 6.1) bundler-audit (~> 0.7) capistrano (~> 3.14) - capistrano-rails (~> 1.5) + capistrano-rails (~> 1.6) capistrano-rbenv (~> 2.2) capistrano-yarn (~> 2.0) capybara (~> 3.33) From 244592ba4d18505bf335fd7390b91135118a74d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2020 13:43:18 +0900 Subject: [PATCH 066/703] Bump @babel/core from 7.10.3 to 7.10.5 (#14334) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.3 to 7.10.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.10.5/packages/babel-core) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 239 ++++++++------------------------------------------- 2 files changed, 36 insertions(+), 205 deletions(-) diff --git a/package.json b/package.json index 9cd26a79b1..e9b2b3527a 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ }, "private": true, "dependencies": { - "@babel/core": "^7.10.3", + "@babel/core": "^7.10.5", "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-decorators": "^7.10.5", "@babel/plugin-transform-react-inline-elements": "^7.10.4", diff --git a/yarn.lock b/yarn.lock index e0b3d88fda..df653744a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,13 +9,6 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.3.tgz#324bcfd8d35cd3d47dae18cde63d752086435e9a" - integrity sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg== - dependencies: - "@babel/highlight" "^7.10.3" - "@babel/compat-data@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.4.tgz#706a6484ee6f910b719b696a9194f8da7d7ac241" @@ -25,68 +18,35 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.4.tgz#780e8b83e496152f8dd7df63892b2e052bf1d51d" - integrity sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA== +"@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.7.2", "@babel/core@^7.7.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.5.tgz#1f15e2cca8ad9a1d78a38ddba612f5e7cdbbd330" + integrity sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.4" + "@babel/generator" "^7.10.5" + "@babel/helper-module-transforms" "^7.10.5" "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.10.4" + "@babel/parser" "^7.10.5" "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/traverse" "^7.10.5" + "@babel/types" "^7.10.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" - lodash "^4.17.13" + lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.10.3", "@babel/core@^7.7.2": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.3.tgz#73b0e8ddeec1e3fdd7a2de587a60e17c440ec77e" - integrity sha512-5YqWxYE3pyhIi84L84YcwjeEgS+fa7ZjK6IBVGTjDVfm64njkR2lfDhVR5OudLk8x2GK59YoSyVv+L/03k1q9w== +"@babel/generator@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.5.tgz#1b903554bc8c583ee8d25f1e8969732e6b829a69" + integrity sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig== dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/generator" "^7.10.3" - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helpers" "^7.10.1" - "@babel/parser" "^7.10.3" - "@babel/template" "^7.10.3" - "@babel/traverse" "^7.10.3" - "@babel/types" "^7.10.3" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.3.tgz#32b9a0d963a71d7a54f5f6c15659c3dbc2a523a5" - integrity sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA== - dependencies: - "@babel/types" "^7.10.3" + "@babel/types" "^7.10.5" jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.4.tgz#e49eeed9fe114b62fa5b181856a43a5e32f5f243" - integrity sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng== - dependencies: - "@babel/types" "^7.10.4" - jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" "@babel/helper-annotate-as-pure@^7.10.4": @@ -170,15 +130,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-function-name@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz#79316cd75a9fa25ba9787ff54544307ed444f197" - integrity sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw== - dependencies: - "@babel/helper-get-function-arity" "^7.10.3" - "@babel/template" "^7.10.3" - "@babel/types" "^7.10.3" - "@babel/helper-function-name@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" @@ -188,13 +139,6 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-get-function-arity@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz#3a28f7b28ccc7719eacd9223b659fdf162e4c45e" - integrity sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg== - dependencies: - "@babel/types" "^7.10.3" - "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" @@ -209,13 +153,6 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.10.1": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz#bc3663ac81ac57c39148fef4c69bf48a77ba8dd6" - integrity sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw== - dependencies: - "@babel/types" "^7.10.3" - "@babel/helper-member-expression-to-functions@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4" @@ -230,45 +167,25 @@ dependencies: "@babel/types" "^7.10.5" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.10.1", "@babel/helper-module-imports@^7.10.4": +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== dependencies: "@babel/types" "^7.10.4" -"@babel/helper-module-transforms@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz#24e2f08ee6832c60b157bb0936c86bef7210c622" - integrity sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg== - dependencies: - "@babel/helper-module-imports" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-simple-access" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - lodash "^4.17.13" - -"@babel/helper-module-transforms@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz#ca1f01fdb84e48c24d7506bb818c961f1da8805d" - integrity sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q== +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz#120c271c0b3353673fcdfd8c053db3c544a260d6" + integrity sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA== dependencies: "@babel/helper-module-imports" "^7.10.4" "@babel/helper-replace-supers" "^7.10.4" "@babel/helper-simple-access" "^7.10.4" "@babel/helper-split-export-declaration" "^7.10.4" "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.10.1": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz#f53c4b6783093195b0f69330439908841660c530" - integrity sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg== - dependencies: - "@babel/types" "^7.10.3" + "@babel/types" "^7.10.5" + lodash "^4.17.19" "@babel/helper-optimise-call-expression@^7.10.4": version "7.10.4" @@ -300,16 +217,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-replace-supers@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" - integrity sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.1" - "@babel/helper-optimise-call-expression" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - "@babel/helper-replace-supers@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" @@ -320,14 +227,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-simple-access@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz#08fb7e22ace9eb8326f7e3920a1c2052f13d851e" - integrity sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - "@babel/helper-simple-access@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" @@ -336,13 +235,6 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-split-export-declaration@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz#c6f4be1cbc15e3a868e4c64a17d5d31d754da35f" - integrity sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g== - dependencies: - "@babel/types" "^7.10.1" - "@babel/helper-split-export-declaration@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" @@ -350,11 +242,6 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-validator-identifier@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz#60d9847f98c4cea1b279e005fdb7c28be5412d15" - integrity sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw== - "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" @@ -370,15 +257,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" - integrity sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - "@babel/helpers@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" @@ -388,15 +266,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/highlight@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.3.tgz#c633bb34adf07c5c13156692f5922c81ec53f28d" - integrity sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw== - dependencies: - "@babel/helper-validator-identifier" "^7.10.3" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@babel/highlight@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" @@ -406,15 +275,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.4.tgz#9eedf27e1998d87739fb5028a5120557c06a1a64" - integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA== - -"@babel/parser@^7.10.3", "@babel/parser@^7.7.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.3.tgz#7e71d892b0d6e7d04a1af4c3c79d72c1f10f5315" - integrity sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA== +"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.7.0": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.5.tgz#e7c6bf5a7deff957cec9f04b551e2762909d826b" + integrity sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ== "@babel/plugin-proposal-async-generator-functions@^7.10.4": version "7.10.4" @@ -1055,15 +919,6 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.1", "@babel/template@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.3.tgz#4d13bc8e30bf95b0ce9d175d30306f42a2c9a7b8" - integrity sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA== - dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/parser" "^7.10.3" - "@babel/types" "^7.10.3" - "@babel/template@^7.10.4", "@babel/template@^7.3.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" @@ -1073,46 +928,22 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.4.tgz#e642e5395a3b09cc95c8e74a27432b484b697818" - integrity sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.7.0": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.5.tgz#77ce464f5b258be265af618d8fddf0536f20b564" + integrity sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.4" + "@babel/generator" "^7.10.5" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/parser" "^7.10.5" + "@babel/types" "^7.10.5" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" + lodash "^4.17.19" -"@babel/traverse@^7.10.1", "@babel/traverse@^7.10.3", "@babel/traverse@^7.7.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.3.tgz#0b01731794aa7b77b214bcd96661f18281155d7e" - integrity sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug== - dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/generator" "^7.10.3" - "@babel/helper-function-name" "^7.10.3" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/parser" "^7.10.3" - "@babel/types" "^7.10.3" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.1", "@babel/types@^7.10.3", "@babel/types@^7.10.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.4.tgz#369517188352e18219981efd156bfdb199fff1ee" - integrity sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.10.5": +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15" integrity sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q== From 941c182968f176e7e4f67f92f608709557f2d762 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 00:50:24 +0900 Subject: [PATCH 067/703] Bump webpack from 4.43.0 to 4.44.0 (#14435) Bumps [webpack](https://github.com/webpack/webpack) from 4.43.0 to 4.44.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v4.43.0...v4.44.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 28 +++++++++------------------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index e9b2b3527a..d6bd24c042 100644 --- a/package.json +++ b/package.json @@ -161,7 +161,7 @@ "throng": "^4.0.0", "tiny-queue": "^0.2.1", "uuid": "^8.2.0", - "webpack": "^4.43.0", + "webpack": "^4.44.0", "webpack-assets-manifest": "^3.1.1", "webpack-bundle-analyzer": "^3.8.0", "webpack-cli": "^3.3.12", diff --git a/yarn.lock b/yarn.lock index df653744a7..aa783d230f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1742,17 +1742,7 @@ ajv@^4.7.0: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.9.1: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.5.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5, ajv@^6.9.1: version "6.12.3" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== @@ -3885,7 +3875,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: +enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== @@ -10942,7 +10932,7 @@ watchpack-chokidar2@^2.0.0: dependencies: chokidar "^2.1.8" -watchpack@^1.6.1: +watchpack@^1.7.4: version "1.7.4" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== @@ -11092,10 +11082,10 @@ webpack-sources@^1.0.0, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.43.0: - version "4.43.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" - integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== +webpack@^4.44.0: + version "4.44.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.0.tgz#3b08f88a89470175f036f4a9496b8a0428668802" + integrity sha512-wAuJxK123sqAw31SpkPiPW3iKHgFUiKvO7E7UZjtdExcsRe3fgav4mvoMM7vvpjLHVoJ6a0Mtp2fzkoA13e0Zw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" @@ -11105,7 +11095,7 @@ webpack@^4.43.0: ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" + enhanced-resolve "^4.3.0" eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" loader-runner "^2.4.0" @@ -11118,7 +11108,7 @@ webpack@^4.43.0: schema-utils "^1.0.0" tapable "^1.1.3" terser-webpack-plugin "^1.4.3" - watchpack "^1.6.1" + watchpack "^1.7.4" webpack-sources "^1.4.1" websocket-driver@0.6.5: From 93c3d04254338c66266c91b1221e85b6e4f2ef94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 00:51:15 +0900 Subject: [PATCH 068/703] Bump tty-prompt from 0.21.0 to 0.22.0 (#14430) Bumps [tty-prompt](https://github.com/piotrmurach/tty-prompt) from 0.21.0 to 0.22.0. - [Release notes](https://github.com/piotrmurach/tty-prompt/releases) - [Changelog](https://github.com/piotrmurach/tty-prompt/blob/master/CHANGELOG.md) - [Commits](https://github.com/piotrmurach/tty-prompt/compare/v0.21.0...v0.22.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 20 ++++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index fe1608b642..cacab160ba 100644 --- a/Gemfile +++ b/Gemfile @@ -95,7 +95,7 @@ gem 'simple_form', '~> 5.0' gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie' gem 'stoplight', '~> 2.2.1' gem 'strong_migrations', '~> 0.6' -gem 'tty-prompt', '~> 0.21', require: false +gem 'tty-prompt', '~> 0.22', require: false gem 'twitter-text', '~> 1.14' gem 'tzinfo-data', '~> 1.2020' gem 'webpacker', '~> 5.1' diff --git a/Gemfile.lock b/Gemfile.lock index 7b27a2afdf..cbbd1d6579 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -213,7 +213,6 @@ GEM faraday (~> 1) multi_json encryptor (3.0.0) - equatable (0.6.1) erubi (1.9.0) et-orbi (1.2.4) tzinfo @@ -368,7 +367,6 @@ GEM msgpack (1.3.3) multi_json (1.15.0) multipart-post (2.1.1) - necromancer (0.5.1) net-ldap (0.16.2) net-scp (3.0.0) net-ssh (>= 2.6.5, < 7.0.0) @@ -411,8 +409,7 @@ GEM parser (2.7.1.4) ast (~> 2.4.1) parslet (2.0.0) - pastel (0.7.4) - equatable (~> 0.6) + pastel (0.8.0) tty-color (~> 0.5) pg (1.2.3) pghero (2.6.0) @@ -624,14 +621,13 @@ GEM tilt (2.0.10) tty-color (0.5.1) tty-cursor (0.7.1) - tty-prompt (0.21.0) - necromancer (~> 0.5.0) - pastel (~> 0.7.0) - tty-reader (~> 0.7.0) - tty-reader (0.7.0) + tty-prompt (0.22.0) + pastel (~> 0.8) + tty-reader (~> 0.8) + tty-reader (0.8.0) tty-cursor (~> 0.7) - tty-screen (~> 0.7) - wisper (~> 2.0.0) + tty-screen (~> 0.8) + wisper (~> 2.0) tty-screen (0.8.1) twitter-text (1.14.7) unf (~> 0.1.0) @@ -791,7 +787,7 @@ DEPENDENCIES strong_migrations (~> 0.6) thor (~> 0.20) thwait (~> 0.2.0) - tty-prompt (~> 0.21) + tty-prompt (~> 0.22) twitter-text (~> 1.14) tzinfo-data (~> 1.2020) webmock (~> 3.8) From c8e82ca1c862a0f6058823fd142090dca90778e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 00:51:49 +0900 Subject: [PATCH 069/703] Bump browserslist from 4.12.0 to 4.13.0 (#14409) Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.12.0 to 4.13.0. - [Release notes](https://github.com/browserslist/browserslist/releases) - [Changelog](https://github.com/browserslist/browserslist/blob/master/CHANGELOG.md) - [Commits](https://github.com/browserslist/browserslist/compare/4.12.0...4.13.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/yarn.lock b/yarn.lock index aa783d230f..fbc81b2559 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2466,14 +2466,14 @@ browserify-zlib@^0.2.0: pako "~1.0.5" browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: - version "4.12.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" - integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== + version "4.13.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" + integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ== dependencies: - caniuse-lite "^1.0.30001043" - electron-to-chromium "^1.3.413" - node-releases "^1.1.53" - pkg-up "^2.0.0" + caniuse-lite "^1.0.30001093" + electron-to-chromium "^1.3.488" + escalade "^3.0.1" + node-releases "^1.1.58" bser@2.1.1: version "2.1.1" @@ -2641,7 +2641,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001097: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097: version "1.0.30001107" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001107.tgz#809360df7a5b3458f627aa46b0f6ed6d5239da9a" integrity sha512-86rCH+G8onCmdN4VZzJet5uPELII59cUzDphko3thQFgAQG1RNa+sVLDoALIhRYmflo5iSIzWY3vu1XTWtNMQQ== @@ -3816,7 +3816,7 @@ ejs@^2.3.4, ejs@^2.6.1: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== -electron-to-chromium@^1.3.413: +electron-to-chromium@^1.3.488: version "1.3.509" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.509.tgz#830fcb89cd66dc2984d18d794973b99e3f00584c" integrity sha512-cN4lkjNRuTG8rtAqTOVgwpecEC2kbKA04PG6YijcKGHK/kD0xLjiqExcAOmLUwtXZRF8cBeam2I0VZcih919Ug== @@ -4003,6 +4003,11 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +escalade@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" + integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== + escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -7275,7 +7280,7 @@ node-notifier@^7.0.0: uuid "^7.0.3" which "^2.0.2" -node-releases@^1.1.53: +node-releases@^1.1.58: version "1.1.60" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== @@ -7953,13 +7958,6 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - pluralize@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" From 87a058c8e086a072b00ba568a714516ecc561a0e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 00:54:00 +0900 Subject: [PATCH 070/703] Bump sidekiq from 6.1.0 to 6.1.1 (#14427) Bumps [sidekiq](https://github.com/mperham/sidekiq) from 6.1.0 to 6.1.1. - [Release notes](https://github.com/mperham/sidekiq/releases) - [Changelog](https://github.com/mperham/sidekiq/blob/master/Changes.md) - [Commits](https://github.com/mperham/sidekiq/compare/v6.1.0...v6.1.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index cacab160ba..d7aad24f54 100644 --- a/Gemfile +++ b/Gemfile @@ -86,7 +86,7 @@ gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' gem 'rqrcode', '~> 1.1' gem 'ruby-progressbar', '~> 1.10' gem 'sanitize', '~> 5.2' -gem 'sidekiq', '~> 6.0' +gem 'sidekiq', '~> 6.1' gem 'sidekiq-scheduler', '~> 3.0' gem 'sidekiq-unique-jobs', '~> 6.0' gem 'sidekiq-bulk', '~>0.2.0' diff --git a/Gemfile.lock b/Gemfile.lock index cbbd1d6579..e42fdf7be4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -566,7 +566,7 @@ GEM nokogiri (>= 1.8.0) nokogumbo (~> 2.0) semantic_range (2.3.0) - sidekiq (6.1.0) + sidekiq (6.1.1) connection_pool (>= 2.2.2) rack (~> 2.0) redis (>= 4.2.0) @@ -772,7 +772,7 @@ DEPENDENCIES rubocop-rails (~> 2.6) ruby-progressbar (~> 1.10) sanitize (~> 5.2) - sidekiq (~> 6.0) + sidekiq (~> 6.1) sidekiq-bulk (~> 0.2.0) sidekiq-scheduler (~> 3.0) sidekiq-unique-jobs (~> 6.0) From 3f94572a882286c79e36f1e4f32500ac9d461359 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 00:59:29 +0900 Subject: [PATCH 071/703] Bump posix-spawn from 58465d2e213991f8afb13b984854a49fcdcc980c to 0.3.15 (#14433) Bumps [posix-spawn](https://github.com/rtomayko/posix-spawn) from 58465d2e213991f8afb13b984854a49fcdcc980c to 0.3.15. This release includes the previously tagged commit. - [Release notes](https://github.com/rtomayko/posix-spawn/releases) - [Commits](https://github.com/rtomayko/posix-spawn/compare/58465d2e213991f8afb13b984854a49fcdcc980c...v0.3.15) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/Gemfile b/Gemfile index d7aad24f54..399daf88dc 100644 --- a/Gemfile +++ b/Gemfile @@ -74,7 +74,7 @@ gem 'oj', '~> 3.10' gem 'ox', '~> 2.13' gem 'parslet' gem 'parallel', '~> 1.19' -gem 'posix-spawn', git: 'https://github.com/rtomayko/posix-spawn', ref: '58465d2e213991f8afb13b984854a49fcdcc980c' +gem 'posix-spawn' gem 'pundit', '~> 2.1' gem 'premailer-rails' gem 'rack-attack', '~> 6.3' diff --git a/Gemfile.lock b/Gemfile.lock index e42fdf7be4..84cf7df0a8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -6,13 +6,6 @@ GIT health_check (4.0.0.pre) rails (>= 4.0) -GIT - remote: https://github.com/rtomayko/posix-spawn - revision: 58465d2e213991f8afb13b984854a49fcdcc980c - ref: 58465d2e213991f8afb13b984854a49fcdcc980c - specs: - posix-spawn (0.3.13) - GIT remote: https://github.com/tmm1/http_parser.rb revision: 54b17ba8c7d8d20a16dfc65d1775241833219cf2 @@ -415,6 +408,7 @@ GEM pghero (2.6.0) activerecord (>= 5) pkg-config (1.4.1) + posix-spawn (0.3.15) premailer (1.12.1) addressable css_parser (>= 1.6.0) @@ -746,7 +740,7 @@ DEPENDENCIES pg (~> 1.2) pghero (~> 2.6) pkg-config (~> 1.4) - posix-spawn! + posix-spawn premailer-rails private_address_check (~> 0.5) pry-byebug (~> 3.9) From 4f2b06b6b5bbd4e3240315bac9e8d266f50459e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 02:18:59 +0900 Subject: [PATCH 072/703] Bump strong_migrations from 0.6.8 to 0.7.1 (#14463) Bumps [strong_migrations](https://github.com/ankane/strong_migrations) from 0.6.8 to 0.7.1. - [Release notes](https://github.com/ankane/strong_migrations/releases) - [Changelog](https://github.com/ankane/strong_migrations/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/strong_migrations/compare/v0.6.8...v0.7.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 399daf88dc..e632c80f54 100644 --- a/Gemfile +++ b/Gemfile @@ -94,7 +94,7 @@ gem 'simple-navigation', '~> 4.1' gem 'simple_form', '~> 5.0' gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie' gem 'stoplight', '~> 2.2.1' -gem 'strong_migrations', '~> 0.6' +gem 'strong_migrations', '~> 0.7' gem 'tty-prompt', '~> 0.22', require: false gem 'twitter-text', '~> 1.14' gem 'tzinfo-data', '~> 1.2020' diff --git a/Gemfile.lock b/Gemfile.lock index 84cf7df0a8..0fe84f21e9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -601,7 +601,7 @@ GEM stoplight (2.2.1) streamio-ffmpeg (3.0.2) multi_json (~> 1.8) - strong_migrations (0.6.8) + strong_migrations (0.7.1) activerecord (>= 5) temple (0.8.2) terminal-table (1.8.0) @@ -778,7 +778,7 @@ DEPENDENCIES stackprof stoplight (~> 2.2.1) streamio-ffmpeg (~> 3.0) - strong_migrations (~> 0.6) + strong_migrations (~> 0.7) thor (~> 0.20) thwait (~> 0.2.0) tty-prompt (~> 0.22) From 7286d5ea48233bd20c3afbdee4cd416e6d34bb80 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2020 04:52:35 +0900 Subject: [PATCH 073/703] Bump eslint from 6.8.0 to 7.5.0 (#14454) * Bump eslint from 6.8.0 to 7.5.0 Bumps [eslint](https://github.com/eslint/eslint) from 6.8.0 to 7.5.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v6.8.0...v7.5.0) Signed-off-by: dependabot[bot] * Fix .codeclimate.yml Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yamagishi Kazutoshi --- .codeclimate.yml | 2 +- package.json | 2 +- yarn.lock | 260 +++++++++++++++++++---------------------------- 3 files changed, 104 insertions(+), 160 deletions(-) diff --git a/.codeclimate.yml b/.codeclimate.yml index d8d5c0ac79..b4ec9400e9 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -27,7 +27,7 @@ plugins: enabled: true eslint: enabled: true - channel: eslint-6 + channel: eslint-7 rubocop: enabled: true channel: rubocop-0-82 diff --git a/package.json b/package.json index d6bd24c042..b2d27b5670 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ "@testing-library/react": "^10.4.7", "babel-eslint": "^10.1.0", "babel-jest": "^26.1.0", - "eslint": "^6.8.0", + "eslint": "^7.5.0", "eslint-plugin-import": "~2.22.0", "eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-promise": "~4.2.1", diff --git a/yarn.lock b/yarn.lock index fbc81b2559..d8685a5097 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1681,10 +1681,10 @@ acorn-jsx@^3.0.0: dependencies: acorn "^3.0.4" -acorn-jsx@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== acorn-walk@^7.1.1: version "7.2.0" @@ -1706,7 +1706,7 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== -acorn@^7.1.0, acorn@^7.1.1: +acorn@^7.1.1, acorn@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== @@ -1762,6 +1762,11 @@ ansi-colors@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -2669,7 +2674,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0, chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2699,11 +2704,6 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - check-types@^7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" @@ -2825,13 +2825,6 @@ cli-cursor@^1.0.1: dependencies: restore-cursor "^1.0.1" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - cli-width@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" @@ -3190,7 +3183,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.1: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -3532,7 +3525,7 @@ deep-extend@^0.5.1: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f" integrity sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w== -deep-is@~0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= @@ -3884,6 +3877,13 @@ enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: memory-fs "^0.5.0" tapable "^1.0.0" +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + entities@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" @@ -4127,22 +4127,22 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== +eslint-scope@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== @@ -4186,22 +4186,23 @@ eslint@^2.7.0: text-table "~0.2.0" user-home "^2.0.0" -eslint@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== +eslint@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135" + integrity sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" + chalk "^4.0.0" + cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" + enquirer "^2.3.5" + eslint-scope "^5.1.0" + eslint-utils "^2.1.0" + eslint-visitor-keys "^1.3.0" + espree "^7.2.0" + esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" @@ -4210,21 +4211,19 @@ eslint@^6.8.0: ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^7.0.0" is-glob "^4.0.0" js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" + levn "^0.4.1" + lodash "^4.17.19" minimatch "^3.0.4" - mkdirp "^0.5.1" natural-compare "^1.4.0" - optionator "^0.8.3" + optionator "^0.9.1" progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" table "^5.2.3" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -4237,21 +4236,21 @@ espree@^3.1.6: acorn "^5.5.0" acorn-jsx "^3.0.0" -espree@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" - integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== +espree@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" + integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== dependencies: - acorn "^7.1.0" - acorn-jsx "^5.1.0" - eslint-visitor-keys "^1.1.0" + acorn "^7.3.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.3.0" esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.1: +esquery@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== @@ -4461,15 +4460,6 @@ extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -4516,7 +4506,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -4562,13 +4552,6 @@ figures@^1.3.5: escape-string-regexp "^1.0.5" object-assign "^4.1.0" -figures@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" - integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^1.1.1: version "1.3.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8" @@ -5366,7 +5349,7 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5536,25 +5519,6 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" - integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^4.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -5903,11 +5867,6 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-promise@^2.1.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - is-property@^1.0.0, is-property@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -6459,7 +6418,7 @@ js-string-escape@1.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: +js-yaml@^3.13.1, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4: version "3.14.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== @@ -6467,14 +6426,6 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -6682,6 +6633,14 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -7172,11 +7131,6 @@ mute-stream@0.0.5: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - nan@^2.12.1: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" @@ -7545,7 +7499,7 @@ opn@^5.5.0: dependencies: is-wsl "^1.1.0" -optionator@^0.8.1, optionator@^0.8.3: +optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -7557,6 +7511,18 @@ optionator@^0.8.1, optionator@^0.8.3: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -7574,11 +7540,6 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - p-each-series@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" @@ -8353,6 +8314,11 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -9061,10 +9027,10 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== +regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== regexpu-core@^4.7.0: version "4.7.0" @@ -9267,14 +9233,6 @@ restore-cursor@^1.0.1: exit-hook "^1.0.0" onetime "^1.0.0" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -9341,13 +9299,6 @@ run-async@^0.1.0: dependencies: once "^1.3.0" -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" @@ -9365,13 +9316,6 @@ rx-lite@^3.1.2: resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= -rxjs@^6.4.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" - integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg== - dependencies: - tslib "^1.9.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -9520,7 +9464,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^6.0.0, semver@^6.1.2, semver@^6.3.0: +semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -10171,10 +10115,10 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== +strip-json-comments@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~1.0.1: version "1.0.4" @@ -10457,13 +10401,6 @@ tiny-warning@^1.0.0: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -10582,6 +10519,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -11182,7 +11126,7 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -word-wrap@~1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== From bfd5aea20686559f030ca0f2538bebc1943b398b Mon Sep 17 00:00:00 2001 From: ThibG Date: Sat, 1 Aug 2020 18:20:37 +0200 Subject: [PATCH 074/703] Fix handling of Reject Follow when a matching follow relationship exists (#14479) * Add tests * Fix handling of Reject Follow when a matching follow relationship exists Regression from #12199 --- app/lib/activitypub/activity/reject.rb | 2 +- spec/lib/activitypub/activity/reject_spec.rb | 110 ++++++++++++++++--- 2 files changed, 98 insertions(+), 14 deletions(-) diff --git a/app/lib/activitypub/activity/reject.rb b/app/lib/activitypub/activity/reject.rb index 8d771ed817..886dddb235 100644 --- a/app/lib/activitypub/activity/reject.rb +++ b/app/lib/activitypub/activity/reject.rb @@ -4,7 +4,7 @@ class ActivityPub::Activity::Reject < ActivityPub::Activity def perform return reject_follow_for_relay if relay_follow? return follow_request_from_object.reject! unless follow_request_from_object.nil? - return UnfollowService.new.call(follow_from_object.target_account, @account) unless follow_from_object.nil? + return UnfollowService.new.call(follow_from_object.account, @account) unless follow_from_object.nil? case @object['type'] when 'Follow' diff --git a/spec/lib/activitypub/activity/reject_spec.rb b/spec/lib/activitypub/activity/reject_spec.rb index e7205df8dd..fed4cd8cdc 100644 --- a/spec/lib/activitypub/activity/reject_spec.rb +++ b/spec/lib/activitypub/activity/reject_spec.rb @@ -3,6 +3,14 @@ require 'rails_helper' RSpec.describe ActivityPub::Activity::Reject do let(:sender) { Fabricate(:account) } let(:recipient) { Fabricate(:account) } + let(:object_json) do + { + id: 'bar', + type: 'Follow', + actor: ActivityPub::TagManager.instance.uri_for(recipient), + object: ActivityPub::TagManager.instance.uri_for(sender), + } + end let(:json) do { @@ -10,29 +18,105 @@ RSpec.describe ActivityPub::Activity::Reject do id: 'foo', type: 'Reject', actor: ActivityPub::TagManager.instance.uri_for(sender), - object: { - id: 'bar', - type: 'Follow', - actor: ActivityPub::TagManager.instance.uri_for(recipient), - object: ActivityPub::TagManager.instance.uri_for(sender), - }, + object: object_json, }.with_indifferent_access end describe '#perform' do subject { described_class.new(json, sender) } - before do - Fabricate(:follow_request, account: recipient, target_account: sender) - subject.perform + context 'rejecting a pending follow request by target' do + before do + Fabricate(:follow_request, account: recipient, target_account: sender) + subject.perform + end + + it 'does not create a follow relationship' do + expect(recipient.following?(sender)).to be false + end + + it 'removes the follow request' do + expect(recipient.requested?(sender)).to be false + end end - it 'does not create a follow relationship' do - expect(recipient.following?(sender)).to be false + context 'rejecting a pending follow request by uri' do + before do + Fabricate(:follow_request, account: recipient, target_account: sender, uri: 'bar') + subject.perform + end + + it 'does not create a follow relationship' do + expect(recipient.following?(sender)).to be false + end + + it 'removes the follow request' do + expect(recipient.requested?(sender)).to be false + end end - it 'removes the follow request' do - expect(recipient.requested?(sender)).to be false + context 'rejecting a pending follow request by uri only' do + let(:object_json) { 'bar' } + + before do + Fabricate(:follow_request, account: recipient, target_account: sender, uri: 'bar') + subject.perform + end + + it 'does not create a follow relationship' do + expect(recipient.following?(sender)).to be false + end + + it 'removes the follow request' do + expect(recipient.requested?(sender)).to be false + end + end + + context 'rejecting an existing follow relationship by target' do + before do + Fabricate(:follow, account: recipient, target_account: sender) + subject.perform + end + + it 'removes the follow relationship' do + expect(recipient.following?(sender)).to be false + end + + it 'does not create a follow request' do + expect(recipient.requested?(sender)).to be false + end + end + + context 'rejecting an existing follow relationship by uri' do + before do + Fabricate(:follow, account: recipient, target_account: sender, uri: 'bar') + subject.perform + end + + it 'removes the follow relationship' do + expect(recipient.following?(sender)).to be false + end + + it 'does not create a follow request' do + expect(recipient.requested?(sender)).to be false + end + end + + context 'rejecting an existing follow relationship by uri only' do + let(:object_json) { 'bar' } + + before do + Fabricate(:follow, account: recipient, target_account: sender, uri: 'bar') + subject.perform + end + + it 'removes the follow relationship' do + expect(recipient.following?(sender)).to be false + end + + it 'does not create a follow request' do + expect(recipient.requested?(sender)).to be false + end end end From cd94854e7d14b2bc755510493944a3e01f758fa2 Mon Sep 17 00:00:00 2001 From: kedama Date: Sun, 2 Aug 2020 18:19:43 +0900 Subject: [PATCH 075/703] Fix the hashtag judgment of the compose form to be the same as the server side (#14484) --- .../compose/containers/warning_container.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/compose/containers/warning_container.js b/app/javascript/mastodon/features/compose/containers/warning_container.js index 8200a319f7..947d20c5a5 100644 --- a/app/javascript/mastodon/features/compose/containers/warning_container.js +++ b/app/javascript/mastodon/features/compose/containers/warning_container.js @@ -5,7 +5,22 @@ import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { me } from '../../../initial_state'; -const APPROX_HASHTAG_RE = /(?:^|[^\/\)\w])#(\w*[a-zA-Z·]\w*)/i; +const HASHTAG_SEPARATORS = "_\\u00b7\\u200c"; +const ALPHA = '\\p{L}\\p{M}'; +const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}'; +const APPROX_HASHTAG_RE = new RegExp( + '(?:^|[^\\/\\)\\w])#((' + + '[' + WORD + '_]' + + '[' + WORD + HASHTAG_SEPARATORS + ']*' + + '[' + ALPHA + HASHTAG_SEPARATORS + ']' + + '[' + WORD + HASHTAG_SEPARATORS +']*' + + '[' + WORD + '_]' + + ')|(' + + '[' + WORD + '_]*' + + '[' + ALPHA + ']' + + '[' + WORD + '_]*' + + '))', 'iu' +); const mapStateToProps = state => ({ needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']), From 5faf2de93891db822d78c92f2bc2cdc33c3605c1 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 2 Aug 2020 11:20:02 +0200 Subject: [PATCH 076/703] Fix wrong proptypes for onEditAccountNote (#14481) Also add missing PropTypes to the correct component Fixes #14478 --- .../mastodon/features/account/components/header.js | 10 ++++++++++ .../features/account_timeline/components/header.js | 1 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 9613b0b9ed..61ecf045d1 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -66,6 +66,16 @@ class Header extends ImmutablePureComponent { identity_props: ImmutablePropTypes.list, onFollow: PropTypes.func.isRequired, onBlock: PropTypes.func.isRequired, + onMention: PropTypes.func.isRequired, + onDirect: PropTypes.func.isRequired, + onReport: PropTypes.func.isRequired, + onReblogToggle: PropTypes.func.isRequired, + onMute: PropTypes.func.isRequired, + onBlockDomain: PropTypes.func.isRequired, + onUnblockDomain: PropTypes.func.isRequired, + onEndorseToggle: PropTypes.func.isRequired, + onAddToList: PropTypes.func.isRequired, + onEditAccountNote: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, domain: PropTypes.string.isRequired, }; diff --git a/app/javascript/mastodon/features/account_timeline/components/header.js b/app/javascript/mastodon/features/account_timeline/components/header.js index 4e1b27466b..abb15edcc7 100644 --- a/app/javascript/mastodon/features/account_timeline/components/header.js +++ b/app/javascript/mastodon/features/account_timeline/components/header.js @@ -23,7 +23,6 @@ export default class Header extends ImmutablePureComponent { onUnblockDomain: PropTypes.func.isRequired, onEndorseToggle: PropTypes.func.isRequired, onAddToList: PropTypes.func.isRequired, - onEditAccountNote: PropTypes.func.isRequired, hideTabs: PropTypes.bool, domain: PropTypes.string.isRequired, }; From 51b5bb53015df5b360f0e366f7fc67dce75e2d6c Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 2 Aug 2020 11:20:17 +0200 Subject: [PATCH 077/703] Fix new audio player features not working on Safari (#14465) Fixes #14462 --- app/javascript/mastodon/features/audio/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/features/audio/index.js b/app/javascript/mastodon/features/audio/index.js index 1ab1c3117d..a4e00ba96c 100644 --- a/app/javascript/mastodon/features/audio/index.js +++ b/app/javascript/mastodon/features/audio/index.js @@ -269,8 +269,9 @@ class Audio extends React.PureComponent { } _initAudioContext () { - const context = new AudioContext(); - const source = context.createMediaElementSource(this.audio); + const AudioContext = window.AudioContext || window.webkitAudioContext; + const context = new AudioContext(); + const source = context.createMediaElementSource(this.audio); this.visualizer.setAudioContext(context, source); source.connect(context.destination); From 9490011226e69426faefbfca02e5566cef369774 Mon Sep 17 00:00:00 2001 From: Alex Dunn Date: Sun, 2 Aug 2020 02:20:31 -0700 Subject: [PATCH 078/703] helm: bump default image tag to v3.2.0 (#14476) --- chart/values.yaml.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/values.yaml.template b/chart/values.yaml.template index 694bc4d422..ff680b81f7 100644 --- a/chart/values.yaml.template +++ b/chart/values.yaml.template @@ -4,7 +4,7 @@ image: repository: tootsuite/mastodon pullPolicy: Always # https://hub.docker.com/r/tootsuite/mastodon/tags - tag: v3.1.5 + tag: v3.2.0 # alternatively, use `latest` for the latest release or `edge` for the image # built from the most recent commit # From a1412491b76ca37ca668083d2958fccf750a5fd3 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 2 Aug 2020 11:21:10 +0200 Subject: [PATCH 079/703] Change content-type to be always computed from file data (#14452) * Change content-type to be always computed from file data Restore previous behavior, detecting the content-type isn't very expensive, and some instances may serve files as application/octet-stream regardless of their true type, making fetching media from them fail, while it used to work pre-3.2.0. * Add test --- lib/paperclip/response_with_limit_adapter.rb | 2 +- spec/lib/activitypub/activity/create_spec.rb | 27 ++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/lib/paperclip/response_with_limit_adapter.rb b/lib/paperclip/response_with_limit_adapter.rb index 7d897b8d67..8711b13497 100644 --- a/lib/paperclip/response_with_limit_adapter.rb +++ b/lib/paperclip/response_with_limit_adapter.rb @@ -19,7 +19,7 @@ module Paperclip @original_filename = filename_from_content_disposition || filename_from_path || 'data' @size = @target.response.content_length @tempfile = copy_to_tempfile(@target) - @content_type = @target.response.mime_type || ContentTypeDetector.new(@tempfile.path).detect + @content_type = ContentTypeDetector.new(@tempfile.path).detect end def copy_to_tempfile(source) diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb index 2ac4acc12a..51e0b8caff 100644 --- a/spec/lib/activitypub/activity/create_spec.rb +++ b/spec/lib/activitypub/activity/create_spec.rb @@ -18,6 +18,7 @@ RSpec.describe ActivityPub::Activity::Create do stub_request(:get, 'http://example.com/attachment.png').to_return(request_fixture('avatar.txt')) stub_request(:get, 'http://example.com/emoji.png').to_return(body: attachment_fixture('emojo.png')) + stub_request(:get, 'http://example.com/emojib.png').to_return(body: attachment_fixture('emojo.png'), headers: { 'Content-Type' => 'application/octet-stream' }) end describe '#perform' do @@ -451,6 +452,32 @@ RSpec.describe ActivityPub::Activity::Create do end end + context 'with emojis served with invalid content-type' do + let(:object_json) do + { + id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join, + type: 'Note', + content: 'Lorem ipsum :tinkong:', + tag: [ + { + type: 'Emoji', + icon: { + url: 'http://example.com/emojib.png', + }, + name: 'tinkong', + }, + ], + } + end + + it 'creates status' do + status = sender.statuses.first + + expect(status).to_not be_nil + expect(status.emojis.map(&:shortcode)).to include('tinkong') + end + end + context 'with emojis missing name' do let(:object_json) do { From 3ade83483054cdc2f8e7887ad236ede4341c0c09 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 2 Aug 2020 11:21:28 +0200 Subject: [PATCH 080/703] Fix disabled boost icon being replaced by private boost icon on hover (#14456) Fixes #14455 --- app/javascript/styles/mastodon/boost.scss | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/boost.scss b/app/javascript/styles/mastodon/boost.scss index 3489428f83..4b6c9b82ed 100644 --- a/app/javascript/styles/mastodon/boost.scss +++ b/app/javascript/styles/mastodon/boost.scss @@ -15,5 +15,8 @@ button.icon-button i.fa-retweet { } button.icon-button.disabled i.fa-retweet { - background-image: url("data:image/svg+xml;utf8,"); + &, + &:hover { + background-image: url("data:image/svg+xml;utf8,"); + } } From 635b6a0f1af21bd4055f950930a681aa0a96535b Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 2 Aug 2020 18:47:09 +0200 Subject: [PATCH 081/703] Fix audio player on Safari (#14485) --- app/javascript/mastodon/features/audio/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/javascript/mastodon/features/audio/index.js b/app/javascript/mastodon/features/audio/index.js index a4e00ba96c..5b81726945 100644 --- a/app/javascript/mastodon/features/audio/index.js +++ b/app/javascript/mastodon/features/audio/index.js @@ -115,6 +115,10 @@ class Audio extends React.PureComponent { } togglePlay = () => { + if (!this.audioContext) { + this._initAudioContext(); + } + if (this.state.paused) { this.setState({ paused: false }, () => this.audio.play()); } else { @@ -133,10 +137,6 @@ class Audio extends React.PureComponent { handlePlay = () => { this.setState({ paused: false }); - if (this.canvas && !this.audioContext) { - this._initAudioContext(); - } - if (this.audioContext && this.audioContext.state === 'suspended') { this.audioContext.resume(); } From 0ebc8d8626e3982696d1bb3876ec378a3bce81c9 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 2 Aug 2020 18:47:44 +0200 Subject: [PATCH 082/703] Fix thumbnail color extraction (#14464) * Fix contrast calculation for thumbnail color extraction Luminance calculation was using 0-255 RGB values instead of 0-1 sRGB values, leading to incorrectly-computed contrast values. Since we use ColorDiff already, just use its XYZ colorspace conversion code to get the value. * Require at least 3:1 contrast for both accent and foreground colors * Lower required contrast for the accent color --- lib/paperclip/color_extractor.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/paperclip/color_extractor.rb b/lib/paperclip/color_extractor.rb index 44fe5ff1da..c8bb771a0b 100644 --- a/lib/paperclip/color_extractor.rb +++ b/lib/paperclip/color_extractor.rb @@ -5,6 +5,7 @@ require 'mime/types/columnar' module Paperclip class ColorExtractor < Paperclip::Processor MIN_CONTRAST = 3.0 + ACCENT_MIN_CONTRAST = 2.0 FREQUENCY_THRESHOLD = 0.01 def make @@ -26,8 +27,9 @@ module Paperclip foreground_palette.each do |color| distance = ColorDiff.between(background_color, color) + contrast = w3c_contrast(background_color, color) - if distance > max_distance + if distance > max_distance && contrast >= ACCENT_MIN_CONTRAST max_distance = distance max_distance_color = color end @@ -77,8 +79,8 @@ module Paperclip private def w3c_contrast(color1, color2) - luminance1 = (0.2126 * color1.r + 0.7152 * color1.g + 0.0722 * color1.b) + 0.05 - luminance2 = (0.2126 * color2.r + 0.7152 * color2.g + 0.0722 * color2.b) + 0.05 + luminance1 = color1.to_xyz.y * 0.01 + 0.05 + luminance2 = color2.to_xyz.y * 0.01 + 0.05 if luminance1 > luminance2 luminance1 / luminance2 From 8ce962e14819c55f3772076fb0cb57cf1476b7f1 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 2 Aug 2020 19:03:10 +0200 Subject: [PATCH 083/703] Fix audio/video player not using CDN_HOST in media paths on public pages (#14486) --- app/views/statuses/_detailed_status.html.haml | 4 ++-- app/views/statuses/_simple_status.html.haml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/statuses/_detailed_status.html.haml b/app/views/statuses/_detailed_status.html.haml index 85b2ceea44..b3e9c44fc8 100644 --- a/app/views/statuses/_detailed_status.html.haml +++ b/app/views/statuses/_detailed_status.html.haml @@ -29,11 +29,11 @@ - if !status.media_attachments.empty? - if status.media_attachments.first.video? - video = status.media_attachments.first - = react_component :video, src: video.file.url(:original), preview: video.thumbnail.present? ? video.thumbnail.url : video.file.url(:small), blurhash: video.blurhash, sensitive: status.sensitive?, width: 670, height: 380, detailed: true, inline: true, alt: video.description do + = react_component :video, src: full_asset_url(video.file.url(:original)), preview: full_asset_url(video.thumbnail.present? ? video.thumbnail.url : video.file.url(:small)), blurhash: video.blurhash, sensitive: status.sensitive?, width: 670, height: 380, detailed: true, inline: true, alt: video.description do = render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments } - elsif status.media_attachments.first.audio? - audio = status.media_attachments.first - = react_component :audio, src: audio.file.url(:original), poster: audio.thumbnail.present? ? audio.thumbnail.url : status.account.avatar_static_url, backgroundColor: audio.file.meta.dig('colors', 'background'), foregroundColor: audio.file.meta.dig('colors', 'foreground'), accentColor: audio.file.meta.dig('colors', 'accent'), width: 670, height: 380, alt: audio.description, duration: audio.file.meta.dig('original', 'duration') do + = react_component :audio, src: full_asset_url(audio.file.url(:original)), poster: full_asset_url(audio.thumbnail.present? ? audio.thumbnail.url : status.account.avatar_static_url), backgroundColor: audio.file.meta.dig('colors', 'background'), foregroundColor: audio.file.meta.dig('colors', 'foreground'), accentColor: audio.file.meta.dig('colors', 'accent'), width: 670, height: 380, alt: audio.description, duration: audio.file.meta.dig('original', 'duration') do = render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments } - else = react_component :media_gallery, height: 380, sensitive: status.sensitive?, standalone: true, autoplay: autoplay, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } do diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml index 67c6c0fd09..3637579452 100644 --- a/app/views/statuses/_simple_status.html.haml +++ b/app/views/statuses/_simple_status.html.haml @@ -35,11 +35,11 @@ - if !status.media_attachments.empty? - if status.media_attachments.first.video? - video = status.media_attachments.first - = react_component :video, src: video.file.url(:original), preview: video.thumbnail.present? ? video.thumbnail.url : video.file.url(:small), blurhash: video.blurhash, sensitive: status.sensitive?, width: 610, height: 343, inline: true, alt: video.description do + = react_component :video, src: full_asset_url(video.file.url(:original)), preview: full_asset_url(video.thumbnail.present? ? video.thumbnail.url : video.file.url(:small)), blurhash: video.blurhash, sensitive: status.sensitive?, width: 610, height: 343, inline: true, alt: video.description do = render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments } - elsif status.media_attachments.first.audio? - audio = status.media_attachments.first - = react_component :audio, src: audio.file.url(:original), poster: audio.thumbnail.present? ? audio.thumbnail.url : status.account.avatar_static_url, backgroundColor: audio.file.meta.dig('colors', 'background'), foregroundColor: audio.file.meta.dig('colors', 'foreground'), accentColor: audio.file.meta.dig('colors', 'accent'), width: 610, height: 343, alt: audio.description, duration: audio.file.meta.dig('original', 'duration') do + = react_component :audio, src: full_asset_url(audio.file.url(:original)), poster: full_asset_url(audio.thumbnail.present? ? audio.thumbnail.url : status.account.avatar_static_url), backgroundColor: audio.file.meta.dig('colors', 'background'), foregroundColor: audio.file.meta.dig('colors', 'foreground'), accentColor: audio.file.meta.dig('colors', 'accent'), width: 610, height: 343, alt: audio.description, duration: audio.file.meta.dig('original', 'duration') do = render partial: 'statuses/attachment_list', locals: { attachments: status.media_attachments } - else = react_component :media_gallery, height: 343, sensitive: status.sensitive?, autoplay: autoplay, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json } do From 97afc8876478346e9d39f757369897810235789a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2020 05:24:03 +0900 Subject: [PATCH 084/703] Bump aws-partitions from 1.345.0 to 1.349.0 (#14489) Bumps [aws-partitions](https://github.com/aws/aws-sdk-ruby) from 1.345.0 to 1.349.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-partitions/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0fe84f21e9..b54b16da88 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -85,7 +85,7 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.1.0) - aws-partitions (1.345.0) + aws-partitions (1.349.0) aws-sdk-core (3.104.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) From c1df176aa911f079cb828f7200e790f73b90a6aa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2020 05:28:07 +0900 Subject: [PATCH 085/703] Bump @babel/preset-env from 7.10.4 to 7.11.0 (#14502) Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.4 to 7.11.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-preset-env) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 98 +++++++++++++++++++++++++++++++++++----------------- 2 files changed, 68 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index b2d27b5670..441103629d 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "@babel/plugin-proposal-decorators": "^7.10.5", "@babel/plugin-transform-react-inline-elements": "^7.10.4", "@babel/plugin-transform-runtime": "^7.10.5", - "@babel/preset-env": "^7.10.4", + "@babel/preset-env": "^7.11.0", "@babel/preset-react": "^7.10.4", "@babel/runtime": "^7.8.4", "@clusterws/cws": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index d8685a5097..6237b6fa9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,10 +9,10 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.4.tgz#706a6484ee6f910b719b696a9194f8da7d7ac241" - integrity sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw== +"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" + integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ== dependencies: browserslist "^4.12.0" invariant "^2.2.4" @@ -194,7 +194,7 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== @@ -235,6 +235,13 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" + integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q== + dependencies: + "@babel/types" "^7.11.0" + "@babel/helper-split-export-declaration@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" @@ -314,6 +321,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" +"@babel/plugin-proposal-export-namespace-from@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" + integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-proposal-json-strings@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" @@ -322,6 +337,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" +"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8" + integrity sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" @@ -338,10 +361,10 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0" - integrity sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA== +"@babel/plugin-proposal-object-rest-spread@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" + integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" @@ -355,12 +378,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz#750f1255e930a1f82d8cdde45031f81a0d0adff7" - integrity sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ== +"@babel/plugin-proposal-optional-chaining@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076" + integrity sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" "@babel/plugin-proposal-private-methods@^7.10.4": @@ -414,6 +438,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" @@ -435,7 +466,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -758,12 +789,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-spread@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz#4e2c85ea0d6abaee1b24dcfbbae426fe8d674cff" - integrity sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ== +"@babel/plugin-transform-spread@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" + integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" "@babel/plugin-transform-sticky-regex@^7.10.4": version "7.10.4" @@ -803,30 +835,34 @@ "@babel/helper-create-regexp-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.4.tgz#fbf57f9a803afd97f4f32e4f798bb62e4b2bef5f" - integrity sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw== +"@babel/preset-env@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796" + integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg== dependencies: - "@babel/compat-data" "^7.10.4" + "@babel/compat-data" "^7.11.0" "@babel/helper-compilation-targets" "^7.10.4" "@babel/helper-module-imports" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-proposal-async-generator-functions" "^7.10.4" "@babel/plugin-proposal-class-properties" "^7.10.4" "@babel/plugin-proposal-dynamic-import" "^7.10.4" + "@babel/plugin-proposal-export-namespace-from" "^7.10.4" "@babel/plugin-proposal-json-strings" "^7.10.4" + "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" "@babel/plugin-proposal-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread" "^7.11.0" "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.10.4" + "@babel/plugin-proposal-optional-chaining" "^7.11.0" "@babel/plugin-proposal-private-methods" "^7.10.4" "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" "@babel/plugin-syntax-async-generators" "^7.8.0" "@babel/plugin-syntax-class-properties" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" @@ -859,14 +895,14 @@ "@babel/plugin-transform-regenerator" "^7.10.4" "@babel/plugin-transform-reserved-words" "^7.10.4" "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.10.4" + "@babel/plugin-transform-spread" "^7.11.0" "@babel/plugin-transform-sticky-regex" "^7.10.4" "@babel/plugin-transform-template-literals" "^7.10.4" "@babel/plugin-transform-typeof-symbol" "^7.10.4" "@babel/plugin-transform-unicode-escapes" "^7.10.4" "@babel/plugin-transform-unicode-regex" "^7.10.4" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.10.4" + "@babel/types" "^7.11.0" browserslist "^4.12.0" core-js-compat "^3.6.2" invariant "^2.2.2" @@ -943,10 +979,10 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15" - integrity sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q== +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" + integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" lodash "^4.17.19" From 563ec44aa9ea24813383d6a8f35748e87b241c04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2020 05:30:03 +0900 Subject: [PATCH 086/703] Bump expect from 26.1.0 to 26.2.0 (#14507) Bumps [expect](https://github.com/facebook/jest/tree/HEAD/packages/expect) from 26.1.0 to 26.2.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v26.2.0/packages/expect) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 69 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 24 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6237b6fa9f..f64fee08a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1287,13 +1287,14 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.1.0.tgz#f8afaaaeeb23b5cad49dd1f7779689941dcb6057" - integrity sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ== +"@jest/types@^26.1.0", "@jest/types@^26.2.0": + version "26.2.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.2.0.tgz#b28ca1fb517a4eb48c0addea7fcd9edc4ab45721" + integrity sha512-lvm3rJvctxd7+wxKSxxbzpDbr4FXDLaC57WEKdUIZ2cjTYuxYSc0zlyD7Z4Uqr5VdKxRUrtwIkiqBuvgf8uKJA== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" + "@types/node" "*" "@types/yargs" "^15.0.0" chalk "^4.0.0" @@ -1481,9 +1482,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "14.0.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.14.tgz#24a0b5959f16ac141aeb0c5b3cd7a15b7c64cbce" - integrity sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ== + version "14.0.27" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1" + integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -4422,15 +4423,15 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: homedir-polyfill "^1.0.1" expect@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.1.0.tgz#8c62e31d0f8d5a8ebb186ee81473d15dd2fbf7c8" - integrity sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw== + version "26.2.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.2.0.tgz#0140dd9cc7376d7833852e9cda88c05414f1efba" + integrity sha512-8AMBQ9UVcoUXt0B7v+5/U5H6yiUR87L6eKCfjE3spx7Ya5lF+ebUo37MCFBML2OiLfkX1sxmQOZhIDonyVTkcw== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" ansi-styles "^4.0.0" jest-get-type "^26.0.0" - jest-matcher-utils "^26.1.0" - jest-message-util "^26.1.0" + jest-matcher-utils "^26.2.0" + jest-message-util "^26.2.0" jest-regex-util "^26.0.0" express@^4.16.3, express@^4.17.1: @@ -6126,6 +6127,16 @@ jest-diff@^26.1.0: jest-get-type "^26.0.0" pretty-format "^26.1.0" +jest-diff@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.2.0.tgz#dee62c771adbb23ae585f3f1bd289a6e8ef4f298" + integrity sha512-Wu4Aopi2nzCsHWLBlD48TgRy3Z7OsxlwvHNd1YSnHc7q1NJfrmyCPoUXrTIrydQOG5ApaYpsAsdfnMbJqV1/wQ== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.0.0" + jest-get-type "^26.0.0" + pretty-format "^26.2.0" + jest-docblock@^26.0.0: version "26.0.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" @@ -6238,23 +6249,23 @@ jest-matcher-utils@^25.1.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-matcher-utils@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz#cf75a41bd413dda784f022de5a65a2a5c73a5c92" - integrity sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA== +jest-matcher-utils@^26.1.0, jest-matcher-utils@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.2.0.tgz#b107af98c2b8c557ffd46c1adf06f794aa52d622" + integrity sha512-2cf/LW2VFb3ayPHrH36ZDjp9+CAeAe/pWBAwsV8t3dKcrINzXPVxq8qMWOxwt5BaeBCx4ZupVGH7VIgB8v66vQ== dependencies: chalk "^4.0.0" - jest-diff "^26.1.0" + jest-diff "^26.2.0" jest-get-type "^26.0.0" - pretty-format "^26.1.0" + pretty-format "^26.2.0" -jest-message-util@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.1.0.tgz#52573fbb8f5cea443c4d1747804d7a238a3e233c" - integrity sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g== +jest-message-util@^26.1.0, jest-message-util@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.2.0.tgz#757fbc1323992297092bb9016a71a2eb12fd22ea" + integrity sha512-g362RhZaJuqeqG108n1sthz5vNpzTNy926eNDszo4ncRbmmcMRIUAZibnd6s5v2XSBCChAxQtCoN25gnzp7JbQ== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" "@types/stack-utils" "^1.0.1" chalk "^4.0.0" graceful-fs "^4.2.4" @@ -8385,6 +8396,16 @@ pretty-format@^26.1.0: ansi-styles "^4.0.0" react-is "^16.12.0" +pretty-format@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.2.0.tgz#83ecc8d7de676ff224225055e72bd64821cec4f1" + integrity sha512-qi/8IuBu2clY9G7qCXgCdD1Bf9w+sXakdHTRToknzMtVy0g7c4MBWaZy7MfB7ndKZovRO6XRwJiAYqq+MC7SDA== + dependencies: + "@jest/types" "^26.2.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" From 3cd76411d29d119fdd92b25e0b2e42f048bba192 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2020 05:30:54 +0900 Subject: [PATCH 087/703] Bump elasticsearch from 7.8.0 to 7.8.1 (#14501) Bumps [elasticsearch](https://github.com/elastic/elasticsearch-ruby) from 7.8.0 to 7.8.1. - [Release notes](https://github.com/elastic/elasticsearch-ruby/releases) - [Changelog](https://github.com/elastic/elasticsearch-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/elastic/elasticsearch-ruby/compare/v7.8.0...v7.8.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b54b16da88..d9d25638c5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -196,13 +196,13 @@ GEM railties (>= 3.2) e2mmap (0.1.0) ed25519 (1.2.4) - elasticsearch (7.8.0) - elasticsearch-api (= 7.8.0) - elasticsearch-transport (= 7.8.0) - elasticsearch-api (7.8.0) + elasticsearch (7.8.1) + elasticsearch-api (= 7.8.1) + elasticsearch-transport (= 7.8.1) + elasticsearch-api (7.8.1) multi_json elasticsearch-dsl (0.1.9) - elasticsearch-transport (7.8.0) + elasticsearch-transport (7.8.1) faraday (~> 1) multi_json encryptor (3.0.0) From 63bbe6cab82fbfa43b8a0012856a46c3068941e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Aug 2020 05:31:57 +0900 Subject: [PATCH 088/703] Bump rubocop-ast from 0.2.0 to 0.3.0 (#14498) Bumps [rubocop-ast](https://github.com/rubocop-hq/rubocop-ast) from 0.2.0 to 0.3.0. - [Release notes](https://github.com/rubocop-hq/rubocop-ast/releases) - [Changelog](https://github.com/rubocop-hq/rubocop-ast/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop-hq/rubocop-ast/compare/v0.2.0...v0.3.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d9d25638c5..9361e6da12 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -543,8 +543,8 @@ GEM rubocop-ast (>= 0.0.3, < 1.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (0.2.0) - parser (>= 2.7.0.1) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) rubocop-rails (2.6.0) activesupport (>= 4.2.0) rack (>= 1.1) From a637344e3752fba860348ad26b2db291692366d9 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 5 Aug 2020 22:39:14 +0200 Subject: [PATCH 089/703] Fallback to previous, more approximative hashtag RE on older browsers (#14513) Fixes #14511 --- .../compose/containers/warning_container.js | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/app/javascript/mastodon/features/compose/containers/warning_container.js b/app/javascript/mastodon/features/compose/containers/warning_container.js index 947d20c5a5..2977ef5df1 100644 --- a/app/javascript/mastodon/features/compose/containers/warning_container.js +++ b/app/javascript/mastodon/features/compose/containers/warning_container.js @@ -5,22 +5,30 @@ import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { me } from '../../../initial_state'; -const HASHTAG_SEPARATORS = "_\\u00b7\\u200c"; -const ALPHA = '\\p{L}\\p{M}'; -const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}'; -const APPROX_HASHTAG_RE = new RegExp( - '(?:^|[^\\/\\)\\w])#((' + - '[' + WORD + '_]' + - '[' + WORD + HASHTAG_SEPARATORS + ']*' + - '[' + ALPHA + HASHTAG_SEPARATORS + ']' + - '[' + WORD + HASHTAG_SEPARATORS +']*' + - '[' + WORD + '_]' + - ')|(' + - '[' + WORD + '_]*' + - '[' + ALPHA + ']' + - '[' + WORD + '_]*' + - '))', 'iu' -); +const buildHashtagRE = () => { + try { + const HASHTAG_SEPARATORS = "_\\u00b7\\u200c"; + const ALPHA = '\\p{L}\\p{M}'; + const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}'; + return new RegExp( + '(?:^|[^\\/\\)\\w])#((' + + '[' + WORD + '_]' + + '[' + WORD + HASHTAG_SEPARATORS + ']*' + + '[' + ALPHA + HASHTAG_SEPARATORS + ']' + + '[' + WORD + HASHTAG_SEPARATORS +']*' + + '[' + WORD + '_]' + + ')|(' + + '[' + WORD + '_]*' + + '[' + ALPHA + ']' + + '[' + WORD + '_]*' + + '))', 'iu' + ); + } catch { + return /(?:^|[^\/\)\w])#(\w*[a-zA-Z·]\w*)/i; + } +}; + +const APPROX_HASHTAG_RE = buildHashtagRE(); const mapStateToProps = state => ({ needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']), From a61329199ea504d53beecda9977899dc86e5ef12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:34:12 +0900 Subject: [PATCH 090/703] Bump pghero from 2.6.0 to 2.7.0 (#14518) Bumps [pghero](https://github.com/ankane/pghero) from 2.6.0 to 2.7.0. - [Release notes](https://github.com/ankane/pghero/releases) - [Changelog](https://github.com/ankane/pghero/blob/master/CHANGELOG.md) - [Commits](https://github.com/ankane/pghero/compare/v2.6.0...v2.7.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index e632c80f54..e749c9d5f3 100644 --- a/Gemfile +++ b/Gemfile @@ -17,7 +17,7 @@ gem 'e2mmap', '~> 0.1.0' gem 'hamlit-rails', '~> 0.2' gem 'pg', '~> 1.2' gem 'makara', '~> 0.4' -gem 'pghero', '~> 2.6' +gem 'pghero', '~> 2.7' gem 'dotenv-rails', '~> 2.7' gem 'aws-sdk-s3', '~> 1.75', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 9361e6da12..bce711d3f0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -405,7 +405,7 @@ GEM pastel (0.8.0) tty-color (~> 0.5) pg (1.2.3) - pghero (2.6.0) + pghero (2.7.0) activerecord (>= 5) pkg-config (1.4.1) posix-spawn (0.3.15) @@ -738,7 +738,7 @@ DEPENDENCIES parallel_tests (~> 3.1) parslet pg (~> 1.2) - pghero (~> 2.6) + pghero (~> 2.7) pkg-config (~> 1.4) posix-spawn premailer-rails From 4728286a51ebc34520c3fbf12b2ec4709b54be9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:34:48 +0900 Subject: [PATCH 091/703] Bump eslint from 7.5.0 to 7.6.0 (#14508) Bumps [eslint](https://github.com/eslint/eslint) from 7.5.0 to 7.6.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.5.0...v7.6.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 441103629d..bc36ab7d2f 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ "@testing-library/react": "^10.4.7", "babel-eslint": "^10.1.0", "babel-jest": "^26.1.0", - "eslint": "^7.5.0", + "eslint": "^7.6.0", "eslint-plugin-import": "~2.22.0", "eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-promise": "~4.2.1", diff --git a/yarn.lock b/yarn.lock index f64fee08a2..0e9109e07d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4223,10 +4223,10 @@ eslint@^2.7.0: text-table "~0.2.0" user-home "^2.0.0" -eslint@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135" - integrity sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q== +eslint@^7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.6.0.tgz#522d67cfaea09724d96949c70e7a0550614d64d6" + integrity sha512-QlAManNtqr7sozWm5TF4wIH9gmUm2hE3vNRUvyoYAa4y1l5/jxD/PQStEjBMQtCqZmSep8UxrcecI60hOpe61w== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" From c1c0a0e3a2d830ac244ed6e89c86f002e3e73de4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:35:32 +0900 Subject: [PATCH 092/703] Bump excon from 0.75.0 to 0.76.0 (#14490) Bumps [excon](https://github.com/excon/excon) from 0.75.0 to 0.76.0. - [Release notes](https://github.com/excon/excon/releases) - [Changelog](https://github.com/excon/excon/blob/master/changelog.txt) - [Commits](https://github.com/excon/excon/compare/v0.75.0...v0.76.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index bce711d3f0..fd750e8368 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -209,7 +209,7 @@ GEM erubi (1.9.0) et-orbi (1.2.4) tzinfo - excon (0.75.0) + excon (0.76.0) fabrication (2.21.1) faker (2.13.0) i18n (>= 1.6, < 2) From 5e292236d995c1f05fc0210cb7bc95109afd0073 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:36:07 +0900 Subject: [PATCH 093/703] Bump csstype from 2.6.10 to 2.6.13 (#14503) Bumps [csstype](https://github.com/frenic/csstype) from 2.6.10 to 2.6.13. - [Release notes](https://github.com/frenic/csstype/releases) - [Commits](https://github.com/frenic/csstype/compare/v2.6.10...v2.6.13) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0e9109e07d..8a7fd4c610 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3464,9 +3464,9 @@ cssstyle@^2.2.0: cssom "~0.3.6" csstype@^2.5.7, csstype@^2.6.7: - version "2.6.10" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" - integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w== + version "2.6.13" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.13.tgz#a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f" + integrity sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A== cyclist@^1.0.1: version "1.0.1" From 9d45a6210d6e290c039d2dac717fb897b64dcc0e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:36:47 +0900 Subject: [PATCH 094/703] Bump jest from 26.0.1 to 26.2.2 (#14495) Bumps [jest](https://github.com/facebook/jest) from 26.0.1 to 26.2.2. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v26.0.1...v26.2.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 616 +++++++++++++++++++++++++++++---------------------- 2 files changed, 358 insertions(+), 260 deletions(-) diff --git a/package.json b/package.json index bc36ab7d2f..1a458f8d37 100644 --- a/package.json +++ b/package.json @@ -178,7 +178,7 @@ "eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-promise": "~4.2.1", "eslint-plugin-react": "~7.20.4", - "jest": "^26.0.1", + "jest": "^26.2.2", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", "react-test-renderer": "^16.13.1", diff --git a/yarn.lock b/yarn.lock index 8a7fd4c610..8db030a59e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1121,89 +1121,93 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.1.0.tgz#f67c89e4f4d04dbcf7b052aed5ab9c74f915b954" - integrity sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A== +"@jest/console@^26.2.0": + version "26.2.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.2.0.tgz#d18f2659b90930e7ec3925fb7209f1ba2cf463f0" + integrity sha512-mXQfx3nSLwiHm1i7jbu+uvi+vvpVjNGzIQYLCfsat9rapC+MJkS4zBseNrgJE0vU921b3P67bQzhduphjY3Tig== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" + "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.1.0" - jest-util "^26.1.0" + jest-message-util "^26.2.0" + jest-util "^26.2.0" slash "^3.0.0" -"@jest/core@^26.0.1", "@jest/core@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.1.0.tgz#4580555b522de412a7998b3938c851e4f9da1c18" - integrity sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw== +"@jest/core@^26.2.2": + version "26.2.2" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.2.2.tgz#63de01ffce967618003dd7a0164b05c8041b81a9" + integrity sha512-UwA8gNI8aeV4FHGfGAUfO/DHjrFVvlBravF1Tm9Kt6qFE+6YHR47kFhgdepOFpADEKstyO+MVdPvkV6/dyt9sA== dependencies: - "@jest/console" "^26.1.0" - "@jest/reporters" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/transform" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.2.0" + "@jest/reporters" "^26.2.2" + "@jest/test-result" "^26.2.0" + "@jest/transform" "^26.2.2" + "@jest/types" "^26.2.0" + "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.1.0" - jest-config "^26.1.0" - jest-haste-map "^26.1.0" - jest-message-util "^26.1.0" + jest-changed-files "^26.2.0" + jest-config "^26.2.2" + jest-haste-map "^26.2.2" + jest-message-util "^26.2.0" jest-regex-util "^26.0.0" - jest-resolve "^26.1.0" - jest-resolve-dependencies "^26.1.0" - jest-runner "^26.1.0" - jest-runtime "^26.1.0" - jest-snapshot "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" - jest-watcher "^26.1.0" + jest-resolve "^26.2.2" + jest-resolve-dependencies "^26.2.2" + jest-runner "^26.2.2" + jest-runtime "^26.2.2" + jest-snapshot "^26.2.2" + jest-util "^26.2.0" + jest-validate "^26.2.0" + jest-watcher "^26.2.0" micromatch "^4.0.2" p-each-series "^2.1.0" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.1.0.tgz#378853bcdd1c2443b4555ab908cfbabb851e96da" - integrity sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA== +"@jest/environment@^26.2.0": + version "26.2.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.2.0.tgz#f6faee1630fcc2fad208953164bccb31dbe0e45f" + integrity sha512-oCgp9NmEiJ5rbq9VI/v/yYLDpladAAVvFxZgNsnJxOETuzPZ0ZcKKHYjKYwCtPOP1WCrM5nmyuOhMStXFGHn+g== dependencies: - "@jest/fake-timers" "^26.1.0" - "@jest/types" "^26.1.0" - jest-mock "^26.1.0" + "@jest/fake-timers" "^26.2.0" + "@jest/types" "^26.2.0" + "@types/node" "*" + jest-mock "^26.2.0" -"@jest/fake-timers@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.1.0.tgz#9a76b7a94c351cdbc0ad53e5a748789f819a65fe" - integrity sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA== +"@jest/fake-timers@^26.2.0": + version "26.2.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.2.0.tgz#b485c57dc4c74d61406a339807a9af4bac74b75a" + integrity sha512-45Gfe7YzYTKqTayBrEdAF0qYyAsNRBzfkV0IyVUm3cx7AsCWlnjilBM4T40w7IXT5VspOgMPikQlV0M6gHwy/g== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" "@sinonjs/fake-timers" "^6.0.1" - jest-message-util "^26.1.0" - jest-mock "^26.1.0" - jest-util "^26.1.0" + "@types/node" "*" + jest-message-util "^26.2.0" + jest-mock "^26.2.0" + jest-util "^26.2.0" -"@jest/globals@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.1.0.tgz#6cc5d7cbb79b76b120f2403d7d755693cf063ab1" - integrity sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw== +"@jest/globals@^26.2.0": + version "26.2.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.2.0.tgz#ad78f1104f250c1a4bf5184a2ba51facc59b23f6" + integrity sha512-Hoc6ScEIPaym7RNytIL2ILSUWIGKlwEv+JNFof9dGYOdvPjb2evEURSslvCMkNuNg1ECEClTE8PH7ULlMJntYA== dependencies: - "@jest/environment" "^26.1.0" - "@jest/types" "^26.1.0" - expect "^26.1.0" + "@jest/environment" "^26.2.0" + "@jest/types" "^26.2.0" + expect "^26.2.0" -"@jest/reporters@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.1.0.tgz#08952e90c90282e14ff49e927bdf1873617dae78" - integrity sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg== +"@jest/reporters@^26.2.2": + version "26.2.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.2.2.tgz#5a8632ab410f4fc57782bc05dcf115e91818e869" + integrity sha512-7854GPbdFTAorWVh+RNHyPO9waRIN6TcvCezKVxI1khvFq9YjINTW7J3WU+tbR038Ynn6WjYred6vtT0YmIWVQ== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/transform" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.2.0" + "@jest/test-result" "^26.2.0" + "@jest/transform" "^26.2.2" + "@jest/types" "^26.2.0" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -1214,10 +1218,10 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.1.0" - jest-resolve "^26.1.0" - jest-util "^26.1.0" - jest-worker "^26.1.0" + jest-haste-map "^26.2.2" + jest-resolve "^26.2.2" + jest-util "^26.2.0" + jest-worker "^26.2.1" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" @@ -1235,26 +1239,26 @@ graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.1.0.tgz#a93fa15b21ad3c7ceb21c2b4c35be2e407d8e971" - integrity sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw== +"@jest/test-result@^26.2.0": + version "26.2.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.2.0.tgz#51c9b165c8851cfcf7a3466019114785e154f76b" + integrity sha512-kgPlmcVafpmfyQEu36HClK+CWI6wIaAWDHNxfQtGuKsgoa2uQAYdlxjMDBEa3CvI40+2U3v36gQF6oZBkoKatw== dependencies: - "@jest/console" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.2.0" + "@jest/types" "^26.2.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz#41a6fc8b850c3f33f48288ea9ea517c047e7f14e" - integrity sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q== +"@jest/test-sequencer@^26.2.2": + version "26.2.2" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.2.2.tgz#5e8091f2e6c61fdf242af566cb820a4eadc6c4af" + integrity sha512-SliZWon5LNqV/lVXkeowSU6L8++FGOu3f43T01L1Gv6wnFDP00ER0utV9jyK9dVNdXqfMNCN66sfcyar/o7BNw== dependencies: - "@jest/test-result" "^26.1.0" + "@jest/test-result" "^26.2.0" graceful-fs "^4.2.4" - jest-haste-map "^26.1.0" - jest-runner "^26.1.0" - jest-runtime "^26.1.0" + jest-haste-map "^26.2.2" + jest-runner "^26.2.2" + jest-runtime "^26.2.2" "@jest/transform@^26.1.0": version "26.1.0" @@ -1277,6 +1281,27 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" +"@jest/transform@^26.2.2": + version "26.2.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.2.2.tgz#86c005c8d5d749ac54d8df53ea58675fffe7a97e" + integrity sha512-c1snhvi5wRVre1XyoO3Eef5SEWpuBCH/cEbntBUd9tI5sNYiBDmO0My/lc5IuuGYKp/HFIHV1eZpSx5yjdkhKw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.2.0" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.2.2" + jest-regex-util "^26.0.0" + jest-util "^26.2.0" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + "@jest/types@^25.5.0": version "25.5.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" @@ -2128,6 +2153,20 @@ babel-jest@^26.1.0: graceful-fs "^4.2.4" slash "^3.0.0" +babel-jest@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.2.2.tgz#70f618f2d7016ed71b232241199308985462f812" + integrity sha512-JmLuePHgA+DSOdOL8lPxCgD2LhPPm+rdw1vnxR73PpIrnmKCS2/aBhtkAcxQWuUcW2hBrH8MJ3LKXE7aWpNZyA== + dependencies: + "@jest/transform" "^26.2.2" + "@jest/types" "^26.2.0" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.2.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + babel-loader@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" @@ -2183,6 +2222,16 @@ babel-plugin-jest-hoist@^26.1.0: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" +babel-plugin-jest-hoist@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz#bdd0011df0d3d513e5e95f76bd53b51147aca2dd" + integrity sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + babel-plugin-lodash@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz#4f6844358a1340baed182adbeffa8df9967bc196" @@ -2260,6 +2309,14 @@ babel-preset-jest@^26.1.0: babel-plugin-jest-hoist "^26.1.0" babel-preset-current-node-syntax "^0.1.2" +babel-preset-jest@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.2.0.tgz#f198201a4e543a43eb40bc481e19736e095fd3e0" + integrity sha512-R1k8kdP3R9phYQugXeNnK/nvCGlBzG4m3EoIIukC80GXb6wCv2XiwPhK6K9MAkQcMszWBYvl2Wm+yigyXFQqXg== + dependencies: + babel-plugin-jest-hoist "^26.2.0" + babel-preset-current-node-syntax "^0.1.2" + babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -3864,6 +3921,11 @@ elliptic@^6.0.0, elliptic@^6.5.2: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" +emittery@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" + integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== + emoji-mart@Gargron/emoji-mart#build: version "2.6.3" resolved "https://codeload.github.com/Gargron/emoji-mart/tar.gz/934f314fd8322276765066e8a2a6be5bac61b1cf" @@ -4422,7 +4484,7 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^26.1.0: +expect@^26.2.0: version "26.2.0" resolved "https://registry.yarnpkg.com/expect/-/expect-26.2.0.tgz#0140dd9cc7376d7833852e9cda88c05414f1efba" integrity sha512-8AMBQ9UVcoUXt0B7v+5/U5H6yiUR87L6eKCfjE3spx7Ya5lF+ebUo37MCFBML2OiLfkX1sxmQOZhIDonyVTkcw== @@ -6055,57 +6117,57 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.1.0.tgz#de66b0f30453bca2aff98e9400f75905da495305" - integrity sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw== +jest-changed-files@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.2.0.tgz#b4946201defe0c919a2f3d601e9f98cb21dacc15" + integrity sha512-+RyJb+F1K/XBLIYiL449vo5D+CvlHv29QveJUWNPXuUicyZcq+tf1wNxmmFeRvAU1+TzhwqczSjxnCCFt7+8iA== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" execa "^4.0.0" throat "^5.0.0" -jest-cli@^26.0.1: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.1.0.tgz#eb9ec8a18cf3b6aa556d9deaa9e24be12b43ad87" - integrity sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw== +jest-cli@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.2.2.tgz#4c273e5474baafac1eb15fd25aaafb4703f5ffbc" + integrity sha512-vVcly0n/ijZvdy6gPQiQt0YANwX2hLTPQZHtW7Vi3gcFdKTtif7YpI85F8R8JYy5DFSWz4x1OW0arnxlziu5Lw== dependencies: - "@jest/core" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/core" "^26.2.2" + "@jest/test-result" "^26.2.0" + "@jest/types" "^26.2.0" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" + jest-config "^26.2.2" + jest-util "^26.2.0" + jest-validate "^26.2.0" prompts "^2.0.1" yargs "^15.3.1" -jest-config@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.1.0.tgz#9074f7539acc185e0113ad6d22ed589c16a37a73" - integrity sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw== +jest-config@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.2.2.tgz#f3ebc7e2bc3f49de8ed3f8007152f345bb111917" + integrity sha512-2lhxH0y4YFOijMJ65usuf78m7+9/8+hAb1PZQtdRdgnQpAb4zP6KcVDDktpHEkspBKnc2lmFu+RQdHukUUbiTg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.1.0" - "@jest/types" "^26.1.0" - babel-jest "^26.1.0" + "@jest/test-sequencer" "^26.2.2" + "@jest/types" "^26.2.0" + babel-jest "^26.2.2" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.1.0" - jest-environment-node "^26.1.0" + jest-environment-jsdom "^26.2.0" + jest-environment-node "^26.2.0" jest-get-type "^26.0.0" - jest-jasmine2 "^26.1.0" + jest-jasmine2 "^26.2.2" jest-regex-util "^26.0.0" - jest-resolve "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" + jest-resolve "^26.2.2" + jest-util "^26.2.0" + jest-validate "^26.2.0" micromatch "^4.0.2" - pretty-format "^26.1.0" + pretty-format "^26.2.0" jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: version "25.5.0" @@ -6117,16 +6179,6 @@ jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.1.0.tgz#00a549bdc936c9691eb4dc25d1fbd78bf456abb2" - integrity sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.0.0" - jest-get-type "^26.0.0" - pretty-format "^26.1.0" - jest-diff@^26.2.0: version "26.2.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.2.0.tgz#dee62c771adbb23ae585f3f1bd289a6e8ef4f298" @@ -6144,39 +6196,41 @@ jest-docblock@^26.0.0: dependencies: detect-newline "^3.0.0" -jest-each@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.1.0.tgz#e35449875009a22d74d1bda183b306db20f286f7" - integrity sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA== +jest-each@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.2.0.tgz#aec8efa01d072d7982c900e74940863385fa884e" + integrity sha512-gHPCaho1twWHB5bpcfnozlc6mrMi+VAewVPNgmwf81x2Gzr6XO4dl+eOrwPWxbkYlgjgrYjWK2xgKnixbzH3Ew== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" chalk "^4.0.0" jest-get-type "^26.0.0" - jest-util "^26.1.0" - pretty-format "^26.1.0" + jest-util "^26.2.0" + pretty-format "^26.2.0" -jest-environment-jsdom@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz#9dc7313ffe1b59761dad1fedb76e2503e5d37c5b" - integrity sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw== +jest-environment-jsdom@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.2.0.tgz#6443a6f3569297dcaa4371dddf93acaf167302dc" + integrity sha512-sDG24+5M4NuIGzkI3rJW8XUlrpkvIdE9Zz4jhD8OBnVxAw+Y1jUk9X+lAOD48nlfUTlnt3lbAI3k2Ox+WF3S0g== dependencies: - "@jest/environment" "^26.1.0" - "@jest/fake-timers" "^26.1.0" - "@jest/types" "^26.1.0" - jest-mock "^26.1.0" - jest-util "^26.1.0" + "@jest/environment" "^26.2.0" + "@jest/fake-timers" "^26.2.0" + "@jest/types" "^26.2.0" + "@types/node" "*" + jest-mock "^26.2.0" + jest-util "^26.2.0" jsdom "^16.2.2" -jest-environment-node@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.1.0.tgz#8bb387b3eefb132eab7826f9a808e4e05618960b" - integrity sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg== +jest-environment-node@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.2.0.tgz#fee89e06bdd4bed3f75ee2978d73ede9bb57a681" + integrity sha512-4M5ExTYkJ19efBzkiXtBi74JqKLDciEk4CEsp5tTjWGYMrlKFQFtwIVG3tW1OGE0AlXhZjuHPwubuRYY4j4uOw== dependencies: - "@jest/environment" "^26.1.0" - "@jest/fake-timers" "^26.1.0" - "@jest/types" "^26.1.0" - jest-mock "^26.1.0" - jest-util "^26.1.0" + "@jest/environment" "^26.2.0" + "@jest/fake-timers" "^26.2.0" + "@jest/types" "^26.2.0" + "@types/node" "*" + jest-mock "^26.2.0" + jest-util "^26.2.0" jest-get-type@^25.2.6: version "25.2.6" @@ -6208,36 +6262,58 @@ jest-haste-map@^26.1.0: optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz#4dfe349b2b2d3c6b3a27c024fd4cb57ac0ed4b6f" - integrity sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ== +jest-haste-map@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.2.2.tgz#6d4267b1903854bfdf6a871419f35a82f03ae71e" + integrity sha512-3sJlMSt+NHnzCB+0KhJ1Ut4zKJBiJOlbrqEYNdRQGlXTv8kqzZWjUKQRY3pkjmlf+7rYjAV++MQ4D6g4DhAyOg== + dependencies: + "@jest/types" "^26.2.0" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.2.0" + jest-util "^26.2.0" + jest-worker "^26.2.1" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.2.2.tgz#d82b1721fac2b153a4f8b3f0c95e81e702812de2" + integrity sha512-Q8AAHpbiZMVMy4Hz9j1j1bg2yUmPa1W9StBvcHqRaKa9PHaDUMwds8LwaDyzP/2fkybcTQE4+pTMDOG9826tEw== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.1.0" + "@jest/environment" "^26.2.0" "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/test-result" "^26.2.0" + "@jest/types" "^26.2.0" + "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.1.0" + expect "^26.2.0" is-generator-fn "^2.0.0" - jest-each "^26.1.0" - jest-matcher-utils "^26.1.0" - jest-message-util "^26.1.0" - jest-runtime "^26.1.0" - jest-snapshot "^26.1.0" - jest-util "^26.1.0" - pretty-format "^26.1.0" + jest-each "^26.2.0" + jest-matcher-utils "^26.2.0" + jest-message-util "^26.2.0" + jest-runtime "^26.2.2" + jest-snapshot "^26.2.2" + jest-util "^26.2.0" + pretty-format "^26.2.0" throat "^5.0.0" -jest-leak-detector@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz#039c3a07ebcd8adfa984b6ac015752c35792e0a6" - integrity sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw== +jest-leak-detector@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.2.0.tgz#073ee6d8db7a9af043e7ce99d8eea17a4fb0cc50" + integrity sha512-aQdzTX1YiufkXA1teXZu5xXOJgy7wZQw6OJ0iH5CtQlOETe6gTSocaYKUNui1SzQ91xmqEUZ/WRavg9FD82rtQ== dependencies: jest-get-type "^26.0.0" - pretty-format "^26.1.0" + pretty-format "^26.2.0" jest-matcher-utils@^25.1.0: version "25.5.0" @@ -6249,7 +6325,7 @@ jest-matcher-utils@^25.1.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-matcher-utils@^26.1.0, jest-matcher-utils@^26.2.0: +jest-matcher-utils@^26.2.0: version "26.2.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.2.0.tgz#b107af98c2b8c557ffd46c1adf06f794aa52d622" integrity sha512-2cf/LW2VFb3ayPHrH36ZDjp9+CAeAe/pWBAwsV8t3dKcrINzXPVxq8qMWOxwt5BaeBCx4ZupVGH7VIgB8v66vQ== @@ -6259,7 +6335,7 @@ jest-matcher-utils@^26.1.0, jest-matcher-utils@^26.2.0: jest-get-type "^26.0.0" pretty-format "^26.2.0" -jest-message-util@^26.1.0, jest-message-util@^26.2.0: +jest-message-util@^26.2.0: version "26.2.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.2.0.tgz#757fbc1323992297092bb9016a71a2eb12fd22ea" integrity sha512-g362RhZaJuqeqG108n1sthz5vNpzTNy926eNDszo4ncRbmmcMRIUAZibnd6s5v2XSBCChAxQtCoN25gnzp7JbQ== @@ -6273,14 +6349,15 @@ jest-message-util@^26.1.0, jest-message-util@^26.2.0: slash "^3.0.0" stack-utils "^2.0.2" -jest-mock@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.1.0.tgz#80d8286da1f05a345fbad1bfd6fa49a899465d3d" - integrity sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw== +jest-mock@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.2.0.tgz#a1b3303ab38c34aa1dbbc16ab57cdc1a59ed50d1" + integrity sha512-XeC7yWtWmWByoyVOHSsE7NYsbXJLtJNgmhD7z4MKumKm6ET0si81bsSLbQ64L5saK3TgsHo2B/UqG5KNZ1Sp/Q== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" + "@types/node" "*" -jest-pnp-resolver@^1.2.1: +jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== @@ -6290,82 +6367,83 @@ jest-regex-util@^26.0.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== -jest-resolve-dependencies@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz#1ce36472f864a5dadf7dc82fa158e1c77955691b" - integrity sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g== +jest-resolve-dependencies@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.2.2.tgz#2ad3cd9281730e9a5c487cd846984c5324e47929" + integrity sha512-S5vufDmVbQXnpP7435gr710xeBGUFcKNpNswke7RmFvDQtmqPjPVU/rCeMlEU0p6vfpnjhwMYeaVjKZAy5QYJA== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" jest-regex-util "^26.0.0" - jest-snapshot "^26.1.0" + jest-snapshot "^26.2.2" -jest-resolve@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.1.0.tgz#a530eaa302b1f6fa0479079d1561dd69abc00e68" - integrity sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg== +jest-resolve@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.2.2.tgz#324a20a516148d61bffa0058ed0c77c510ecfd3e" + integrity sha512-ye9Tj/ILn/0OgFPE/3dGpQPUqt4dHwIocxt5qSBkyzxQD8PbL0bVxBogX2FHxsd3zJA7V2H/cHXnBnNyyT9YoQ== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" chalk "^4.0.0" graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.1" - jest-util "^26.1.0" + jest-pnp-resolver "^1.2.2" + jest-util "^26.2.0" read-pkg-up "^7.0.1" resolve "^1.17.0" slash "^3.0.0" -jest-runner@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.1.0.tgz#457f7fc522afe46ca6db1dccf19f87f500b3288d" - integrity sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw== +jest-runner@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.2.2.tgz#6d03d057886e9c782e10b2cf37443f902fe0e39e" + integrity sha512-/qb6ptgX+KQ+aNMohJf1We695kaAfuu3u3ouh66TWfhTpLd9WbqcF6163d/tMoEY8GqPztXPLuyG0rHRVDLxCA== dependencies: - "@jest/console" "^26.1.0" - "@jest/environment" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.2.0" + "@jest/environment" "^26.2.0" + "@jest/test-result" "^26.2.0" + "@jest/types" "^26.2.0" + "@types/node" "*" chalk "^4.0.0" + emittery "^0.7.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.1.0" + jest-config "^26.2.2" jest-docblock "^26.0.0" - jest-haste-map "^26.1.0" - jest-jasmine2 "^26.1.0" - jest-leak-detector "^26.1.0" - jest-message-util "^26.1.0" - jest-resolve "^26.1.0" - jest-runtime "^26.1.0" - jest-util "^26.1.0" - jest-worker "^26.1.0" + jest-haste-map "^26.2.2" + jest-leak-detector "^26.2.0" + jest-message-util "^26.2.0" + jest-resolve "^26.2.2" + jest-runtime "^26.2.2" + jest-util "^26.2.0" + jest-worker "^26.2.1" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.1.0.tgz#45a37af42115f123ed5c51f126c05502da2469cb" - integrity sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA== +jest-runtime@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.2.2.tgz#2480ff79320680a643031dd21998d7c63d83ab68" + integrity sha512-a8VXM3DxCDnCIdl9+QucWFfQ28KdqmyVFqeKLigHdErtsx56O2ZIdQkhFSuP1XtVrG9nTNHbKxjh5XL1UaFDVQ== dependencies: - "@jest/console" "^26.1.0" - "@jest/environment" "^26.1.0" - "@jest/fake-timers" "^26.1.0" - "@jest/globals" "^26.1.0" + "@jest/console" "^26.2.0" + "@jest/environment" "^26.2.0" + "@jest/fake-timers" "^26.2.0" + "@jest/globals" "^26.2.0" "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/transform" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/test-result" "^26.2.0" + "@jest/transform" "^26.2.2" + "@jest/types" "^26.2.0" "@types/yargs" "^15.0.0" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.1.0" - jest-haste-map "^26.1.0" - jest-message-util "^26.1.0" - jest-mock "^26.1.0" + jest-config "^26.2.2" + jest-haste-map "^26.2.2" + jest-message-util "^26.2.0" + jest-mock "^26.2.0" jest-regex-util "^26.0.0" - jest-resolve "^26.1.0" - jest-snapshot "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" + jest-resolve "^26.2.2" + jest-snapshot "^26.2.2" + jest-util "^26.2.0" + jest-validate "^26.2.0" slash "^3.0.0" strip-bom "^4.0.0" yargs "^15.3.1" @@ -6377,25 +6455,33 @@ jest-serializer@^26.1.0: dependencies: graceful-fs "^4.2.4" -jest-snapshot@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.1.0.tgz#c36ed1e0334bd7bd2fe5ad07e93a364ead7e1349" - integrity sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw== +jest-serializer@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.2.0.tgz#92dcae5666322410f4bf50211dd749274959ddac" + integrity sha512-V7snZI9IVmyJEu0Qy0inmuXgnMWDtrsbV2p9CRAcmlmPVwpC2ZM8wXyYpiugDQnwLHx0V4+Pnog9Exb3UO8M6Q== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.2.2.tgz#9d2eda083a4a1017b157e351868749bd63211799" + integrity sha512-NdjD8aJS7ePu268Wy/n/aR1TUisG0BOY+QOW4f6h46UHEKOgYmmkvJhh2BqdVZQ0BHSxTMt04WpCf9njzx8KtA== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" "@types/prettier" "^2.0.0" chalk "^4.0.0" - expect "^26.1.0" + expect "^26.2.0" graceful-fs "^4.2.4" - jest-diff "^26.1.0" + jest-diff "^26.2.0" jest-get-type "^26.0.0" - jest-haste-map "^26.1.0" - jest-matcher-utils "^26.1.0" - jest-message-util "^26.1.0" - jest-resolve "^26.1.0" + jest-haste-map "^26.2.2" + jest-matcher-utils "^26.2.0" + jest-message-util "^26.2.0" + jest-resolve "^26.2.2" natural-compare "^1.4.0" - pretty-format "^26.1.0" + pretty-format "^26.2.0" semver "^7.3.2" jest-util@^26.1.0: @@ -6409,28 +6495,41 @@ jest-util@^26.1.0: is-ci "^2.0.0" micromatch "^4.0.2" -jest-validate@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.1.0.tgz#942c85ad3d60f78250c488a7f85d8f11a29788e7" - integrity sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw== +jest-util@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.2.0.tgz#0597d2a27c559340957609f106c408c17c1d88ac" + integrity sha512-YmDwJxLZ1kFxpxPfhSJ0rIkiZOM0PQbRcfH0TzJOhqCisCAsI1WcmoQqO83My9xeVA2k4n+rzg2UuexVKzPpig== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.2.0" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.2.0.tgz#97fedf3e7984b7608854cbf925b9ca6ebcbdb78a" + integrity sha512-8XKn3hM6VIVmLNuyzYLCPsRCT83o8jMZYhbieh4dAyKLc4Ypr36rVKC+c8WMpWkfHHpGnEkvWUjjIAyobEIY/Q== + dependencies: + "@jest/types" "^26.2.0" camelcase "^6.0.0" chalk "^4.0.0" jest-get-type "^26.0.0" leven "^3.1.0" - pretty-format "^26.1.0" + pretty-format "^26.2.0" -jest-watcher@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.1.0.tgz#99812a0cd931f0cb3d153180426135ab83e4d8f2" - integrity sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ== +jest-watcher@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.2.0.tgz#45bdf2fecadd19c0a501f3b071a474dca636825b" + integrity sha512-674Boco4Joe0CzgKPL6K4Z9LgyLx+ZvW2GilbpYb8rFEUkmDGgsZdv1Hv5rxsRpb1HLgKUOL/JfbttRCuFdZXQ== dependencies: - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/test-result" "^26.2.0" + "@jest/types" "^26.2.0" + "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.1.0" + jest-util "^26.2.0" string-length "^4.0.1" jest-worker@^26.0.0, jest-worker@^26.1.0: @@ -6441,14 +6540,23 @@ jest-worker@^26.0.0, jest-worker@^26.1.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^26.0.1: - version "26.0.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.0.1.tgz#5c51a2e58dff7525b65f169721767173bf832694" - integrity sha512-29Q54kn5Bm7ZGKIuH2JRmnKl85YRigp0o0asTc6Sb6l2ch1DCXIeZTLLFy9ultJvhkTqbswF5DEx4+RlkmCxWg== +jest-worker@^26.2.1: + version "26.2.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.2.1.tgz#5d630ab93f666b53f911615bc13e662b382bd513" + integrity sha512-+XcGMMJDTeEGncRb5M5Zq9P7K4sQ1sirhjdOxsN1462h6lFo9w59bl2LVQmdGEEeU3m+maZCkS2Tcc9SfCHO4A== dependencies: - "@jest/core" "^26.0.1" + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.2.2: + version "26.2.2" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.2.2.tgz#a022303887b145147204c5f66e6a5c832333c7e7" + integrity sha512-EkJNyHiAG1+A8pqSz7cXttoVa34hOEzN/MrnJhYnfp5VHxflVcf2pu3oJSrhiy6LfIutLdWo+n6q63tjcoIeig== + dependencies: + "@jest/core" "^26.2.2" import-local "^3.0.2" - jest-cli "^26.0.1" + jest-cli "^26.2.2" js-base64@^2.1.9: version "2.6.2" @@ -8386,16 +8494,6 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.1.0.tgz#272b9cd1f1a924ab5d443dc224899d7a65cb96ec" - integrity sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg== - dependencies: - "@jest/types" "^26.1.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - pretty-format@^26.2.0: version "26.2.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.2.0.tgz#83ecc8d7de676ff224225055e72bd64821cec4f1" From 87799371dfec875b25788dc587979c687c61a2fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:37:50 +0900 Subject: [PATCH 095/703] Bump postcss-modules-local-by-default from 3.0.2 to 3.0.3 (#14505) Bumps [postcss-modules-local-by-default](https://github.com/css-modules/postcss-modules-local-by-default) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/css-modules/postcss-modules-local-by-default/releases) - [Changelog](https://github.com/css-modules/postcss-modules-local-by-default/blob/master/CHANGELOG.md) - [Commits](https://github.com/css-modules/postcss-modules-local-by-default/compare/v3.0.2...v3.0.3) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8db030a59e..0371e43cac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8237,14 +8237,14 @@ postcss-modules-extract-imports@^2.0.0: postcss "^7.0.5" postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" - postcss "^7.0.16" + postcss "^7.0.32" postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" + postcss-value-parser "^4.1.0" postcss-modules-scope@^2.2.0: version "2.2.0" @@ -8423,7 +8423,7 @@ postcss-value-parser@^3.0.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== @@ -8438,7 +8438,7 @@ postcss@^5.0.16: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== From b7295f16ecfe518e486ca02a589456cbbb29be50 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:38:46 +0900 Subject: [PATCH 096/703] Bump dom-accessibility-api from 0.4.6 to 0.4.7 (#14496) Bumps [dom-accessibility-api](https://github.com/eps1lon/dom-accessibility-api) from 0.4.6 to 0.4.7. - [Release notes](https://github.com/eps1lon/dom-accessibility-api/releases) - [Changelog](https://github.com/eps1lon/dom-accessibility-api/blob/main/CHANGELOG.md) - [Commits](https://github.com/eps1lon/dom-accessibility-api/compare/v0.4.6...v0.4.7) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0371e43cac..d4f6aa2379 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3801,9 +3801,9 @@ doctrine@^3.0.0: esutils "^2.0.2" dom-accessibility-api@^0.4.5: - version "0.4.6" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.4.6.tgz#f3f2af68aee01b1c862f37918d41841bb1aaf92a" - integrity sha512-qxFVFR/ymtfamEQT/AsYLe048sitxFCoCHiM+vuOdR3fE94i3so2SCFJxyz/RxV69PZ+9FgToYWOd7eqJqcbYw== + version "0.4.7" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.4.7.tgz#31d01c113af49f323409b3ed09e56967aba485a8" + integrity sha512-5+GzhTpCQYHz4NjL8loYTDVBnXIjNLBadWQBKxXk+osFEplLt3EsSYBu2YZcdZ8QqrvCHgW6TSMGMbmgfhrn2g== dom-helpers@^3.2.1, dom-helpers@^3.4.0: version "3.4.0" From cdb6b5a04bf296d7c4a114434b074066f4e47065 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:39:32 +0900 Subject: [PATCH 097/703] Bump @testing-library/jest-dom from 5.11.0 to 5.11.2 (#14497) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.11.0 to 5.11.2. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/master/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v5.11.0...v5.11.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 33 ++++++++++++++++++++------------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 1a458f8d37..b4eb09a46e 100644 --- a/package.json +++ b/package.json @@ -169,7 +169,7 @@ "wicg-inert": "^3.0.3" }, "devDependencies": { - "@testing-library/jest-dom": "^5.11.0", + "@testing-library/jest-dom": "^5.11.2", "@testing-library/react": "^10.4.7", "babel-eslint": "^10.1.0", "babel-jest": "^26.1.0", diff --git a/yarn.lock b/yarn.lock index d4f6aa2379..3b5bb508d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1380,16 +1380,16 @@ dom-accessibility-api "^0.4.5" pretty-format "^25.5.0" -"@testing-library/jest-dom@^5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.11.0.tgz#1439f08dc85ce7c6d3bbad0ee5d53b2206f55768" - integrity sha512-mhaCySy7dZlyfcxcYy+0jLllODHEiHkVdmwQ00wD0HrWiSx0fSVHz/0WmdlRkvhfSOuqsRsBUreXOtBvruWGQA== +"@testing-library/jest-dom@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.11.2.tgz#c49de331555c70127b5d7fc97344ad5265f4c54c" + integrity sha512-s+rWJx+lanEGKqvOl4qJR0rGjCrxsEjj9qjxFlg4NV4/FRD7fnUUAWPHqwpyafNHfLYArs58FADgdn4UKmjFmw== dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" aria-query "^4.2.2" chalk "^3.0.0" - css "^2.2.4" + css "^3.0.0" css.escape "^1.5.1" jest-diff "^25.1.0" jest-matcher-utils "^25.1.0" @@ -3413,15 +3413,14 @@ css.escape@^1.5.1: resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= -css@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== dependencies: - inherits "^2.0.3" + inherits "^2.0.4" source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" + source-map-resolve "^0.6.0" cssesc@^3.0.0: version "3.0.0" @@ -9886,7 +9885,7 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: +source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== @@ -9897,6 +9896,14 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + source-map-support@^0.5.6, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" From a37d9b6268ca4fcced6ed5e0b720fbe2a97412d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:39:58 +0900 Subject: [PATCH 098/703] Bump minipass-pipeline from 1.2.3 to 1.2.4 (#14504) Bumps minipass-pipeline from 1.2.3 to 1.2.4. Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3b5bb508d9..058ec5902f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7178,9 +7178,9 @@ minipass-flush@^1.0.5: minipass "^3.0.0" minipass-pipeline@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34" - integrity sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" From b61e060501f863ef12008e961b93e019f852e0b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:41:07 +0900 Subject: [PATCH 099/703] Bump node-notifier from 7.0.1 to 7.0.2 (#14499) Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 7.0.1 to 7.0.2. - [Release notes](https://github.com/mikaelbr/node-notifier/releases) - [Changelog](https://github.com/mikaelbr/node-notifier/blob/master/CHANGELOG.md) - [Commits](https://github.com/mikaelbr/node-notifier/compare/v7.0.1...v7.0.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/yarn.lock b/yarn.lock index 058ec5902f..4e87103363 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5832,9 +5832,9 @@ is-directory@^0.3.1: integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.0.tgz#25dc043e4fdc3cf969d622735e05a86ba9952e2b" + integrity sha512-mB2WygGsSeoXtLKpSYzP6sa0Z9DyU9ZyKlnvuZWxCociaI0qsF8u12sR72DFTX236g1u6oWSWYFuUk09nGQEjg== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" @@ -6036,7 +6036,7 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -is-wsl@^2.1.1: +is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -7377,15 +7377,15 @@ node-modules-regexp@^1.0.0: integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.1.tgz#a355e33e6bebacef9bf8562689aed0f4230ca6f9" - integrity sha512-VkzhierE7DBmQEElhTGJIoiZa1oqRijOtgOlsXg32KrJRXsPy0NXFBqWGW/wTswnJlDCs5viRYaqWguqzsKcmg== + version "7.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.2.tgz#3a70b1b70aca5e919d0b1b022530697466d9c675" + integrity sha512-ux+n4hPVETuTL8+daJXTOC6uKLgMsl1RYfFv7DKRzyvzBapqco0rZZ9g72ZN8VS6V+gvNYHYa/ofcCY8fkJWsA== dependencies: growly "^1.3.0" - is-wsl "^2.1.1" - semver "^7.2.1" + is-wsl "^2.2.0" + semver "^7.3.2" shellwords "^0.1.1" - uuid "^7.0.3" + uuid "^8.2.0" which "^2.0.2" node-releases@^1.1.58: @@ -10928,15 +10928,10 @@ uuid@^3.3.2, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== - uuid@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.2.0.tgz#cb10dd6b118e2dada7d0cd9730ba7417c93d920e" - integrity sha512-CYpGiFTUrmI6OBMkAdjSDM0k5h8SkkiTP4WAjQgDgNB1S3Ou9VBEvr6q0Kv2H1mMk7IWfxYGpMH5sd5AvcIV2Q== + version "8.3.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" + integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: version "2.1.1" From 4a4d08f3a078fbc6380a786145cc05f67c1f6e90 Mon Sep 17 00:00:00 2001 From: abcang Date: Fri, 7 Aug 2020 17:40:33 +0900 Subject: [PATCH 100/703] Fix eslint error (#14521) --- .../mastodon/features/compose/containers/warning_container.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/features/compose/containers/warning_container.js b/app/javascript/mastodon/features/compose/containers/warning_container.js index 2977ef5df1..bf0660ea9d 100644 --- a/app/javascript/mastodon/features/compose/containers/warning_container.js +++ b/app/javascript/mastodon/features/compose/containers/warning_container.js @@ -7,7 +7,7 @@ import { me } from '../../../initial_state'; const buildHashtagRE = () => { try { - const HASHTAG_SEPARATORS = "_\\u00b7\\u200c"; + const HASHTAG_SEPARATORS = '_\\u00b7\\u200c'; const ALPHA = '\\p{L}\\p{M}'; const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}'; return new RegExp( @@ -21,7 +21,7 @@ const buildHashtagRE = () => { '[' + WORD + '_]*' + '[' + ALPHA + ']' + '[' + WORD + '_]*' + - '))', 'iu' + '))', 'iu', ); } catch { return /(?:^|[^\/\)\w])#(\w*[a-zA-Z·]\w*)/i; From bd3420b1398c4c4ab2e2f2850b6dd6eaff0d361b Mon Sep 17 00:00:00 2001 From: ThibG Date: Sat, 8 Aug 2020 17:57:56 +0200 Subject: [PATCH 101/703] Fix crash when failing to load emoji picker (#14525) Fixes #14523 --- .../features/compose/components/emoji_picker_dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js index 360a7af6ab..e8a36a9231 100644 --- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js @@ -315,7 +315,7 @@ class EmojiPickerDropdown extends React.PureComponent { this.setState({ loading: false }); }).catch(() => { - this.setState({ loading: false }); + this.setState({ loading: false, active: false }); }); } From 8b61bb1c3e08e34e381b64eac88f2f6a6fb98680 Mon Sep 17 00:00:00 2001 From: niwatori24 <62463593+niwatori24@users.noreply.github.com> Date: Sun, 9 Aug 2020 22:23:42 +0900 Subject: [PATCH 102/703] Cache result of SQL (#14534) --- app/models/form/custom_emoji_batch.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/form/custom_emoji_batch.rb b/app/models/form/custom_emoji_batch.rb index 6b7ea5355d..f4fa84c102 100644 --- a/app/models/form/custom_emoji_batch.rb +++ b/app/models/form/custom_emoji_batch.rb @@ -30,7 +30,7 @@ class Form::CustomEmojiBatch private def custom_emojis - CustomEmoji.where(id: custom_emoji_ids) + @custom_emojis ||= CustomEmoji.where(id: custom_emoji_ids) end def update! From 1326c575062191b5c6f8d4363279209da73ae576 Mon Sep 17 00:00:00 2001 From: niwatori24 <62463593+niwatori24@users.noreply.github.com> Date: Mon, 10 Aug 2020 08:50:43 +0900 Subject: [PATCH 103/703] Use default :edit routing (#14535) --- config/routes.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index 349db09343..b55221925a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -171,11 +171,7 @@ Rails.application.routes.draw do get '/dashboard', to: 'dashboard#index' resources :domain_allows, only: [:new, :create, :show, :destroy] - resources :domain_blocks, only: [:new, :create, :show, :destroy, :update] do - member do - get :edit - end - end + resources :domain_blocks, only: [:new, :create, :show, :destroy, :update, :edit] resources :email_domain_blocks, only: [:index, :new, :create, :destroy] resources :action_logs, only: [:index] From decc5b9a78047539b328224f3349a47bfc9834b7 Mon Sep 17 00:00:00 2001 From: ThibG Date: Mon, 10 Aug 2020 01:51:06 +0200 Subject: [PATCH 104/703] Fix `tootctl media` commands not handling snowflake ids for media_attachments (#14536) --- lib/mastodon/media_cli.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/mastodon/media_cli.rb b/lib/mastodon/media_cli.rb index 2a4e3e379f..7b82c3d220 100644 --- a/lib/mastodon/media_cli.rb +++ b/lib/mastodon/media_cli.rb @@ -89,7 +89,7 @@ module Mastodon path_segments = object.key.split('/') path_segments.delete('cache') - if path_segments.size != 7 + unless [7, 10].include?(path_segments.size) progress.log(pastel.yellow("Unrecognized file found: #{object.key}")) next end @@ -133,7 +133,7 @@ module Mastodon path_segments = key.split(File::SEPARATOR) path_segments.delete('cache') - if path_segments.size != 7 + unless [7, 10].include?(path_segments.size) progress.log(pastel.yellow("Unrecognized file found: #{key}")) next end @@ -258,7 +258,7 @@ module Mastodon path_segments = path.split('/')[2..-1] path_segments.delete('cache') - if path_segments.size != 7 + unless [7, 10].include?(path_segments.size) say('Not a media URL', :red) exit(1) end @@ -311,7 +311,7 @@ module Mastodon segments = object.key.split('/') segments.delete('cache') - next if segments.size != 7 + next unless [7, 10].include?(segments.size) model_name = segments.first.classify record_id = segments[2..-2].join.to_i From ef057584fd2714d94666f9ffef4aa89147eda72c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 11 Aug 2020 18:24:59 +0200 Subject: [PATCH 105/703] Add support for managing multiple stream subscriptions in a single connection (#14524) --- app/javascript/mastodon/actions/streaming.js | 99 ++- app/javascript/mastodon/stream.js | 288 +++++-- streaming/index.js | 754 +++++++++++++------ 3 files changed, 817 insertions(+), 324 deletions(-) diff --git a/app/javascript/mastodon/actions/streaming.js b/app/javascript/mastodon/actions/streaming.js index d998fcac48..beb5c6a4a9 100644 --- a/app/javascript/mastodon/actions/streaming.js +++ b/app/javascript/mastodon/actions/streaming.js @@ -1,3 +1,5 @@ +// @ts-check + import { connectStream } from '../stream'; import { updateTimeline, @@ -19,24 +21,59 @@ import { getLocale } from '../locales'; const { messages } = getLocale(); -export function connectTimelineStream (timelineId, path, pollingRefresh = null, accept = null) { +/** + * @param {number} max + * @return {number} + */ +const randomUpTo = max => + Math.floor(Math.random() * Math.floor(max)); - return connectStream (path, pollingRefresh, (dispatch, getState) => { +/** + * @param {string} timelineId + * @param {string} channelName + * @param {Object.} params + * @param {Object} options + * @param {function(Function, Function): void} [options.fallback] + * @param {function(object): boolean} [options.accept] + * @return {function(): void} + */ +export const connectTimelineStream = (timelineId, channelName, params = {}, options = {}) => + connectStream(channelName, params, (dispatch, getState) => { const locale = getState().getIn(['meta', 'locale']); + let pollingId; + + /** + * @param {function(Function, Function): void} fallback + */ + const useFallback = fallback => { + fallback(dispatch, () => { + pollingId = setTimeout(() => useFallback(fallback), 20000 + randomUpTo(20000)); + }); + }; + return { onConnect() { dispatch(connectTimeline(timelineId)); + + if (pollingId) { + clearTimeout(pollingId); + pollingId = null; + } }, onDisconnect() { dispatch(disconnectTimeline(timelineId)); + + if (options.fallback) { + pollingId = setTimeout(() => useFallback(options.fallback), randomUpTo(40000)); + } }, onReceive (data) { switch(data.event) { case 'update': - dispatch(updateTimeline(timelineId, JSON.parse(data.payload), accept)); + dispatch(updateTimeline(timelineId, JSON.parse(data.payload), options.accept)); break; case 'delete': dispatch(deleteFromTimelines(data.payload)); @@ -63,17 +100,59 @@ export function connectTimelineStream (timelineId, path, pollingRefresh = null, }, }; }); -} +/** + * @param {Function} dispatch + * @param {function(): void} done + */ const refreshHomeTimelineAndNotification = (dispatch, done) => { dispatch(expandHomeTimeline({}, () => dispatch(expandNotifications({}, () => dispatch(fetchAnnouncements(done)))))); }; -export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification); -export const connectCommunityStream = ({ onlyMedia } = {}) => connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`); -export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`); -export const connectHashtagStream = (id, tag, local, accept) => connectTimelineStream(`hashtag:${id}${local ? ':local' : ''}`, `hashtag${local ? ':local' : ''}&tag=${tag}`, null, accept); -export const connectDirectStream = () => connectTimelineStream('direct', 'direct'); -export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`); +/** + * @return {function(): void} + */ +export const connectUserStream = () => + connectTimelineStream('home', 'user', {}, { fallback: refreshHomeTimelineAndNotification }); + +/** + * @param {Object} options + * @param {boolean} [options.onlyMedia] + * @return {function(): void} + */ +export const connectCommunityStream = ({ onlyMedia } = {}) => + connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`); + +/** + * @param {Object} options + * @param {boolean} [options.onlyMedia] + * @param {boolean} [options.onlyRemote] + * @return {function(): void} + */ +export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => + connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`); + +/** + * @param {string} columnId + * @param {string} tagName + * @param {boolean} onlyLocal + * @param {function(object): boolean} accept + * @return {function(): void} + */ +export const connectHashtagStream = (columnId, tagName, onlyLocal, accept) => + connectTimelineStream(`hashtag:${columnId}${onlyLocal ? ':local' : ''}`, `hashtag${onlyLocal ? ':local' : ''}`, { tag: tagName }, { accept }); + +/** + * @return {function(): void} + */ +export const connectDirectStream = () => + connectTimelineStream('direct', 'direct'); + +/** + * @param {string} listId + * @return {function(): void} + */ +export const connectListStream = listId => + connectTimelineStream(`list:${listId}`, 'list', { list: listId }); diff --git a/app/javascript/mastodon/stream.js b/app/javascript/mastodon/stream.js index 0cb2b228f3..640455b33d 100644 --- a/app/javascript/mastodon/stream.js +++ b/app/javascript/mastodon/stream.js @@ -1,87 +1,236 @@ +// @ts-check + import WebSocketClient from '@gamestdio/websocket'; -const randomIntUpTo = max => Math.floor(Math.random() * Math.floor(max)); +/** + * @type {WebSocketClient | undefined} + */ +let sharedConnection; -const knownEventTypes = [ - 'update', - 'delete', - 'notification', - 'conversation', - 'filters_changed', -]; +/** + * @typedef Subscription + * @property {string} channelName + * @property {Object.} params + * @property {function(): void} onConnect + * @property {function(StreamEvent): void} onReceive + * @property {function(): void} onDisconnect + */ -export function connectStream(path, pollingRefresh = null, callbacks = () => ({ onConnect() {}, onDisconnect() {}, onReceive() {} })) { - return (dispatch, getState) => { - const streamingAPIBaseURL = getState().getIn(['meta', 'streaming_api_base_url']); - const accessToken = getState().getIn(['meta', 'access_token']); - const { onConnect, onDisconnect, onReceive } = callbacks(dispatch, getState); + /** + * @typedef StreamEvent + * @property {string} event + * @property {object} payload + */ - let polling = null; +/** + * @type {Array.} + */ +const subscriptions = []; - const setupPolling = () => { - pollingRefresh(dispatch, () => { - polling = setTimeout(() => setupPolling(), 20000 + randomIntUpTo(20000)); - }); - }; +/** + * @type {Object.} + */ +const subscriptionCounters = {}; - const clearPolling = () => { - if (polling) { - clearTimeout(polling); - polling = null; +/** + * @param {Subscription} subscription + */ +const addSubscription = subscription => { + subscriptions.push(subscription); +}; + +/** + * @param {Subscription} subscription + */ +const removeSubscription = subscription => { + const index = subscriptions.indexOf(subscription); + + if (index !== -1) { + subscriptions.splice(index, 1); + } +}; + +/** + * @param {Subscription} subscription + */ +const subscribe = ({ channelName, params, onConnect }) => { + const key = channelNameWithInlineParams(channelName, params); + + subscriptionCounters[key] = subscriptionCounters[key] || 0; + + if (subscriptionCounters[key] === 0) { + sharedConnection.send(JSON.stringify({ type: 'subscribe', stream: channelName, ...params })); + } + + subscriptionCounters[key] += 1; + onConnect(); +}; + +/** + * @param {Subscription} subscription + */ +const unsubscribe = ({ channelName, params, onDisconnect }) => { + const key = channelNameWithInlineParams(channelName, params); + + subscriptionCounters[key] = subscriptionCounters[key] || 1; + + if (subscriptionCounters[key] === 1 && sharedConnection.readyState === WebSocketClient.OPEN) { + sharedConnection.send(JSON.stringify({ type: 'unsubscribe', stream: channelName, ...params })); + } + + subscriptionCounters[key] -= 1; + onDisconnect(); +}; + +const sharedCallbacks = { + connected () { + subscriptions.forEach(subscription => subscribe(subscription)); + }, + + received (data) { + const { stream } = data; + + subscriptions.filter(({ channelName, params }) => { + const streamChannelName = stream[0]; + + if (stream.length === 1) { + return channelName === streamChannelName; } - }; - const subscription = getStream(streamingAPIBaseURL, accessToken, path, { + const streamIdentifier = stream[1]; + + if (['hashtag', 'hashtag:local'].includes(channelName)) { + return channelName === streamChannelName && params.tag === streamIdentifier; + } else if (channelName === 'list') { + return channelName === streamChannelName && params.list === streamIdentifier; + } + + return false; + }).forEach(subscription => { + subscription.onReceive(data); + }); + }, + + disconnected () { + subscriptions.forEach(({ onDisconnect }) => onDisconnect()); + }, + + reconnected () { + subscriptions.forEach(subscription => subscribe(subscription)); + }, +}; + +/** + * @param {string} channelName + * @param {Object.} params + * @return {string} + */ +const channelNameWithInlineParams = (channelName, params) => { + if (Object.keys(params).length === 0) { + return channelName; + } + + return `${channelName}&${Object.keys(params).map(key => `${key}=${params[key]}`).join('&')}`; +}; + +/** + * @param {string} channelName + * @param {Object.} params + * @param {function(Function, Function): { onConnect: (function(): void), onReceive: (function(StreamEvent): void), onDisconnect: (function(): void) }} callbacks + * @return {function(): void} + */ +export const connectStream = (channelName, params, callbacks) => (dispatch, getState) => { + const streamingAPIBaseURL = getState().getIn(['meta', 'streaming_api_base_url']); + const accessToken = getState().getIn(['meta', 'access_token']); + const { onConnect, onReceive, onDisconnect } = callbacks(dispatch, getState); + + // If we cannot use a websockets connection, we must fall back + // to using individual connections for each channel + if (!streamingAPIBaseURL.startsWith('ws')) { + const connection = createConnection(streamingAPIBaseURL, accessToken, channelNameWithInlineParams(channelName, params), { connected () { - if (pollingRefresh) { - clearPolling(); - } - onConnect(); }, - disconnected () { - if (pollingRefresh) { - polling = setTimeout(() => setupPolling(), randomIntUpTo(40000)); - } - - onDisconnect(); - }, - received (data) { onReceive(data); }, - reconnected () { - if (pollingRefresh) { - clearPolling(); - pollingRefresh(dispatch); - } - - onConnect(); + disconnected () { + onDisconnect(); }, + reconnected () { + onConnect(); + }, }); - const disconnect = () => { - if (subscription) { - subscription.close(); - } - - clearPolling(); + return () => { + connection.close(); }; + } - return disconnect; + const subscription = { + channelName, + params, + onConnect, + onReceive, + onDisconnect, }; -} + addSubscription(subscription); -export default function getStream(streamingAPIBaseURL, accessToken, stream, { connected, received, disconnected, reconnected }) { - const params = stream.split('&'); - stream = params.shift(); + // If a connection is open, we can execute the subscription right now. Otherwise, + // because we have already registered it, it will be executed on connect + + if (!sharedConnection) { + sharedConnection = /** @type {WebSocketClient} */ (createConnection(streamingAPIBaseURL, accessToken, '', sharedCallbacks)); + } else if (sharedConnection.readyState === WebSocketClient.OPEN) { + subscribe(subscription); + } + + return () => { + removeSubscription(subscription); + unsubscribe(subscription); + }; +}; + +const KNOWN_EVENT_TYPES = [ + 'update', + 'delete', + 'notification', + 'conversation', + 'filters_changed', + 'encrypted_message', + 'announcement', + 'announcement.delete', + 'announcement.reaction', +]; + +/** + * @param {MessageEvent} e + * @param {function(StreamEvent): void} received + */ +const handleEventSourceMessage = (e, received) => { + received({ + event: e.type, + payload: e.data, + }); +}; + +/** + * @param {string} streamingAPIBaseURL + * @param {string} accessToken + * @param {string} channelName + * @param {{ connected: Function, received: function(StreamEvent): void, disconnected: Function, reconnected: Function }} callbacks + * @return {WebSocketClient | EventSource} + */ +const createConnection = (streamingAPIBaseURL, accessToken, channelName, { connected, received, disconnected, reconnected }) => { + const params = channelName.split('&'); + + channelName = params.shift(); if (streamingAPIBaseURL.startsWith('ws')) { - params.unshift(`stream=${stream}`); const ws = new WebSocketClient(`${streamingAPIBaseURL}/api/v1/streaming/?${params.join('&')}`, accessToken); ws.onopen = connected; @@ -92,11 +241,19 @@ export default function getStream(streamingAPIBaseURL, accessToken, stream, { co return ws; } - stream = stream.replace(/:/g, '/'); + channelName = channelName.replace(/:/g, '/'); + + if (channelName.endsWith(':media')) { + channelName = channelName.replace('/media', ''); + params.push('only_media=true'); + } + params.push(`access_token=${accessToken}`); - const es = new EventSource(`${streamingAPIBaseURL}/api/v1/streaming/${stream}?${params.join('&')}`); + + const es = new EventSource(`${streamingAPIBaseURL}/api/v1/streaming/${channelName}?${params.join('&')}`); let firstConnect = true; + es.onopen = () => { if (firstConnect) { firstConnect = false; @@ -105,15 +262,12 @@ export default function getStream(streamingAPIBaseURL, accessToken, stream, { co reconnected(); } }; - for (let type of knownEventTypes) { - es.addEventListener(type, (e) => { - received({ - event: e.type, - payload: e.data, - }); - }); - } - es.onerror = disconnected; + + KNOWN_EVENT_TYPES.forEach(type => { + es.addEventListener(type, e => handleEventSourceMessage(/** @type {MessageEvent} */ (e), received)); + }); + + es.onerror = /** @type {function(): void} */ (disconnected); return es; }; diff --git a/streaming/index.js b/streaming/index.js index 39e70c1ba7..7c0c6a465e 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -1,3 +1,5 @@ +// @ts-check + const os = require('os'); const throng = require('throng'); const dotenv = require('dotenv'); @@ -12,7 +14,7 @@ const uuid = require('uuid'); const fs = require('fs'); const env = process.env.NODE_ENV || 'development'; -const alwaysRequireAuth = process.env.WHITELIST_MODE === 'true' || process.env.AUTHORIZED_FETCH === 'true'; +const alwaysRequireAuth = process.env.LIMITED_FEDERATION_MODE === 'true' || process.env.WHITELIST_MODE === 'true' || process.env.AUTHORIZED_FETCH === 'true'; dotenv.config({ path: env === 'production' ? '.env.production' : '.env', @@ -20,6 +22,10 @@ dotenv.config({ log.level = process.env.LOG_LEVEL || 'verbose'; +/** + * @param {string} dbUrl + * @return {Object.} + */ const dbUrlToConfig = (dbUrl) => { if (!dbUrl) { return {}; @@ -53,6 +59,10 @@ const dbUrlToConfig = (dbUrl) => { return config; }; +/** + * @param {Object.} defaultConfig + * @param {string} redisUrl + */ const redisUrlToClient = (defaultConfig, redisUrl) => { const config = defaultConfig; @@ -108,6 +118,7 @@ const startWorker = (workerId) => { } const app = express(); + app.set('trusted proxy', process.env.TRUSTED_PROXY_IP || 'loopback,uniquelocal'); const pgPool = new pg.Pool(Object.assign(pgConfigs[env], dbUrlToConfig(process.env.DATABASE_URL))); @@ -130,6 +141,9 @@ const startWorker = (workerId) => { const redisSubscribeClient = redisUrlToClient(redisParams, process.env.REDIS_URL); const redisClient = redisUrlToClient(redisParams, process.env.REDIS_URL); + /** + * @type {Object.>} + */ const subs = {}; redisSubscribeClient.on('message', (channel, message) => { @@ -144,11 +158,11 @@ const startWorker = (workerId) => { callbacks.forEach(callback => callback(message)); }); + /** + * @param {string[]} channels + * @return {function(): void} + */ const subscriptionHeartbeat = channels => { - if (!Array.isArray(channels)) { - channels = [channels]; - } - const interval = 6 * 60; const tellSubscribed = () => { @@ -164,25 +178,65 @@ const startWorker = (workerId) => { }; }; + /** + * @param {string} channel + * @param {function(string): void} callback + */ const subscribe = (channel, callback) => { log.silly(`Adding listener for ${channel}`); subs[channel] = subs[channel] || []; + if (subs[channel].length === 0) { log.verbose(`Subscribe ${channel}`); redisSubscribeClient.subscribe(channel); } + subs[channel].push(callback); }; + /** + * @param {string} channel + * @param {function(string): void} callback + */ const unsubscribe = (channel, callback) => { log.silly(`Removing listener for ${channel}`); + + if (!subs[channel]) { + return; + } + subs[channel] = subs[channel].filter(item => item !== callback); + if (subs[channel].length === 0) { log.verbose(`Unsubscribe ${channel}`); redisSubscribeClient.unsubscribe(channel); } }; + const FALSE_VALUES = [ + false, + 0, + "0", + "f", + "F", + "false", + "FALSE", + "off", + "OFF" + ]; + + /** + * @param {any} value + * @return {boolean} + */ + const isTruthy = value => + value && !FALSE_VALUES.includes(value); + + /** + * @param {any} req + * @param {any} res + * @param {function(Error=): void} + */ const allowCrossDomain = (req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Authorization, Accept, Cache-Control'); @@ -191,6 +245,11 @@ const startWorker = (workerId) => { next(); }; + /** + * @param {any} req + * @param {any} res + * @param {function(Error=): void} + */ const setRequestId = (req, res, next) => { req.requestId = uuid.v4(); res.header('X-Request-Id', req.requestId); @@ -198,16 +257,26 @@ const startWorker = (workerId) => { next(); }; + /** + * @param {any} req + * @param {any} res + * @param {function(Error=): void} + */ const setRemoteAddress = (req, res, next) => { req.remoteAddress = req.connection.remoteAddress; next(); }; - const accountFromToken = (token, allowedScopes, req, next) => { + /** + * @param {string} token + * @param {any} req + * @return {Promise.} + */ + const accountFromToken = (token, req) => new Promise((resolve, reject) => { pgPool.connect((err, client, done) => { if (err) { - next(err); + reject(err); return; } @@ -215,62 +284,88 @@ const startWorker = (workerId) => { done(); if (err) { - next(err); + reject(err); return; } if (result.rows.length === 0) { err = new Error('Invalid access token'); - err.statusCode = 401; + err.status = 401; - next(err); - return; - } - - const scopes = result.rows[0].scopes.split(' '); - - if (allowedScopes.size > 0 && !scopes.some(scope => allowedScopes.includes(scope))) { - err = new Error('Access token does not cover required scopes'); - err.statusCode = 401; - - next(err); + reject(err); return; } + req.scopes = result.rows[0].scopes.split(' '); req.accountId = result.rows[0].account_id; req.chosenLanguages = result.rows[0].chosen_languages; - req.allowNotifications = scopes.some(scope => ['read', 'read:notifications'].includes(scope)); + req.allowNotifications = req.scopes.some(scope => ['read', 'read:notifications'].includes(scope)); req.deviceId = result.rows[0].device_id; - next(); + resolve(); }); }); - }; + }); - const accountFromRequest = (req, next, required = true, allowedScopes = ['read']) => { + /** + * @param {any} req + * @param {boolean=} required + * @return {Promise.} + */ + const accountFromRequest = (req, required = true) => new Promise((resolve, reject) => { const authorization = req.headers.authorization; - const location = url.parse(req.url, true); - const accessToken = location.query.access_token || req.headers['sec-websocket-protocol']; + const location = url.parse(req.url, true); + const accessToken = location.query.access_token || req.headers['sec-websocket-protocol']; if (!authorization && !accessToken) { if (required) { const err = new Error('Missing access token'); - err.statusCode = 401; + err.status = 401; - next(err); + reject(err); return; } else { - next(); + resolve(); return; } } const token = authorization ? authorization.replace(/^Bearer /, '') : accessToken; - accountFromToken(token, allowedScopes, req, next); + resolve(accountFromToken(token, req)); + }); + + /** + * @param {any} req + * @return {string} + */ + const channelNameFromPath = req => { + const { path, query } = req; + const onlyMedia = isTruthy(query.only_media); + + switch(path) { + case '/api/v1/streaming/user': + return 'user'; + case '/api/v1/streaming/user/notification': + return 'user:notification'; + case '/api/v1/streaming/public': + return onlyMedia ? 'public:media' : 'public'; + case '/api/v1/streaming/public/local': + return onlyMedia ? 'public:local:media' : 'public:local'; + case '/api/v1/streaming/public/remote': + return onlyMedia ? 'public:remote:media' : 'public:remote'; + case '/api/v1/streaming/hashtag': + return 'hashtag'; + case '/api/v1/streaming/hashtag/local': + return 'hashtag:local'; + case '/api/v1/streaming/direct': + return 'direct'; + case '/api/v1/streaming/list': + return 'list'; + } }; - const PUBLIC_STREAMS = [ + const PUBLIC_CHANNELS = [ 'public', 'public:media', 'public:local', @@ -281,95 +376,148 @@ const startWorker = (workerId) => { 'hashtag:local', ]; - const wsVerifyClient = (info, cb) => { - const location = url.parse(info.req.url, true); - const authRequired = alwaysRequireAuth || !PUBLIC_STREAMS.some(stream => stream === location.query.stream); - const allowedScopes = []; + /** + * @param {any} req + * @param {string} channelName + * @return {Promise.} + */ + const checkScopes = (req, channelName) => new Promise((resolve, reject) => { + log.silly(req.requestId, `Checking OAuth scopes for ${channelName}`); - if (authRequired) { - allowedScopes.push('read'); - if (location.query.stream === 'user:notification') { - allowedScopes.push('read:notifications'); - } else { - allowedScopes.push('read:statuses'); - } + // When accessing public channels, no scopes are needed + if (PUBLIC_CHANNELS.includes(channelName)) { + resolve(); + return; } - accountFromRequest(info.req, err => { - if (!err) { - cb(true, undefined, undefined); - } else { - log.error(info.req.requestId, err.toString()); - cb(false, 401, 'Unauthorized'); - } - }, authRequired, allowedScopes); + // The `read` scope has the highest priority, if the token has it + // then it can access all streams + const requiredScopes = ['read']; + + // When accessing specifically the notifications stream, + // we need a read:notifications, while in all other cases, + // we can allow access with read:statuses. Mind that the + // user stream will not contain notifications unless + // the token has either read or read:notifications scope + // as well, this is handled separately. + if (channelName === 'user:notification') { + requiredScopes.push('read:notifications'); + } else { + requiredScopes.push('read:statuses'); + } + + if (requiredScopes.some(requiredScope => req.scopes.includes(requiredScope))) { + resolve(); + return; + } + + const err = new Error('Access token does not cover required scopes'); + err.status = 401; + + reject(err); + }); + + /** + * @param {any} info + * @param {function(boolean, number, string): void} callback + */ + const wsVerifyClient = (info, callback) => { + // When verifying the websockets connection, we no longer pre-emptively + // check OAuth scopes and drop the connection if they're missing. We only + // drop the connection if access without token is not allowed by environment + // variables. OAuth scope checks are moved to the point of subscription + // to a specific stream. + + accountFromRequest(info.req, alwaysRequireAuth).then(() => { + callback(true, undefined, undefined); + }).catch(err => { + log.error(info.req.requestId, err.toString()); + callback(false, 401, 'Unauthorized'); + }); }; - const PUBLIC_ENDPOINTS = [ - '/api/v1/streaming/public', - '/api/v1/streaming/public/local', - '/api/v1/streaming/public/remote', - '/api/v1/streaming/hashtag', - '/api/v1/streaming/hashtag/local', - ]; - + /** + * @param {any} req + * @param {any} res + * @param {function(Error=): void} next + */ const authenticationMiddleware = (req, res, next) => { if (req.method === 'OPTIONS') { next(); return; } - const authRequired = alwaysRequireAuth || !PUBLIC_ENDPOINTS.some(endpoint => endpoint === req.path); - const allowedScopes = []; - - if (authRequired) { - allowedScopes.push('read'); - if (req.path === '/api/v1/streaming/user/notification') { - allowedScopes.push('read:notifications'); - } else { - allowedScopes.push('read:statuses'); - } - } - - accountFromRequest(req, next, authRequired, allowedScopes); - }; - - const errorMiddleware = (err, req, res, {}) => { - log.error(req.requestId, err.toString()); - res.writeHead(err.statusCode || 500, { 'Content-Type': 'application/json' }); - res.end(JSON.stringify({ error: err.statusCode ? err.toString() : 'An unexpected error occurred' })); - }; - - const placeholders = (arr, shift = 0) => arr.map((_, i) => `$${i + 1 + shift}`).join(', '); - - const authorizeListAccess = (id, req, next) => { - pgPool.connect((err, client, done) => { - if (err) { - next(false); - return; - } - - client.query('SELECT id, account_id FROM lists WHERE id = $1 LIMIT 1', [id], (err, result) => { - done(); - - if (err || result.rows.length === 0 || result.rows[0].account_id !== req.accountId) { - next(false); - return; - } - - next(true); - }); + accountFromRequest(req, alwaysRequireAuth).then(() => checkScopes(req, channelNameFromPath(req))).then(() => { + next(); + }).catch(err => { + next(err); }); }; + /** + * @param {Error} err + * @param {any} req + * @param {any} res + * @param {function(Error=): void} next + */ + const errorMiddleware = (err, req, res, next) => { + log.error(req.requestId, err.toString()); + + if (res.headersSent) { + return next(err); + } + + res.writeHead(err.status || 500, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify({ error: err.status ? err.toString() : 'An unexpected error occurred' })); + }; + + /** + * @param {array} + * @param {number=} shift + * @return {string} + */ + const placeholders = (arr, shift = 0) => arr.map((_, i) => `$${i + 1 + shift}`).join(', '); + + /** + * @param {string} listId + * @param {any} req + * @return {Promise.} + */ + const authorizeListAccess = (listId, req) => new Promise((resolve, reject) => { + const { accountId } = req; + + pgPool.connect((err, client, done) => { + if (err) { + reject(); + return; + } + + client.query('SELECT id, account_id FROM lists WHERE id = $1 LIMIT 1', [listId], (err, result) => { + done(); + + if (err || result.rows.length === 0 || result.rows[0].account_id !== accountId) { + reject(); + return; + } + + resolve(); + }); + }); + }); + + /** + * @param {string[]} ids + * @param {any} req + * @param {function(string, string): void} output + * @param {function(string[], function(string): void): void} attachCloseHandler + * @param {boolean=} needsFiltering + * @param {boolean=} notificationOnly + * @return {function(string): void} + */ const streamFrom = (ids, req, output, attachCloseHandler, needsFiltering = false, notificationOnly = false) => { const accountId = req.accountId || req.remoteAddress; const streamType = notificationOnly ? ' (notification)' : ''; - if (!Array.isArray(ids)) { - ids = [ids]; - } - log.verbose(req.requestId, `Starting stream from ${ids.join(', ')} for ${accountId}${streamType}`); const listener = message => { @@ -447,10 +595,18 @@ const startWorker = (workerId) => { subscribe(`${redisPrefix}${id}`, listener); }); - attachCloseHandler(ids.map(id => `${redisPrefix}${id}`), listener); + if (attachCloseHandler) { + attachCloseHandler(ids.map(id => `${redisPrefix}${id}`), listener); + } + + return listener; }; - // Setup stream output to HTTP + /** + * @param {any} req + * @param {any} res + * @return {function(string, string): void} + */ const streamToHttp = (req, res) => { const accountId = req.accountId || req.remoteAddress; @@ -473,12 +629,12 @@ const startWorker = (workerId) => { }; }; - // Setup stream end for HTTP - const streamHttpEnd = (req, closeHandler = false) => (ids, listener) => { - if (!Array.isArray(ids)) { - ids = [ids]; - } - + /** + * @param {any} req + * @param {function(): void} [closeHandler] + * @return {function(string[], function(string): void)} + */ + const streamHttpEnd = (req, closeHandler = undefined) => (ids, listener) => { req.on('close', () => { ids.forEach(id => { unsubscribe(id, listener); @@ -490,37 +646,24 @@ const startWorker = (workerId) => { }); }; - // Setup stream output to WebSockets - const streamToWs = (req, ws) => (event, payload) => { + /** + * @param {any} req + * @param {any} ws + * @param {string[]} streamName + * @return {function(string, string): void} + */ + const streamToWs = (req, ws, streamName) => (event, payload) => { if (ws.readyState !== ws.OPEN) { log.error(req.requestId, 'Tried writing to closed socket'); return; } - ws.send(JSON.stringify({ event, payload })); - }; - - // Setup stream end for WebSockets - const streamWsEnd = (req, ws, closeHandler = false) => (id, listener) => { - const accountId = req.accountId || req.remoteAddress; - - ws.on('close', () => { - log.verbose(req.requestId, `Ending stream for ${accountId}`); - unsubscribe(id, listener); - if (closeHandler) { - closeHandler(); - } - }); - - ws.on('error', () => { - log.verbose(req.requestId, `Ending stream for ${accountId}`); - unsubscribe(id, listener); - if (closeHandler) { - closeHandler(); - } - }); + ws.send(JSON.stringify({ stream: streamName, event, payload })); }; + /** + * @param {any} res + */ const httpNotFound = res => { res.writeHead(404, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ error: 'Not found' })); @@ -538,157 +681,267 @@ const startWorker = (workerId) => { app.use(authenticationMiddleware); app.use(errorMiddleware); - app.get('/api/v1/streaming/user', (req, res) => { - const channels = [`timeline:${req.accountId}`]; + app.get('/api/v1/streaming/*', (req, res) => { + channelNameToIds(req, channelNameFromPath(req), req.query).then(({ channelIds, options }) => { + const onSend = streamToHttp(req, res); + const onEnd = streamHttpEnd(req, subscriptionHeartbeat(channelIds)); - if (req.deviceId) { - channels.push(`timeline:${req.accountId}:${req.deviceId}`); - } - - streamFrom(channels, req, streamToHttp(req, res), streamHttpEnd(req, subscriptionHeartbeat(channels))); - }); - - app.get('/api/v1/streaming/user/notification', (req, res) => { - streamFrom(`timeline:${req.accountId}`, req, streamToHttp(req, res), streamHttpEnd(req), false, true); - }); - - app.get('/api/v1/streaming/public', (req, res) => { - const onlyMedia = req.query.only_media === '1' || req.query.only_media === 'true'; - const channel = onlyMedia ? 'timeline:public:media' : 'timeline:public'; - - streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req), true); - }); - - app.get('/api/v1/streaming/public/local', (req, res) => { - const onlyMedia = req.query.only_media === '1' || req.query.only_media === 'true'; - const channel = onlyMedia ? 'timeline:public:local:media' : 'timeline:public:local'; - - streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req), true); - }); - - app.get('/api/v1/streaming/public/remote', (req, res) => { - const onlyMedia = req.query.only_media === '1' || req.query.only_media === 'true'; - const channel = onlyMedia ? 'timeline:public:remote:media' : 'timeline:public:remote'; - - streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req), true); - }); - - app.get('/api/v1/streaming/direct', (req, res) => { - const channel = `timeline:direct:${req.accountId}`; - streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req, subscriptionHeartbeat(channel)), true); - }); - - app.get('/api/v1/streaming/hashtag', (req, res) => { - const { tag } = req.query; - - if (!tag || tag.length === 0) { + streamFrom(channelIds, req, onSend, onEnd, options.needsFiltering, options.notificationOnly); + }).catch(err => { + log.verbose(req.requestId, 'Subscription error:', err.toString()); httpNotFound(res); - return; - } - - streamFrom(`timeline:hashtag:${tag.toLowerCase()}`, req, streamToHttp(req, res), streamHttpEnd(req), true); - }); - - app.get('/api/v1/streaming/hashtag/local', (req, res) => { - const { tag } = req.query; - - if (!tag || tag.length === 0) { - httpNotFound(res); - return; - } - - streamFrom(`timeline:hashtag:${tag.toLowerCase()}:local`, req, streamToHttp(req, res), streamHttpEnd(req), true); - }); - - app.get('/api/v1/streaming/list', (req, res) => { - const listId = req.query.list; - - authorizeListAccess(listId, req, authorized => { - if (!authorized) { - httpNotFound(res); - return; - } - - const channel = `timeline:list:${listId}`; - streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req, subscriptionHeartbeat(channel))); }); }); const wss = new WebSocketServer({ server, verifyClient: wsVerifyClient }); - wss.on('connection', (ws, req) => { - const location = url.parse(req.url, true); - req.requestId = uuid.v4(); - req.remoteAddress = ws._socket.remoteAddress; + /** + * @typedef StreamParams + * @property {string} [tag] + * @property {string} [list] + * @property {string} [only_media] + */ - let channel; - - switch(location.query.stream) { + /** + * @param {any} req + * @param {string} name + * @param {StreamParams} params + * @return {Promise.<{ channelIds: string[], options: { needsFiltering: boolean, notificationOnly: boolean } }>} + */ + const channelNameToIds = (req, name, params) => new Promise((resolve, reject) => { + switch(name) { case 'user': - channel = [`timeline:${req.accountId}`]; + resolve({ + channelIds: req.deviceId ? [`timeline:${req.accountId}`, `timeline:${req.accountId}:${req.deviceId}`] : [`timeline:${req.accountId}`], + options: { needsFiltering: false, notificationOnly: false }, + }); - if (req.deviceId) { - channel.push(`timeline:${req.accountId}:${req.deviceId}`); - } - - streamFrom(channel, req, streamToWs(req, ws), streamWsEnd(req, ws, subscriptionHeartbeat(channel))); break; case 'user:notification': - streamFrom(`timeline:${req.accountId}`, req, streamToWs(req, ws), streamWsEnd(req, ws), false, true); + resolve({ + channelIds: [`timeline:${req.accountId}`], + options: { needsFiltering: false, notificationOnly: true }, + }); + break; case 'public': - streamFrom('timeline:public', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + resolve({ + channelIds: ['timeline:public'], + options: { needsFiltering: true, notificationOnly: false }, + }); + break; case 'public:local': - streamFrom('timeline:public:local', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + resolve({ + channelIds: ['timeline:public:local'], + options: { needsFiltering: true, notificationOnly: false }, + }); + break; case 'public:remote': - streamFrom('timeline:public:remote', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + resolve({ + channelIds: ['timeline:public:remote'], + options: { needsFiltering: true, notificationOnly: false }, + }); + break; case 'public:media': - streamFrom('timeline:public:media', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + resolve({ + channelIds: ['timeline:public:media'], + options: { needsFiltering: true, notificationOnly: false }, + }); + break; case 'public:local:media': - streamFrom('timeline:public:local:media', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + resolve({ + channelIds: ['timeline:public:local:media'], + options: { needsFiltering: true, notificationOnly: false }, + }); + break; case 'public:remote:media': - streamFrom('timeline:public:remote:media', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + resolve({ + channelIds: ['timeline:public:remote:media'], + options: { needsFiltering: true, notificationOnly: false }, + }); + break; case 'direct': - channel = `timeline:direct:${req.accountId}`; - streamFrom(channel, req, streamToWs(req, ws), streamWsEnd(req, ws, subscriptionHeartbeat(channel)), true); + resolve({ + channelIds: [`timeline:direct:${req.accountId}`], + options: { needsFiltering: false, notificationOnly: false }, + }); + break; case 'hashtag': - if (!location.query.tag || location.query.tag.length === 0) { - ws.close(); - return; + if (!params.tag || params.tag.length === 0) { + reject('No tag for stream provided'); + } else { + resolve({ + channelIds: [`timeline:hashtag:${params.tag.toLowerCase()}`], + options: { needsFiltering: true, notificationOnly: false }, + }); } - streamFrom(`timeline:hashtag:${location.query.tag.toLowerCase()}`, req, streamToWs(req, ws), streamWsEnd(req, ws), true); break; case 'hashtag:local': - if (!location.query.tag || location.query.tag.length === 0) { - ws.close(); + if (!params.tag || params.tag.length === 0) { + reject('No tag for stream provided'); + } else { + resolve({ + channelIds: [`timeline:hashtag:${params.tag.toLowerCase()}:local`], + options: { needsFiltering: true, notificationOnly: false }, + }); + } + + break; + case 'list': + authorizeListAccess(params.list, req).then(() => { + resolve({ + channelIds: [`timeline:list:${params.list}`], + options: { needsFiltering: false, notificationOnly: false }, + }); + }).catch(() => { + reject('Not authorized to stream this list'); + }); + + break; + default: + reject('Unknown stream type'); + } + }); + + /** + * @param {string} channelName + * @param {StreamParams} params + * @return {string[]} + */ + const streamNameFromChannelName = (channelName, params) => { + if (channelName === 'list') { + return [channelName, params.list]; + } else if (['hashtag', 'hashtag:local'].includes(channelName)) { + return [channelName, params.tag]; + } else { + return [channelName]; + } + }; + + /** + * @typedef WebSocketSession + * @property {any} socket + * @property {any} request + * @property {Object.} subscriptions + */ + + /** + * @param {WebSocketSession} session + * @param {string} channelName + * @param {StreamParams} params + */ + const subscribeWebsocketToChannel = ({ socket, request, subscriptions }, channelName, params) => + checkScopes(request, channelName).then(() => channelNameToIds(request, channelName, params)).then(({ channelIds, options }) => { + if (subscriptions[channelIds.join(';')]) { return; } - streamFrom(`timeline:hashtag:${location.query.tag.toLowerCase()}:local`, req, streamToWs(req, ws), streamWsEnd(req, ws), true); - break; - case 'list': - const listId = location.query.list; + const onSend = streamToWs(request, socket, streamNameFromChannelName(channelName, params)); + const stopHeartbeat = subscriptionHeartbeat(channelIds); + const listener = streamFrom(channelIds, request, onSend, undefined, options.needsFiltering, options.notificationOnly); - authorizeListAccess(listId, req, authorized => { - if (!authorized) { - ws.close(); - return; - } + subscriptions[channelIds.join(';')] = { + listener, + stopHeartbeat, + }; + }).catch(err => { + log.verbose(request.requestId, 'Subscription error:', err.toString()); + socket.send(JSON.stringify({ error: err.toString() })); + }); - channel = `timeline:list:${listId}`; - streamFrom(channel, req, streamToWs(req, ws), streamWsEnd(req, ws, subscriptionHeartbeat(channel))); + /** + * @param {WebSocketSession} session + * @param {string} channelName + * @param {StreamParams} params + */ + const unsubscribeWebsocketFromChannel = ({ socket, request, subscriptions }, channelName, params) => + channelNameToIds(request, channelName, params).then(({ channelIds }) => { + log.verbose(request.requestId, `Ending stream from ${channelIds.join(', ')} for ${request.accountId}`); + + const { listener, stopHeartbeat } = subscriptions[channelIds.join(';')]; + + if (!listener) { + return; + } + + channelIds.forEach(channelId => { + unsubscribe(`${redisPrefix}${channelId}`, listener); }); - break; - default: - ws.close(); + + stopHeartbeat(); + + subscriptions[channelIds.join(';')] = undefined; + }).catch(err => { + log.verbose(request.requestId, 'Unsubscription error:', err); + socket.send(JSON.stringify({ error: err.toString() })); + }); + + /** + * @param {string|string[]} arrayOrString + * @return {string} + */ + const firstParam = arrayOrString => { + if (Array.isArray(arrayOrString)) { + return arrayOrString[0]; + } else { + return arrayOrString; + } + }; + + wss.on('connection', (ws, req) => { + const location = url.parse(req.url, true); + + req.requestId = uuid.v4(); + req.remoteAddress = ws._socket.remoteAddress; + + /** + * @type {WebSocketSession} + */ + const session = { + socket: ws, + request: req, + subscriptions: {}, + }; + + const onEnd = () => { + const keys = Object.keys(session.subscriptions); + + keys.forEach(channelIds => { + const { listener, stopHeartbeat } = session.subscriptions[channelIds]; + + channelIds.split(';').forEach(channelId => { + unsubscribe(`${redisPrefix}${channelId}`, listener); + }); + + stopHeartbeat(); + }); + }; + + ws.on('close', onEnd); + ws.on('error', onEnd); + + ws.on('message', data => { + const { type, stream, ...params } = JSON.parse(data); + + if (type === 'subscribe') { + subscribeWebsocketToChannel(session, firstParam(stream), params); + } else if (type === 'unsubscribe') { + unsubscribeWebsocketFromChannel(session, firstParam(stream), params) + } else { + // Unknown action type + } + }); + + if (location.query.stream) { + subscribeWebsocketToChannel(session, firstParam(location.query.stream), location.query); } }); @@ -716,6 +969,10 @@ const startWorker = (workerId) => { process.on('uncaughtException', onError); }; +/** + * @param {any} server + * @param {function(string): void} [onSuccess] + */ const attachServerWithConfig = (server, onSuccess) => { if (process.env.SOCKET || process.env.PORT && isNaN(+process.env.PORT)) { server.listen(process.env.SOCKET || process.env.PORT, () => { @@ -733,6 +990,9 @@ const attachServerWithConfig = (server, onSuccess) => { } }; +/** + * @param {function(Error=): void} onSuccess + */ const onPortAvailable = onSuccess => { const testServer = http.createServer(); From d70c3ab4c39e642d41138ab693af77dd6c258e8c Mon Sep 17 00:00:00 2001 From: ThibG Date: Tue, 11 Aug 2020 23:09:13 +0200 Subject: [PATCH 106/703] Add HTML form validation for the registration form (#14560) * Add HTML-level validation of username in sign-up form * Make required fields with incorrect values more visible * Enable HTML form validation for the registration form * Mark agreement checkbox as required client-side * Add minimum length to password * Add client-side password confirmation validation --- app/javascript/packs/public.js | 10 ++++++++++ app/javascript/styles/mastodon/forms.scss | 3 ++- app/views/about/_registration.html.haml | 8 ++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js index 08cc662e60..777182b7f5 100644 --- a/app/javascript/packs/public.js +++ b/app/javascript/packs/public.js @@ -116,6 +116,16 @@ function main() { new Rellax('.parallax', { speed: -1 }); } + delegate(document, '#registration_user_password_confirmation,#registration_user_password', 'input', () => { + const password = document.getElementById('registration_user_password'); + const confirmation = document.getElementById('registration_user_password_confirmation'); + if (password.value && password.value !== confirmation.value) { + confirmation.setCustomValidity((new IntlMessageFormat(messages['password_confirmation.mismatching'] || 'Password confirmation does not match', locale)).format()); + } else { + confirmation.setCustomValidity(''); + } + }); + delegate(document, '.custom-emoji', 'mouseover', getEmojiAnimationHandler('data-original')); delegate(document, '.custom-emoji', 'mouseout', getEmojiAnimationHandler('data-static')); diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 7a0b2f9a39..a6df51f954 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -364,7 +364,8 @@ code { box-shadow: none; } - &:focus:invalid:not(:placeholder-shown) { + &:focus:invalid:not(:placeholder-shown), + &:required:invalid:not(:placeholder-shown) { border-color: lighten($error-red, 12%); } diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index af28e21749..f65e674279 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -1,13 +1,13 @@ .simple_form__overlay-area{ class: (closed_registrations? && @instance_presenter.closed_registrations_message.present?) ? 'simple_form__overlay-area__blurred' : '' } - = simple_form_for(new_user, url: user_registration_path, namespace: 'registration') do |f| + = simple_form_for(new_user, url: user_registration_path, namespace: 'registration', html: { novalidate: false }) do |f| %p.lead= t('about.federation_hint_html', instance: content_tag(:strong, site_hostname)) .fields-group = f.simple_fields_for :account do |account_fields| - = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username') }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? + = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: Account::USERNAME_RE.source }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? - = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? + = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false, disabled: closed_registrations? = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? - if approved_registrations? @@ -16,7 +16,7 @@ = invite_request_fields.input :text, as: :text, wrapper: :with_block_label, required: false .fields-group - = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), disabled: closed_registrations? + = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), required: true, disabled: closed_registrations? .actions = f.button :button, sign_up_message, type: :submit, class: 'button button-primary', disabled: closed_registrations? From 7dc4c742650ac69ec9a4459b656e172283511e4c Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 12 Aug 2020 12:11:15 +0200 Subject: [PATCH 107/703] Add client-side validation in password change forms (#14564) * Fix client-side username validation at registration It used the Account::USERNAME_RE regexp which is for *remote* users, local user validation is stricter. Also take into account max username length. * Add client-side form validation for password change * Add client-side form validation to dedicated registration form Previous changes only applied to the /about page, not the dedicated form on /auth --- app/javascript/packs/public.js | 12 ++++++++++++ app/views/about/_registration.html.haml | 2 +- app/views/auth/passwords/edit.html.haml | 4 ++-- app/views/auth/registrations/edit.html.haml | 4 ++-- app/views/auth/registrations/new.html.haml | 8 ++++---- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js index 777182b7f5..551e281a8e 100644 --- a/app/javascript/packs/public.js +++ b/app/javascript/packs/public.js @@ -126,6 +126,18 @@ function main() { } }); + delegate(document, '#user_password,#user_password_confirmation', 'input', () => { + const password = document.getElementById('user_password'); + const confirmation = document.getElementById('user_password_confirmation'); + if (!confirmation) return; + + if (password.value && password.value !== confirmation.value) { + confirmation.setCustomValidity((new IntlMessageFormat(messages['password_confirmation.mismatching'] || 'Password confirmation does not match', locale)).format()); + } else { + confirmation.setCustomValidity(''); + } + }); + delegate(document, '.custom-emoji', 'mouseover', getEmojiAnimationHandler('data-original')); delegate(document, '.custom-emoji', 'mouseout', getEmojiAnimationHandler('data-static')); diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index f65e674279..336acad6ac 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -4,7 +4,7 @@ .fields-group = f.simple_fields_for :account do |account_fields| - = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: Account::USERNAME_RE.source }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? + = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false, disabled: closed_registrations? diff --git a/app/views/auth/passwords/edit.html.haml b/app/views/auth/passwords/edit.html.haml index 383d44f00f..114a744542 100644 --- a/app/views/auth/passwords/edit.html.haml +++ b/app/views/auth/passwords/edit.html.haml @@ -1,14 +1,14 @@ - content_for :page_title do = t('auth.set_new_password') -= simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| += simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put, novalidate: false }) do |f| = render 'shared/error_messages', object: resource - if !use_seamless_external_login? || resource.encrypted_password.present? = f.input :reset_password_token, as: :hidden .fields-group - = f.input :password, wrapper: :with_label, autofocus: true, label: t('simple_form.labels.defaults.new_password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.new_password'), :autocomplete => 'off' }, required: true + = f.input :password, wrapper: :with_label, autofocus: true, label: t('simple_form.labels.defaults.new_password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.new_password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, required: true .fields-group = f.input :password_confirmation, wrapper: :with_label, label: t('simple_form.labels.defaults.confirm_new_password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_new_password'), :autocomplete => 'off' }, required: true diff --git a/app/views/auth/registrations/edit.html.haml b/app/views/auth/registrations/edit.html.haml index a155c75c98..4a46b27a93 100644 --- a/app/views/auth/registrations/edit.html.haml +++ b/app/views/auth/registrations/edit.html.haml @@ -5,7 +5,7 @@ %h3= t('auth.security') -= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put, class: 'auth_edit' }) do |f| += simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put, class: 'auth_edit', novalidate: false }) do |f| = render 'shared/error_messages', object: resource - if !use_seamless_external_login? || resource.encrypted_password.present? @@ -17,7 +17,7 @@ .fields-row .fields-row__column.fields-group.fields-row__column-6 - = f.input :password, wrapper: :with_label, label: t('simple_form.labels.defaults.new_password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.new_password'), :autocomplete => 'off' }, hint: t('simple_form.hints.defaults.password'), disabled: current_account.suspended? + = f.input :password, wrapper: :with_label, label: t('simple_form.labels.defaults.new_password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.new_password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: t('simple_form.hints.defaults.password'), disabled: current_account.suspended? .fields-row__column.fields-group.fields-row__column-6 = f.input :password_confirmation, wrapper: :with_label, label: t('simple_form.labels.defaults.confirm_new_password'), input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_new_password'), :autocomplete => 'off' }, disabled: current_account.suspended? diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml index 457bc1d231..d5698b4262 100644 --- a/app/views/auth/registrations/new.html.haml +++ b/app/views/auth/registrations/new.html.haml @@ -4,7 +4,7 @@ - content_for :header_tags do = render partial: 'shared/og', locals: { description: description_for_sign_up } -= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| += simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { novalidate: false }) do |f| = render 'shared/error_messages', object: resource - if @invite.present? && @invite.autofollow? @@ -14,13 +14,13 @@ = f.simple_fields_for :account do |ff| .fields-group - = ff.input :username, wrapper: :with_label, autofocus: true, label: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off' }, append: "@#{site_hostname}", hint: t('simple_form.hints.defaults.username', domain: site_hostname) + = ff.input :username, wrapper: :with_label, autofocus: true, label: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', pattern: '[a-z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: t('simple_form.hints.defaults.username', domain: site_hostname) .fields-group = f.input :email, wrapper: :with_label, label: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' } .fields-group - = f.input :password, wrapper: :with_label, label: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' } + = f.input :password, wrapper: :with_label, label: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last } .fields-group = f.input :password_confirmation, wrapper: :with_label, label: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' } @@ -33,7 +33,7 @@ = f.input :invite_code, as: :hidden .fields-group - = f.input :agreement, as: :boolean, wrapper: :with_label, label: whitelist_mode? ? t('auth.checkbox_agreement_without_rules_html', terms_path: terms_path) : t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path) + = f.input :agreement, as: :boolean, wrapper: :with_label, label: whitelist_mode? ? t('auth.checkbox_agreement_without_rules_html', terms_path: terms_path) : t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), required: true .actions = f.button :button, @invite.present? ? t('auth.register') : sign_up_message, type: :submit From 8d217d7231be46af552c63aff9e53d0ed5dca0f6 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 12 Aug 2020 12:40:25 +0200 Subject: [PATCH 108/703] Improve email address validation (#14565) * Increase DNS timeout from 1 second to 5 seconds for MX check 1 seconds is rather short when using a recursive DNS resolver which hasn't got a cached result already available. Use 5 seconds instead, which is the timeout value we use for outgoing HTTP queries. * Add more precise error messages for invalid e-mail addresses --- .../admin/email_domain_blocks_controller.rb | 2 +- app/validators/blacklisted_email_validator.rb | 2 +- app/validators/email_mx_validator.rb | 30 ++++++++++++++----- config/locales/en.yml | 2 ++ lib/mastodon/email_domain_blocks_cli.rb | 2 +- .../blacklisted_email_validator_spec.rb | 4 +-- 6 files changed, 29 insertions(+), 13 deletions(-) diff --git a/app/controllers/admin/email_domain_blocks_controller.rb b/app/controllers/admin/email_domain_blocks_controller.rb index c259197262..f7bdfb0c5f 100644 --- a/app/controllers/admin/email_domain_blocks_controller.rb +++ b/app/controllers/admin/email_domain_blocks_controller.rb @@ -27,7 +27,7 @@ module Admin ips = [] Resolv::DNS.open do |dns| - dns.timeouts = 1 + dns.timeouts = 5 hostnames = dns.getresources(@email_domain_block.domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s } diff --git a/app/validators/blacklisted_email_validator.rb b/app/validators/blacklisted_email_validator.rb index 0d01a1c47f..16e3abf129 100644 --- a/app/validators/blacklisted_email_validator.rb +++ b/app/validators/blacklisted_email_validator.rb @@ -6,7 +6,7 @@ class BlacklistedEmailValidator < ActiveModel::Validator @email = user.email - user.errors.add(:email, I18n.t('users.invalid_email')) if blocked_email? + user.errors.add(:email, I18n.t('users.blocked_email_provider')) if blocked_email? end private diff --git a/app/validators/email_mx_validator.rb b/app/validators/email_mx_validator.rb index 9b50099668..ef1554494c 100644 --- a/app/validators/email_mx_validator.rb +++ b/app/validators/email_mx_validator.rb @@ -4,22 +4,38 @@ require 'resolv' class EmailMxValidator < ActiveModel::Validator def validate(user) - user.errors.add(:email, I18n.t('users.invalid_email')) if invalid_mx?(user.email) + domain = get_domain(user.email) + + if domain.nil? + user.errors.add(:email, I18n.t('users.invalid_email')) + else + ips, hostnames = resolve_mx(domain) + if ips.empty? + user.errors.add(:email, I18n.t('users.invalid_email_mx')) + elsif on_blacklist?(hostnames + ips) + user.errors.add(:email, I18n.t('users.blocked_email_provider')) + end + end end private - def invalid_mx?(value) + def get_domain(value) _, domain = value.split('@', 2) - return true if domain.nil? + return nil if domain.nil? - domain = TagManager.instance.normalize_domain(domain) + TagManager.instance.normalize_domain(domain) + rescue Addressable::URI::InvalidURIError + nil + end + + def resolve_mx(domain) hostnames = [] ips = [] Resolv::DNS.open do |dns| - dns.timeouts = 1 + dns.timeouts = 5 hostnames = dns.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s } @@ -29,9 +45,7 @@ class EmailMxValidator < ActiveModel::Validator end end - ips.empty? || on_blacklist?(hostnames + ips) - rescue Addressable::URI::InvalidURIError - true + [ips, hostnames] end def on_blacklist?(values) diff --git a/config/locales/en.yml b/config/locales/en.yml index 2cae0a3e3b..40adfc21e4 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1325,9 +1325,11 @@ en: tips: Tips title: Welcome aboard, %{name}! users: + blocked_email_provider: This e-mail provider isn't allowed follow_limit_reached: You cannot follow more than %{limit} people generic_access_help_html: Trouble accessing your account? You may get in touch with %{email} for assistance invalid_email: The e-mail address is invalid + invalid_email_mx: The e-mail address does not seem to exist invalid_otp_token: Invalid two-factor code invalid_sign_in_token: Invalid security code otp_lost_help_html: If you lost access to both, you may get in touch with %{email} diff --git a/lib/mastodon/email_domain_blocks_cli.rb b/lib/mastodon/email_domain_blocks_cli.rb index 7fe1efaaa5..55a637d682 100644 --- a/lib/mastodon/email_domain_blocks_cli.rb +++ b/lib/mastodon/email_domain_blocks_cli.rb @@ -63,7 +63,7 @@ module Mastodon ips = [] Resolv::DNS.open do |dns| - dns.timeouts = 1 + dns.timeouts = 5 hostnames = dns.getresources(email_domain_block.domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s } ([email_domain_block.domain] + hostnames).uniq.each do |hostname| diff --git a/spec/validators/blacklisted_email_validator_spec.rb b/spec/validators/blacklisted_email_validator_spec.rb index ccc5dc0f48..f0708dc462 100644 --- a/spec/validators/blacklisted_email_validator_spec.rb +++ b/spec/validators/blacklisted_email_validator_spec.rb @@ -17,7 +17,7 @@ RSpec.describe BlacklistedEmailValidator, type: :validator do let(:blocked_email) { true } it 'calls errors.add' do - expect(errors).to have_received(:add).with(:email, I18n.t('users.invalid_email')) + expect(errors).to have_received(:add).with(:email, I18n.t('users.blocked_email_provider')) end end @@ -25,7 +25,7 @@ RSpec.describe BlacklistedEmailValidator, type: :validator do let(:blocked_email) { false } it 'not calls errors.add' do - expect(errors).not_to have_received(:add).with(:email, I18n.t('users.invalid_email')) + expect(errors).not_to have_received(:add).with(:email, I18n.t('users.blocked_email_provider')) end end end From 01647b8acb0d881609e1d6729e01e373a11030fb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 12 Aug 2020 15:36:07 +0200 Subject: [PATCH 109/703] Fix destructuring error when unsubscribing without subscribing (#14566) --- streaming/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/streaming/index.js b/streaming/index.js index 7c0c6a465e..7072d0bd76 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -210,6 +210,7 @@ const startWorker = (workerId) => { if (subs[channel].length === 0) { log.verbose(`Unsubscribe ${channel}`); redisSubscribeClient.unsubscribe(channel); + delete subs[channel]; } }; @@ -866,19 +867,21 @@ const startWorker = (workerId) => { channelNameToIds(request, channelName, params).then(({ channelIds }) => { log.verbose(request.requestId, `Ending stream from ${channelIds.join(', ')} for ${request.accountId}`); - const { listener, stopHeartbeat } = subscriptions[channelIds.join(';')]; + const subscription = subscriptions[channelIds.join(';')]; - if (!listener) { + if (!subscription) { return; } + const { listener, stopHeartbeat } = subscription; + channelIds.forEach(channelId => { unsubscribe(`${redisPrefix}${channelId}`, listener); }); stopHeartbeat(); - subscriptions[channelIds.join(';')] = undefined; + delete subscriptions[channelIds.join(';')]; }).catch(err => { log.verbose(request.requestId, 'Unsubscription error:', err); socket.send(JSON.stringify({ error: err.toString() })); From 0f38f9726a0a9d8e13633424d03e79f54df047a4 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 13 Aug 2020 12:04:28 +0200 Subject: [PATCH 110/703] Fix hardcoded non-breaking space in public view (#14568) --- app/views/statuses/_simple_status.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml index 3637579452..0c0b571124 100644 --- a/app/views/statuses/_simple_status.html.haml +++ b/app/views/statuses/_simple_status.html.haml @@ -17,7 +17,7 @@ %span.display-name %bdi %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: autoplay) -   + = ' ' %span.display-name__account = acct(status.account) = fa_icon('lock') if status.account.locked? From a55ad84251fe9f00e095509d82db8e7e77f57813 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 14 Aug 2020 18:04:00 +0200 Subject: [PATCH 111/703] Remove dependency on unused and unmaintained http_parser.rb gem (#14574) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It seems that years ago, the “http” gem dependend on the “http_parser.rb” gem (it now depends on the “http-parser” gem), and, still years ago, we pulled it from git in order to benefit from a bugfix that wasn't released yet (#7467). --- Gemfile | 1 - Gemfile.lock | 9 --------- 2 files changed, 10 deletions(-) diff --git a/Gemfile b/Gemfile index e749c9d5f3..6ba01e43c4 100644 --- a/Gemfile +++ b/Gemfile @@ -61,7 +61,6 @@ gem 'health_check', git: 'https://github.com/ianheggie/health_check', ref: '0b79 gem 'htmlentities', '~> 4.3' gem 'http', '~> 4.4' gem 'http_accept_language', '~> 2.1' -gem 'http_parser.rb', '~> 0.6', git: 'https://github.com/tmm1/http_parser.rb', ref: '54b17ba8c7d8d20a16dfc65d1775241833219cf2', submodules: true gem 'httplog', '~> 1.4.3' gem 'idn-ruby', require: 'idn' gem 'kaminari', '~> 1.2' diff --git a/Gemfile.lock b/Gemfile.lock index fd750e8368..ff9e5838f9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -6,14 +6,6 @@ GIT health_check (4.0.0.pre) rails (>= 4.0) -GIT - remote: https://github.com/tmm1/http_parser.rb - revision: 54b17ba8c7d8d20a16dfc65d1775241833219cf2 - ref: 54b17ba8c7d8d20a16dfc65d1775241833219cf2 - submodules: true - specs: - http_parser.rb (0.6.1) - GIT remote: https://github.com/witgo/nilsimsa revision: fd184883048b922b176939f851338d0a4971a532 @@ -706,7 +698,6 @@ DEPENDENCIES htmlentities (~> 4.3) http (~> 4.4) http_accept_language (~> 2.1) - http_parser.rb (~> 0.6)! httplog (~> 1.4.3) i18n-tasks (~> 0.9) idn-ruby From 2eabfdaf24623528cab7595a057026b29bfd8cc5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:08:26 +0900 Subject: [PATCH 112/703] Bump @babel/core from 7.10.5 to 7.11.1 (#14554) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.5 to 7.11.1. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.11.1/packages/babel-core) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 71 +++++++++++++++++++++++++++++----------------------- 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index b4eb09a46e..602a669ad1 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ }, "private": true, "dependencies": { - "@babel/core": "^7.10.5", + "@babel/core": "^7.11.1", "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-decorators": "^7.10.5", "@babel/plugin-transform-react-inline-elements": "^7.10.4", diff --git a/yarn.lock b/yarn.lock index 4e87103363..7f3f9cf883 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,19 +18,19 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.7.2", "@babel/core@^7.7.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.5.tgz#1f15e2cca8ad9a1d78a38ddba612f5e7cdbbd330" - integrity sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w== +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.7.2", "@babel/core@^7.7.5": + version "7.11.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643" + integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.5" - "@babel/helper-module-transforms" "^7.10.5" + "@babel/generator" "^7.11.0" + "@babel/helper-module-transforms" "^7.11.0" "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.10.5" + "@babel/parser" "^7.11.1" "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.5" - "@babel/types" "^7.10.5" + "@babel/traverse" "^7.11.0" + "@babel/types" "^7.11.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" @@ -40,12 +40,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.5.tgz#1b903554bc8c583ee8d25f1e8969732e6b829a69" - integrity sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig== +"@babel/generator@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" + integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== dependencies: - "@babel/types" "^7.10.5" + "@babel/types" "^7.11.0" jsesc "^2.5.1" source-map "^0.5.0" @@ -174,17 +174,17 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz#120c271c0b3353673fcdfd8c053db3c544a260d6" - integrity sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA== +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" + integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== dependencies: "@babel/helper-module-imports" "^7.10.4" "@babel/helper-replace-supers" "^7.10.4" "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" "@babel/template" "^7.10.4" - "@babel/types" "^7.10.5" + "@babel/types" "^7.11.0" lodash "^4.17.19" "@babel/helper-optimise-call-expression@^7.10.4": @@ -249,6 +249,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" @@ -282,10 +289,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.7.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.5.tgz#e7c6bf5a7deff957cec9f04b551e2762909d826b" - integrity sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1", "@babel/parser@^7.7.0": + version "7.11.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9" + integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA== "@babel/plugin-proposal-async-generator-functions@^7.10.4": version "7.10.4" @@ -964,17 +971,17 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.7.0": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.5.tgz#77ce464f5b258be265af618d8fddf0536f20b564" - integrity sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0", "@babel/traverse@^7.7.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" + integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.5" + "@babel/generator" "^7.11.0" "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/parser" "^7.10.5" - "@babel/types" "^7.10.5" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.0" + "@babel/types" "^7.11.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" From 4d67df61551b3b7e13ae306309ae50fd09c7c7c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:16:12 +0900 Subject: [PATCH 113/703] Bump concurrent-ruby from 1.1.6 to 1.1.7 (#14539) Bumps [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) from 1.1.6 to 1.1.7. - [Release notes](https://github.com/ruby-concurrency/concurrent-ruby/releases) - [Changelog](https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.1.6...v1.1.7) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ff9e5838f9..488cf59587 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -151,7 +151,7 @@ GEM climate_control (>= 0.0.3, < 1.0) coderay (1.1.3) color_diff (0.1) - concurrent-ruby (1.1.6) + concurrent-ruby (1.1.7) connection_pool (2.2.3) crack (0.4.3) safe_yaml (~> 1.0.0) From 8a9d9509eca1623963f11928f7dbafd0cb756d60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:17:00 +0900 Subject: [PATCH 114/703] Bump brakeman from 4.8.2 to 4.9.0 (#14540) Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 4.8.2 to 4.9.0. - [Release notes](https://github.com/presidentbeef/brakeman/releases) - [Changelog](https://github.com/presidentbeef/brakeman/blob/main/CHANGES.md) - [Commits](https://github.com/presidentbeef/brakeman/compare/v4.8.2...v4.9.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 6ba01e43c4..5d77b57430 100644 --- a/Gemfile +++ b/Gemfile @@ -141,7 +141,7 @@ group :development do gem 'memory_profiler' gem 'rubocop', '~> 0.86', require: false gem 'rubocop-rails', '~> 2.6', require: false - gem 'brakeman', '~> 4.8', require: false + gem 'brakeman', '~> 4.9', require: false gem 'bundler-audit', '~> 0.7', require: false gem 'capistrano', '~> 3.14' diff --git a/Gemfile.lock b/Gemfile.lock index 488cf59587..e72d2b520d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -103,7 +103,7 @@ GEM ffi (~> 1.10.0) bootsnap (1.4.7) msgpack (~> 1.0) - brakeman (4.8.2) + brakeman (4.9.0) browser (4.2.0) builder (3.2.4) bullet (6.1.0) @@ -660,7 +660,7 @@ DEPENDENCIES binding_of_caller (~> 0.7) blurhash (~> 0.1) bootsnap (~> 1.4) - brakeman (~> 4.8) + brakeman (~> 4.9) browser bullet (~> 6.1) bundler-audit (~> 0.7) From f5b87ac4db2f28fcc89831e13927baac1015b902 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:18:25 +0900 Subject: [PATCH 115/703] Bump aws-sdk-s3 from 1.75.0 to 1.76.0 (#14542) Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.75.0 to 1.76.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 5d77b57430..5c7a91c79a 100644 --- a/Gemfile +++ b/Gemfile @@ -20,7 +20,7 @@ gem 'makara', '~> 0.4' gem 'pghero', '~> 2.7' gem 'dotenv-rails', '~> 2.7' -gem 'aws-sdk-s3', '~> 1.75', require: false +gem 'aws-sdk-s3', '~> 1.76', require: false gem 'fog-core', '<= 2.1.0' gem 'fog-openstack', '~> 0.3', require: false gem 'paperclip', '~> 6.0' diff --git a/Gemfile.lock b/Gemfile.lock index e72d2b520d..6093481fa7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -77,7 +77,7 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.1.0) - aws-partitions (1.349.0) + aws-partitions (1.353.0) aws-sdk-core (3.104.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) @@ -86,7 +86,7 @@ GEM aws-sdk-kms (1.36.0) aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.75.0) + aws-sdk-s3 (1.76.0) aws-sdk-core (~> 3, >= 3.104.1) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) @@ -655,7 +655,7 @@ DEPENDENCIES active_record_query_trace (~> 1.7) addressable (~> 2.7) annotate (~> 3.1) - aws-sdk-s3 (~> 1.75) + aws-sdk-s3 (~> 1.76) better_errors (~> 2.7) binding_of_caller (~> 0.7) blurhash (~> 0.1) From eceef67f67066ae9acc9240e53ec022bb81ef60c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:20:01 +0900 Subject: [PATCH 116/703] Bump use-latest from 1.0.0 to 1.1.0 (#14541) Bumps [use-latest](https://github.com/Andarist/use-latest) from 1.0.0 to 1.1.0. - [Release notes](https://github.com/Andarist/use-latest/releases) - [Commits](https://github.com/Andarist/use-latest/compare/v1.0.0...v1.1.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7f3f9cf883..8cdde91a6d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10872,10 +10872,17 @@ use-composed-ref@^1.0.0: dependencies: ts-essentials "^2.0.3" -use-latest@^1.0.0: +use-isomorphic-layout-effect@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.0.0.tgz#c86d2e4893b15f27def69da574a47136d107facb" - integrity sha512-CxmFi75KTXeTIBlZq3LhJ4Hz98pCaRKZHCpnbiaEHIr5QnuHvH8lKYoluPBt/ik7j/hFVPB8K3WqF6mQvLyQTg== + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.0.0.tgz#f56b4ed633e1c21cd9fc76fe249002a1c28989fb" + integrity sha512-JMwJ7Vd86NwAt1jH7q+OIozZSIxA4ND0fx6AsOe2q1H8ooBUp5aN6DvVCqZiIaYU6JaMRJGyR0FO7EBCIsb/Rg== + +use-latest@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.1.0.tgz#7bf9684555869c3f5f37e10d0884c8accf4d3aa6" + integrity sha512-gF04d0ZMV3AMB8Q7HtfkAWe+oq1tFXP6dZKwBHQF5nVXtGsh2oAYeeqma5ZzxtlpOcW8Ro/tLcfmEodjDeqtuw== + dependencies: + use-isomorphic-layout-effect "^1.0.0" use@^3.1.0: version "3.1.1" From f74c373663c0d21de5b8df942addaa81bad35c85 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:21:52 +0900 Subject: [PATCH 117/703] Bump rdf from 3.1.4 to 3.1.5 (#14543) Bumps [rdf](https://github.com/ruby-rdf/rdf) from 3.1.4 to 3.1.5. - [Release notes](https://github.com/ruby-rdf/rdf/releases) - [Changelog](https://github.com/ruby-rdf/rdf/blob/develop/CHANGES.md) - [Commits](https://github.com/ruby-rdf/rdf/compare/3.1.4...3.1.5) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6093481fa7..858cf8620b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -467,7 +467,7 @@ GEM thor (>= 0.19.0, < 2.0) rainbow (3.0.0) rake (13.0.1) - rdf (3.1.4) + rdf (3.1.5) hamster (~> 3.0) link_header (~> 0.0, >= 0.0.8) rdf-normalize (0.4.0) From fd31509c53725e37339a4c6dcad0352028f595b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:22:35 +0900 Subject: [PATCH 118/703] Bump chunky_png from 1.3.11 to 1.3.12 (#14545) Bumps [chunky_png](https://github.com/wvanbergen/chunky_png) from 1.3.11 to 1.3.12. - [Release notes](https://github.com/wvanbergen/chunky_png/releases) - [Changelog](https://github.com/wvanbergen/chunky_png/blob/master/CHANGELOG.rdoc) - [Commits](https://github.com/wvanbergen/chunky_png/compare/v1.3.11...v1.3.12) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 858cf8620b..363b65bc3c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -143,7 +143,7 @@ GEM activesupport (>= 4.0) elasticsearch (>= 2.0.0) elasticsearch-dsl - chunky_png (1.3.11) + chunky_png (1.3.12) cld3 (3.3.0) ffi (>= 1.1.0, < 1.12.0) climate_control (0.2.0) From 24b8a7af4148b0fefd992d55253a59d698441d01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:24:46 +0900 Subject: [PATCH 119/703] Bump premailer from 1.12.1 to 1.13.1 (#14544) Bumps [premailer](https://github.com/premailer/premailer) from 1.12.1 to 1.13.1. - [Release notes](https://github.com/premailer/premailer/releases) - [Changelog](https://github.com/premailer/premailer/blob/master/CHANGELOG.md) - [Commits](https://github.com/premailer/premailer/compare/v1.12.1...v1.13.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 363b65bc3c..c931451c64 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -401,7 +401,7 @@ GEM activerecord (>= 5) pkg-config (1.4.1) posix-spawn (0.3.15) - premailer (1.12.1) + premailer (1.13.1) addressable css_parser (>= 1.6.0) htmlentities (>= 4.0.0) From c917b53c53e217c3906dcfa0982c34dde99513ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:25:21 +0900 Subject: [PATCH 120/703] Bump pkg-config from 1.4.1 to 1.4.2 (#14549) Bumps [pkg-config](https://github.com/ruby-gnome/pkg-config) from 1.4.1 to 1.4.2. - [Release notes](https://github.com/ruby-gnome/pkg-config/releases) - [Changelog](https://github.com/ruby-gnome/pkg-config/blob/master/NEWS) - [Commits](https://github.com/ruby-gnome/pkg-config/compare/1.4.1...1.4.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c931451c64..0db8497202 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -399,7 +399,7 @@ GEM pg (1.2.3) pghero (2.7.0) activerecord (>= 5) - pkg-config (1.4.1) + pkg-config (1.4.2) posix-spawn (0.3.15) premailer (1.13.1) addressable From b046566d209a394a61b79d872f9280a7e11e60f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:29:10 +0900 Subject: [PATCH 121/703] Bump jest-haste-map from 26.1.0 to 26.2.2 (#14552) Bumps [jest-haste-map](https://github.com/facebook/jest/tree/HEAD/packages/jest-haste-map) from 26.1.0 to 26.2.2. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v26.2.2/packages/jest-haste-map) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 52 +++------------------------------------------------- 1 file changed, 3 insertions(+), 49 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8cdde91a6d..cbc20a0301 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6248,27 +6248,7 @@ jest-get-type@^26.0.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039" integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg== -jest-haste-map@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.1.0.tgz#ef31209be73f09b0d9445e7d213e1b53d0d1476a" - integrity sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA== - dependencies: - "@jest/types" "^26.1.0" - "@types/graceful-fs" "^4.1.2" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-serializer "^26.1.0" - jest-util "^26.1.0" - jest-worker "^26.1.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - which "^2.0.2" - optionalDependencies: - fsevents "^2.1.2" - -jest-haste-map@^26.2.2: +jest-haste-map@^26.1.0, jest-haste-map@^26.2.2: version "26.2.2" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.2.2.tgz#6d4267b1903854bfdf6a871419f35a82f03ae71e" integrity sha512-3sJlMSt+NHnzCB+0KhJ1Ut4zKJBiJOlbrqEYNdRQGlXTv8kqzZWjUKQRY3pkjmlf+7rYjAV++MQ4D6g4DhAyOg== @@ -6454,13 +6434,6 @@ jest-runtime@^26.2.2: strip-bom "^4.0.0" yargs "^15.3.1" -jest-serializer@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.1.0.tgz#72a394531fc9b08e173dc7d297440ac610d95022" - integrity sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w== - dependencies: - graceful-fs "^4.2.4" - jest-serializer@^26.2.0: version "26.2.0" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.2.0.tgz#92dcae5666322410f4bf50211dd749274959ddac" @@ -6490,18 +6463,7 @@ jest-snapshot@^26.2.2: pretty-format "^26.2.0" semver "^7.3.2" -jest-util@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.1.0.tgz#80e85d4ba820decacf41a691c2042d5276e5d8d8" - integrity sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg== - dependencies: - "@jest/types" "^26.1.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-util@^26.2.0: +jest-util@^26.1.0, jest-util@^26.2.0: version "26.2.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.2.0.tgz#0597d2a27c559340957609f106c408c17c1d88ac" integrity sha512-YmDwJxLZ1kFxpxPfhSJ0rIkiZOM0PQbRcfH0TzJOhqCisCAsI1WcmoQqO83My9xeVA2k4n+rzg2UuexVKzPpig== @@ -6538,15 +6500,7 @@ jest-watcher@^26.2.0: jest-util "^26.2.0" string-length "^4.0.1" -jest-worker@^26.0.0, jest-worker@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.1.0.tgz#65d5641af74e08ccd561c240e7db61284f82f33d" - integrity sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^26.2.1: +jest-worker@^26.0.0, jest-worker@^26.2.1: version "26.2.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.2.1.tgz#5d630ab93f666b53f911615bc13e662b382bd513" integrity sha512-+XcGMMJDTeEGncRb5M5Zq9P7K4sQ1sirhjdOxsN1462h6lFo9w59bl2LVQmdGEEeU3m+maZCkS2Tcc9SfCHO4A== From c3cb6b11517c1be0c3693bbefd8604a4ae08a3ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:29:34 +0900 Subject: [PATCH 122/703] Bump fugit from 1.3.6 to 1.3.8 (#14548) Bumps [fugit](https://github.com/floraison/fugit) from 1.3.6 to 1.3.8. - [Release notes](https://github.com/floraison/fugit/releases) - [Changelog](https://github.com/floraison/fugit/blob/master/CHANGELOG.md) - [Commits](https://github.com/floraison/fugit/compare/v1.3.6...v1.3.8) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0db8497202..cbe99f6a44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -226,7 +226,7 @@ GEM fog-json (>= 1.0) ipaddress (>= 0.8) formatador (0.2.5) - fugit (1.3.6) + fugit (1.3.8) et-orbi (~> 1.1, >= 1.1.8) raabro (~> 1.3) fuubar (2.5.0) From 9a1160c525f3e0e414bcb0825049915be88ae3d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:32:06 +0900 Subject: [PATCH 123/703] Bump abab from 2.0.3 to 2.0.4 (#14550) Bumps [abab](https://github.com/jsdom/abab) from 2.0.3 to 2.0.4. - [Release notes](https://github.com/jsdom/abab/releases) - [Changelog](https://github.com/jsdom/abab/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsdom/abab/compare/2.0.3...2.0.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index cbc20a0301..faac18e5d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1723,9 +1723,9 @@ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== abab@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" - integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== + version "2.0.4" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" + integrity sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ== accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" From 55e07d984070ac16b40b2b27c0ceefab125ab54c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 02:32:28 +0900 Subject: [PATCH 124/703] Bump tty-color from 0.5.1 to 0.5.2 (#14547) Bumps [tty-color](https://github.com/piotrmurach/tty-color) from 0.5.1 to 0.5.2. - [Release notes](https://github.com/piotrmurach/tty-color/releases) - [Changelog](https://github.com/piotrmurach/tty-color/blob/master/CHANGELOG.md) - [Commits](https://github.com/piotrmurach/tty-color/compare/v0.5.1...v0.5.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index cbe99f6a44..68ca0adf53 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -605,7 +605,7 @@ GEM thwait (0.2.0) e2mmap tilt (2.0.10) - tty-color (0.5.1) + tty-color (0.5.2) tty-cursor (0.7.1) tty-prompt (0.22.0) pastel (~> 0.8) From 8930841716374717432d6abe9a5cce36450b3675 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 03:37:55 +0900 Subject: [PATCH 125/703] Bump aws-partitions from 1.353.0 to 1.356.0 (#14578) Bumps [aws-partitions](https://github.com/aws/aws-sdk-ruby) from 1.353.0 to 1.356.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-partitions/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 68ca0adf53..6fd934c105 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -77,7 +77,7 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.1.0) - aws-partitions (1.353.0) + aws-partitions (1.356.0) aws-sdk-core (3.104.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) From 62a45ae26e475f0c5b70feaf566e72b024ad0b22 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 19 Aug 2020 19:00:47 +0200 Subject: [PATCH 126/703] Fix client-side form validation not accepting handles with uppercase letters (#14599) --- app/views/about/_registration.html.haml | 2 +- app/views/auth/registrations/new.html.haml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index 336acad6ac..5d159e9e69 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -4,7 +4,7 @@ .fields-group = f.simple_fields_for :account do |account_fields| - = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? + = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username'), pattern: '[a-zA-Z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off', :minlength => User.password_length.first, :maxlength => User.password_length.last }, hint: false, disabled: closed_registrations? diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml index d5698b4262..cc72b87ce3 100644 --- a/app/views/auth/registrations/new.html.haml +++ b/app/views/auth/registrations/new.html.haml @@ -14,7 +14,7 @@ = f.simple_fields_for :account do |ff| .fields-group - = ff.input :username, wrapper: :with_label, autofocus: true, label: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', pattern: '[a-z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: t('simple_form.hints.defaults.username', domain: site_hostname) + = ff.input :username, wrapper: :with_label, autofocus: true, label: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', pattern: '[a-zA-Z0-9_]+', maxlength: 30 }, append: "@#{site_hostname}", hint: t('simple_form.hints.defaults.username', domain: site_hostname) .fields-group = f.input :email, wrapper: :with_label, label: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' } From f6a82cb2cd7d82bc571866de0dcf90f7fdc29ca2 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 19 Aug 2020 19:02:06 +0200 Subject: [PATCH 127/703] Fix not being able to unbookmark toots when blocked by their author (#14604) * Fix not being able to unbookmark toots when blocked by their author * Add tests --- .../api/v1/statuses/bookmarks_controller.rb | 14 +++++++++-- .../v1/statuses/bookmarks_controller_spec.rb | 25 +++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/v1/statuses/bookmarks_controller.rb b/app/controllers/api/v1/statuses/bookmarks_controller.rb index 3954af3c9b..19963c002a 100644 --- a/app/controllers/api/v1/statuses/bookmarks_controller.rb +++ b/app/controllers/api/v1/statuses/bookmarks_controller.rb @@ -5,7 +5,7 @@ class Api::V1::Statuses::BookmarksController < Api::BaseController before_action -> { doorkeeper_authorize! :write, :'write:bookmarks' } before_action :require_user! - before_action :set_status + before_action :set_status, only: [:create] def create current_account.bookmarks.find_or_create_by!(account: current_account, status: @status) @@ -13,10 +13,20 @@ class Api::V1::Statuses::BookmarksController < Api::BaseController end def destroy - bookmark = current_account.bookmarks.find_by(status: @status) + bookmark = current_account.bookmarks.find_by(status_id: params[:status_id]) + + if bookmark + @status = bookmark.status + else + @status = Status.find(params[:status_id]) + authorize @status, :show? + end + bookmark&.destroy! render json: @status, serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new([@status], current_account.id, bookmarks_map: { @status.id => false }) + rescue Mastodon::NotPermittedError + not_found end private diff --git a/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb b/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb index aa5ca433fb..7c75a4f738 100644 --- a/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb +++ b/spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb @@ -72,6 +72,31 @@ describe Api::V1::Statuses::BookmarksController do end end + context 'with public status when blocked by its author' do + let(:status) { Fabricate(:status) } + + before do + Bookmark.find_or_create_by!(account: user.account, status: status) + status.account.block!(user.account) + post :destroy, params: { status_id: status.id } + end + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it 'updates the bookmarked attribute' do + expect(user.account.bookmarked?(status)).to be false + end + + it 'returns json with updated attributes' do + hash_body = body_as_json + + expect(hash_body[:id]).to eq status.id.to_s + expect(hash_body[:bookmarked]).to be false + end + end + context 'with private status that was not bookmarked' do let(:status) { Fabricate(:status, visibility: :private) } From 65ebf3ba4e5115ed5d66852b0c72505ab157d294 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:11:09 +0900 Subject: [PATCH 128/703] Bump har-validator from 5.1.3 to 5.1.5 (#14580) Bumps [har-validator](https://github.com/ahmadnassri/node-har-validator) from 5.1.3 to 5.1.5. - [Release notes](https://github.com/ahmadnassri/node-har-validator/releases) - [Changelog](https://github.com/ahmadnassri/node-har-validator/blob/master/.releaserc) - [Commits](https://github.com/ahmadnassri/node-har-validator/compare/v5.1.3...v5.1.5) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index faac18e5d3..8019c2c419 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1811,10 +1811,10 @@ ajv@^4.7.0: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5, ajv@^6.9.1: - version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" - integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.9.1: + version "6.12.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" + integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -5167,11 +5167,11 @@ har-schema@^2.0.0: integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" has-ansi@^2.0.0: From 919a554efa93a6cc3eb520950b9c9508982985a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:11:37 +0900 Subject: [PATCH 129/703] Bump bootsnap from 1.4.7 to 1.4.8 (#14581) Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.4.7 to 1.4.8. - [Release notes](https://github.com/Shopify/bootsnap/releases) - [Changelog](https://github.com/Shopify/bootsnap/blob/master/CHANGELOG.md) - [Commits](https://github.com/Shopify/bootsnap/compare/v1.4.7...v1.4.8) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6fd934c105..70dbc1ec83 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -101,7 +101,7 @@ GEM debug_inspector (>= 0.0.1) blurhash (0.1.4) ffi (~> 1.10.0) - bootsnap (1.4.7) + bootsnap (1.4.8) msgpack (~> 1.0) brakeman (4.9.0) browser (4.2.0) From c93a4b792e5cdf2e4270663a48226fda8e854891 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:12:03 +0900 Subject: [PATCH 130/703] Bump jest from 26.2.2 to 26.4.0 (#14585) Bumps [jest](https://github.com/facebook/jest) from 26.2.2 to 26.4.0. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v26.2.2...v26.4.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 688 ++++++++++++++++++++++++++++----------------------- 2 files changed, 379 insertions(+), 311 deletions(-) diff --git a/package.json b/package.json index 602a669ad1..bb555b48f4 100644 --- a/package.json +++ b/package.json @@ -178,7 +178,7 @@ "eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-promise": "~4.2.1", "eslint-plugin-react": "~7.20.4", - "jest": "^26.2.2", + "jest": "^26.4.0", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", "react-test-renderer": "^16.13.1", diff --git a/yarn.lock b/yarn.lock index 8019c2c419..840aeb7864 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1128,93 +1128,93 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.2.0.tgz#d18f2659b90930e7ec3925fb7209f1ba2cf463f0" - integrity sha512-mXQfx3nSLwiHm1i7jbu+uvi+vvpVjNGzIQYLCfsat9rapC+MJkS4zBseNrgJE0vU921b3P67bQzhduphjY3Tig== +"@jest/console@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.3.0.tgz#ed04063efb280c88ba87388b6f16427c0a85c856" + integrity sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.2.0" - jest-util "^26.2.0" + jest-message-util "^26.3.0" + jest-util "^26.3.0" slash "^3.0.0" -"@jest/core@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.2.2.tgz#63de01ffce967618003dd7a0164b05c8041b81a9" - integrity sha512-UwA8gNI8aeV4FHGfGAUfO/DHjrFVvlBravF1Tm9Kt6qFE+6YHR47kFhgdepOFpADEKstyO+MVdPvkV6/dyt9sA== +"@jest/core@^26.4.0": + version "26.4.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.4.0.tgz#8f42ae45640b46b4f8ffee134dcd408c210ab1ef" + integrity sha512-mpXm4OjWQbz7qbzGIiSqvfNZ1FxX6ywWgLtdSD2luPORt5zKPtqcdDnX7L8RdfMaj1znDBgN2+gB094ZIr7vnA== dependencies: - "@jest/console" "^26.2.0" - "@jest/reporters" "^26.2.2" - "@jest/test-result" "^26.2.0" - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" + "@jest/console" "^26.3.0" + "@jest/reporters" "^26.4.0" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.2.0" - jest-config "^26.2.2" - jest-haste-map "^26.2.2" - jest-message-util "^26.2.0" + jest-changed-files "^26.3.0" + jest-config "^26.4.0" + jest-haste-map "^26.3.0" + jest-message-util "^26.3.0" jest-regex-util "^26.0.0" - jest-resolve "^26.2.2" - jest-resolve-dependencies "^26.2.2" - jest-runner "^26.2.2" - jest-runtime "^26.2.2" - jest-snapshot "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" - jest-watcher "^26.2.0" + jest-resolve "^26.4.0" + jest-resolve-dependencies "^26.4.0" + jest-runner "^26.4.0" + jest-runtime "^26.4.0" + jest-snapshot "^26.4.0" + jest-util "^26.3.0" + jest-validate "^26.4.0" + jest-watcher "^26.3.0" micromatch "^4.0.2" p-each-series "^2.1.0" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.2.0.tgz#f6faee1630fcc2fad208953164bccb31dbe0e45f" - integrity sha512-oCgp9NmEiJ5rbq9VI/v/yYLDpladAAVvFxZgNsnJxOETuzPZ0ZcKKHYjKYwCtPOP1WCrM5nmyuOhMStXFGHn+g== +"@jest/environment@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.3.0.tgz#e6953ab711ae3e44754a025f838bde1a7fd236a0" + integrity sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA== dependencies: - "@jest/fake-timers" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" "@types/node" "*" - jest-mock "^26.2.0" + jest-mock "^26.3.0" -"@jest/fake-timers@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.2.0.tgz#b485c57dc4c74d61406a339807a9af4bac74b75a" - integrity sha512-45Gfe7YzYTKqTayBrEdAF0qYyAsNRBzfkV0IyVUm3cx7AsCWlnjilBM4T40w7IXT5VspOgMPikQlV0M6gHwy/g== +"@jest/fake-timers@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.3.0.tgz#f515d4667a6770f60ae06ae050f4e001126c666a" + integrity sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" "@sinonjs/fake-timers" "^6.0.1" "@types/node" "*" - jest-message-util "^26.2.0" - jest-mock "^26.2.0" - jest-util "^26.2.0" + jest-message-util "^26.3.0" + jest-mock "^26.3.0" + jest-util "^26.3.0" -"@jest/globals@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.2.0.tgz#ad78f1104f250c1a4bf5184a2ba51facc59b23f6" - integrity sha512-Hoc6ScEIPaym7RNytIL2ILSUWIGKlwEv+JNFof9dGYOdvPjb2evEURSslvCMkNuNg1ECEClTE8PH7ULlMJntYA== +"@jest/globals@^26.4.0": + version "26.4.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.4.0.tgz#ebab3ba937a200a4b3805f2e552bdf869465ffea" + integrity sha512-QKwoVAeL9d0xaEM9ebPvfc+bolN04F+o3zM2jswGDBiiNjCogZ3LvOaqumRdDyz6kLmbx+UhgMBAVuLunbXZ2A== dependencies: - "@jest/environment" "^26.2.0" - "@jest/types" "^26.2.0" - expect "^26.2.0" + "@jest/environment" "^26.3.0" + "@jest/types" "^26.3.0" + expect "^26.4.0" -"@jest/reporters@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.2.2.tgz#5a8632ab410f4fc57782bc05dcf115e91818e869" - integrity sha512-7854GPbdFTAorWVh+RNHyPO9waRIN6TcvCezKVxI1khvFq9YjINTW7J3WU+tbR038Ynn6WjYred6vtT0YmIWVQ== +"@jest/reporters@^26.4.0": + version "26.4.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.4.0.tgz#dd3f03979170dd25dc6a9b746c693b591056d753" + integrity sha512-14OPAAuYhgRBSNxAocVluX6ksdMdK/EuP9NmtBXU9g1uKaVBrPnohn/CVm6iMot1a9iU8BCxa5715YRf8FEg/A== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.2.0" - "@jest/test-result" "^26.2.0" - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" + "@jest/console" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -1225,47 +1225,47 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.2.2" - jest-resolve "^26.2.2" - jest-util "^26.2.0" - jest-worker "^26.2.1" + jest-haste-map "^26.3.0" + jest-resolve "^26.4.0" + jest-util "^26.3.0" + jest-worker "^26.3.0" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" + v8-to-istanbul "^5.0.1" optionalDependencies: node-notifier "^7.0.0" -"@jest/source-map@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.1.0.tgz#a6a020d00e7d9478f4b690167c5e8b77e63adb26" - integrity sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA== +"@jest/source-map@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.3.0.tgz#0e646e519883c14c551f7b5ae4ff5f1bfe4fc3d9" + integrity sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.2.0.tgz#51c9b165c8851cfcf7a3466019114785e154f76b" - integrity sha512-kgPlmcVafpmfyQEu36HClK+CWI6wIaAWDHNxfQtGuKsgoa2uQAYdlxjMDBEa3CvI40+2U3v36gQF6oZBkoKatw== +"@jest/test-result@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.3.0.tgz#46cde01fa10c0aaeb7431bf71e4a20d885bc7fdb" + integrity sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg== dependencies: - "@jest/console" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/console" "^26.3.0" + "@jest/types" "^26.3.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.2.2.tgz#5e8091f2e6c61fdf242af566cb820a4eadc6c4af" - integrity sha512-SliZWon5LNqV/lVXkeowSU6L8++FGOu3f43T01L1Gv6wnFDP00ER0utV9jyK9dVNdXqfMNCN66sfcyar/o7BNw== +"@jest/test-sequencer@^26.4.0": + version "26.4.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.4.0.tgz#f4902772392d478d310dd6fd3b6818fb4bcc4c82" + integrity sha512-9Z7lCShS7vERp+DRwIVNH/6sHMWwJK1DPnGCpGeVLGJJWJ4Y08sQI3vIKdmKHu2KmwlUBpRM+BFf7NlVUkl5XA== dependencies: - "@jest/test-result" "^26.2.0" + "@jest/test-result" "^26.3.0" graceful-fs "^4.2.4" - jest-haste-map "^26.2.2" - jest-runner "^26.2.2" - jest-runtime "^26.2.2" + jest-haste-map "^26.3.0" + jest-runner "^26.4.0" + jest-runtime "^26.4.0" "@jest/transform@^26.1.0": version "26.1.0" @@ -1288,21 +1288,21 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/transform@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.2.2.tgz#86c005c8d5d749ac54d8df53ea58675fffe7a97e" - integrity sha512-c1snhvi5wRVre1XyoO3Eef5SEWpuBCH/cEbntBUd9tI5sNYiBDmO0My/lc5IuuGYKp/HFIHV1eZpSx5yjdkhKw== +"@jest/transform@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.3.0.tgz#c393e0e01459da8a8bfc6d2a7c2ece1a13e8ba55" + integrity sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.2.2" + jest-haste-map "^26.3.0" jest-regex-util "^26.0.0" - jest-util "^26.2.0" + jest-util "^26.3.0" micromatch "^4.0.2" pirates "^4.0.1" slash "^3.0.0" @@ -1330,6 +1330,17 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" +"@jest/types@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" + integrity sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -1490,6 +1501,13 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + "@types/jest@*": version "26.0.3" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.3.tgz#79534e0e94857171c0edc596db0ebe7cb7863251" @@ -2160,16 +2178,16 @@ babel-jest@^26.1.0: graceful-fs "^4.2.4" slash "^3.0.0" -babel-jest@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.2.2.tgz#70f618f2d7016ed71b232241199308985462f812" - integrity sha512-JmLuePHgA+DSOdOL8lPxCgD2LhPPm+rdw1vnxR73PpIrnmKCS2/aBhtkAcxQWuUcW2hBrH8MJ3LKXE7aWpNZyA== +babel-jest@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.3.0.tgz#10d0ca4b529ca3e7d1417855ef7d7bd6fc0c3463" + integrity sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g== dependencies: - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" "@types/babel__core" "^7.1.7" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.2.0" + babel-preset-jest "^26.3.0" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" @@ -2291,7 +2309,7 @@ babel-plugin-transform-react-remove-prop-types@^0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== -babel-preset-current-node-syntax@^0.1.2: +babel-preset-current-node-syntax@^0.1.2, babel-preset-current-node-syntax@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz#b4b547acddbf963cba555ba9f9cbbb70bfd044da" integrity sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ== @@ -2316,13 +2334,13 @@ babel-preset-jest@^26.1.0: babel-plugin-jest-hoist "^26.1.0" babel-preset-current-node-syntax "^0.1.2" -babel-preset-jest@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.2.0.tgz#f198201a4e543a43eb40bc481e19736e095fd3e0" - integrity sha512-R1k8kdP3R9phYQugXeNnK/nvCGlBzG4m3EoIIukC80GXb6wCv2XiwPhK6K9MAkQcMszWBYvl2Wm+yigyXFQqXg== +babel-preset-jest@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz#ed6344506225c065fd8a0b53e191986f74890776" + integrity sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw== dependencies: babel-plugin-jest-hoist "^26.2.0" - babel-preset-current-node-syntax "^0.1.2" + babel-preset-current-node-syntax "^0.1.3" babel-runtime@^6.26.0: version "6.26.0" @@ -3743,10 +3761,10 @@ diff-sequences@^25.2.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== -diff-sequences@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6" - integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg== +diff-sequences@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" + integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== diffie-hellman@^5.0.0: version "5.0.3" @@ -4490,16 +4508,16 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.2.0.tgz#0140dd9cc7376d7833852e9cda88c05414f1efba" - integrity sha512-8AMBQ9UVcoUXt0B7v+5/U5H6yiUR87L6eKCfjE3spx7Ya5lF+ebUo37MCFBML2OiLfkX1sxmQOZhIDonyVTkcw== +expect@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.4.0.tgz#34a0aae523343b0931ff1cf0aa972dfe40edfab4" + integrity sha512-dbYDJhFcqQsamlos6nEwAMe+ahdckJBk5fmw1DYGLQGabGSlUuT+Fm2jHYw5119zG3uIhP+lCQbjJhFEdZMJtg== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" ansi-styles "^4.0.0" - jest-get-type "^26.0.0" - jest-matcher-utils "^26.2.0" - jest-message-util "^26.2.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.4.0" + jest-message-util "^26.3.0" jest-regex-util "^26.0.0" express@^4.16.3, express@^4.17.1: @@ -6123,57 +6141,57 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.2.0.tgz#b4946201defe0c919a2f3d601e9f98cb21dacc15" - integrity sha512-+RyJb+F1K/XBLIYiL449vo5D+CvlHv29QveJUWNPXuUicyZcq+tf1wNxmmFeRvAU1+TzhwqczSjxnCCFt7+8iA== +jest-changed-files@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.3.0.tgz#68fb2a7eb125f50839dab1f5a17db3607fe195b1" + integrity sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" execa "^4.0.0" throat "^5.0.0" -jest-cli@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.2.2.tgz#4c273e5474baafac1eb15fd25aaafb4703f5ffbc" - integrity sha512-vVcly0n/ijZvdy6gPQiQt0YANwX2hLTPQZHtW7Vi3gcFdKTtif7YpI85F8R8JYy5DFSWz4x1OW0arnxlziu5Lw== +jest-cli@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.4.0.tgz#9cbd6be818cd818d85bafe2cffa1dbf043602b28" + integrity sha512-kw2Pr3V2x9/WzSDGsbz/MJBNlCoPMxMudrIavft4bqRlv5tASjU51tyO+1Os1LdW2dAnLQZYsxFUZ8oWPyssGQ== dependencies: - "@jest/core" "^26.2.2" - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/core" "^26.4.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" + jest-config "^26.4.0" + jest-util "^26.3.0" + jest-validate "^26.4.0" prompts "^2.0.1" yargs "^15.3.1" -jest-config@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.2.2.tgz#f3ebc7e2bc3f49de8ed3f8007152f345bb111917" - integrity sha512-2lhxH0y4YFOijMJ65usuf78m7+9/8+hAb1PZQtdRdgnQpAb4zP6KcVDDktpHEkspBKnc2lmFu+RQdHukUUbiTg== +jest-config@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.4.0.tgz#72ff3d0418b7ee7fdd9e2bcaef4dec10b38b3b02" + integrity sha512-MxsvrBug8YY+C4QcUBtmgnHyFeW7w3Ouk/w9eplCDN8VJGVyBEZFe8Lxzfp2pSqh0Dqurqv8Oik2YkbekGUlxg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.2.2" - "@jest/types" "^26.2.0" - babel-jest "^26.2.2" + "@jest/test-sequencer" "^26.4.0" + "@jest/types" "^26.3.0" + babel-jest "^26.3.0" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.2.0" - jest-environment-node "^26.2.0" - jest-get-type "^26.0.0" - jest-jasmine2 "^26.2.2" + jest-environment-jsdom "^26.3.0" + jest-environment-node "^26.3.0" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.4.0" jest-regex-util "^26.0.0" - jest-resolve "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" + jest-resolve "^26.4.0" + jest-util "^26.3.0" + jest-validate "^26.4.0" micromatch "^4.0.2" - pretty-format "^26.2.0" + pretty-format "^26.4.0" jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: version "25.5.0" @@ -6185,15 +6203,15 @@ jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.2.0.tgz#dee62c771adbb23ae585f3f1bd289a6e8ef4f298" - integrity sha512-Wu4Aopi2nzCsHWLBlD48TgRy3Z7OsxlwvHNd1YSnHc7q1NJfrmyCPoUXrTIrydQOG5ApaYpsAsdfnMbJqV1/wQ== +jest-diff@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.0.tgz#d073a0a11952b5bd9f1ff39bb9ad24304a0c55f7" + integrity sha512-wwC38HlOW+iTq6j5tkj/ZamHn6/nrdcEOc/fKaVILNtN2NLWGdkfRaHWwfNYr5ehaLvuoG2LfCZIcWByVj0gjg== dependencies: chalk "^4.0.0" - diff-sequences "^26.0.0" - jest-get-type "^26.0.0" - pretty-format "^26.2.0" + diff-sequences "^26.3.0" + jest-get-type "^26.3.0" + pretty-format "^26.4.0" jest-docblock@^26.0.0: version "26.0.0" @@ -6202,53 +6220,53 @@ jest-docblock@^26.0.0: dependencies: detect-newline "^3.0.0" -jest-each@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.2.0.tgz#aec8efa01d072d7982c900e74940863385fa884e" - integrity sha512-gHPCaho1twWHB5bpcfnozlc6mrMi+VAewVPNgmwf81x2Gzr6XO4dl+eOrwPWxbkYlgjgrYjWK2xgKnixbzH3Ew== +jest-each@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.4.0.tgz#c53605b20e7a0a58d6dcf4d8b2f309e607d35d5a" + integrity sha512-+cyBh1ehs6thVT/bsZVG+WwmRn2ix4Q4noS9yLZgM10yGWPW12/TDvwuOV2VZXn1gi09/ZwJKJWql6YW1C9zNw== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" - jest-get-type "^26.0.0" - jest-util "^26.2.0" - pretty-format "^26.2.0" + jest-get-type "^26.3.0" + jest-util "^26.3.0" + pretty-format "^26.4.0" -jest-environment-jsdom@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.2.0.tgz#6443a6f3569297dcaa4371dddf93acaf167302dc" - integrity sha512-sDG24+5M4NuIGzkI3rJW8XUlrpkvIdE9Zz4jhD8OBnVxAw+Y1jUk9X+lAOD48nlfUTlnt3lbAI3k2Ox+WF3S0g== +jest-environment-jsdom@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz#3b749ba0f3a78e92ba2c9ce519e16e5dd515220c" + integrity sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA== dependencies: - "@jest/environment" "^26.2.0" - "@jest/fake-timers" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" "@types/node" "*" - jest-mock "^26.2.0" - jest-util "^26.2.0" + jest-mock "^26.3.0" + jest-util "^26.3.0" jsdom "^16.2.2" -jest-environment-node@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.2.0.tgz#fee89e06bdd4bed3f75ee2978d73ede9bb57a681" - integrity sha512-4M5ExTYkJ19efBzkiXtBi74JqKLDciEk4CEsp5tTjWGYMrlKFQFtwIVG3tW1OGE0AlXhZjuHPwubuRYY4j4uOw== +jest-environment-node@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.3.0.tgz#56c6cfb506d1597f94ee8d717072bda7228df849" + integrity sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw== dependencies: - "@jest/environment" "^26.2.0" - "@jest/fake-timers" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" "@types/node" "*" - jest-mock "^26.2.0" - jest-util "^26.2.0" + jest-mock "^26.3.0" + jest-util "^26.3.0" jest-get-type@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== -jest-get-type@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039" - integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg== +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-haste-map@^26.1.0, jest-haste-map@^26.2.2: +jest-haste-map@^26.1.0: version "26.2.2" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.2.2.tgz#6d4267b1903854bfdf6a871419f35a82f03ae71e" integrity sha512-3sJlMSt+NHnzCB+0KhJ1Ut4zKJBiJOlbrqEYNdRQGlXTv8kqzZWjUKQRY3pkjmlf+7rYjAV++MQ4D6g4DhAyOg== @@ -6269,37 +6287,58 @@ jest-haste-map@^26.1.0, jest-haste-map@^26.2.2: optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.2.2.tgz#d82b1721fac2b153a4f8b3f0c95e81e702812de2" - integrity sha512-Q8AAHpbiZMVMy4Hz9j1j1bg2yUmPa1W9StBvcHqRaKa9PHaDUMwds8LwaDyzP/2fkybcTQE4+pTMDOG9826tEw== +jest-haste-map@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.3.0.tgz#c51a3b40100d53ab777bfdad382d2e7a00e5c726" + integrity sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA== + dependencies: + "@jest/types" "^26.3.0" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.3.0" + jest-util "^26.3.0" + jest-worker "^26.3.0" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.4.0.tgz#f66b2237203df4227d3bdbb4b8a0de54ba877d35" + integrity sha512-cGBxwzDDKB09EPJ4pE69BMDv+2lO442IB1xQd+vL3cua2OKdeXQK6iDlQKoRX/iP0RgU5T8sn9yahLcx/+ox8Q== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.2.0" - "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/environment" "^26.3.0" + "@jest/source-map" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.2.0" + expect "^26.4.0" is-generator-fn "^2.0.0" - jest-each "^26.2.0" - jest-matcher-utils "^26.2.0" - jest-message-util "^26.2.0" - jest-runtime "^26.2.2" - jest-snapshot "^26.2.2" - jest-util "^26.2.0" - pretty-format "^26.2.0" + jest-each "^26.4.0" + jest-matcher-utils "^26.4.0" + jest-message-util "^26.3.0" + jest-runtime "^26.4.0" + jest-snapshot "^26.4.0" + jest-util "^26.3.0" + pretty-format "^26.4.0" throat "^5.0.0" -jest-leak-detector@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.2.0.tgz#073ee6d8db7a9af043e7ce99d8eea17a4fb0cc50" - integrity sha512-aQdzTX1YiufkXA1teXZu5xXOJgy7wZQw6OJ0iH5CtQlOETe6gTSocaYKUNui1SzQ91xmqEUZ/WRavg9FD82rtQ== +jest-leak-detector@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.4.0.tgz#1efeeef693af3c9332062876add5ac5f25cb0a70" + integrity sha512-7EXKKEKnAWUPyiVtGZzJflbPOtYUdlNoevNVOkAcPpdR8xWiYKPGNGA6sz25S+8YhZq3rmkQJYAh3/P0VnoRwA== dependencies: - jest-get-type "^26.0.0" - pretty-format "^26.2.0" + jest-get-type "^26.3.0" + pretty-format "^26.4.0" jest-matcher-utils@^25.1.0: version "25.5.0" @@ -6311,23 +6350,23 @@ jest-matcher-utils@^25.1.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-matcher-utils@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.2.0.tgz#b107af98c2b8c557ffd46c1adf06f794aa52d622" - integrity sha512-2cf/LW2VFb3ayPHrH36ZDjp9+CAeAe/pWBAwsV8t3dKcrINzXPVxq8qMWOxwt5BaeBCx4ZupVGH7VIgB8v66vQ== +jest-matcher-utils@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.4.0.tgz#2bce9a939e008b894faf1bd4b5bb58facd00c252" + integrity sha512-u+xdCdq+F262DH+PutJKXLGr2H5P3DImdJCir51PGSfi3TtbLQ5tbzKaN8BkXbiTIU6ayuAYBWTlU1nyckVdzA== dependencies: chalk "^4.0.0" - jest-diff "^26.2.0" - jest-get-type "^26.0.0" - pretty-format "^26.2.0" + jest-diff "^26.4.0" + jest-get-type "^26.3.0" + pretty-format "^26.4.0" -jest-message-util@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.2.0.tgz#757fbc1323992297092bb9016a71a2eb12fd22ea" - integrity sha512-g362RhZaJuqeqG108n1sthz5vNpzTNy926eNDszo4ncRbmmcMRIUAZibnd6s5v2XSBCChAxQtCoN25gnzp7JbQ== +jest-message-util@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.3.0.tgz#3bdb538af27bb417f2d4d16557606fd082d5841a" + integrity sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" "@types/stack-utils" "^1.0.1" chalk "^4.0.0" graceful-fs "^4.2.4" @@ -6335,12 +6374,12 @@ jest-message-util@^26.2.0: slash "^3.0.0" stack-utils "^2.0.2" -jest-mock@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.2.0.tgz#a1b3303ab38c34aa1dbbc16ab57cdc1a59ed50d1" - integrity sha512-XeC7yWtWmWByoyVOHSsE7NYsbXJLtJNgmhD7z4MKumKm6ET0si81bsSLbQ64L5saK3TgsHo2B/UqG5KNZ1Sp/Q== +jest-mock@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.3.0.tgz#ee62207c3c5ebe5f35b760e1267fee19a1cfdeba" + integrity sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -6353,83 +6392,83 @@ jest-regex-util@^26.0.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== -jest-resolve-dependencies@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.2.2.tgz#2ad3cd9281730e9a5c487cd846984c5324e47929" - integrity sha512-S5vufDmVbQXnpP7435gr710xeBGUFcKNpNswke7RmFvDQtmqPjPVU/rCeMlEU0p6vfpnjhwMYeaVjKZAy5QYJA== +jest-resolve-dependencies@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.0.tgz#c911fc991e1ae034dd8d01c192f23459d66b87b7" + integrity sha512-hznK/hlrlhu8hwdbieRdHFKmcV83GW8t30libt/v6j1L3IEzb8iN21SaWzV8KRAAK4ijiU0kuge0wnHn+0rytQ== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" jest-regex-util "^26.0.0" - jest-snapshot "^26.2.2" + jest-snapshot "^26.4.0" -jest-resolve@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.2.2.tgz#324a20a516148d61bffa0058ed0c77c510ecfd3e" - integrity sha512-ye9Tj/ILn/0OgFPE/3dGpQPUqt4dHwIocxt5qSBkyzxQD8PbL0bVxBogX2FHxsd3zJA7V2H/cHXnBnNyyT9YoQ== +jest-resolve@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.4.0.tgz#6dc0af7fb93e65b73fec0368ca2b76f3eb59a6d7" + integrity sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" graceful-fs "^4.2.4" jest-pnp-resolver "^1.2.2" - jest-util "^26.2.0" + jest-util "^26.3.0" read-pkg-up "^7.0.1" resolve "^1.17.0" slash "^3.0.0" -jest-runner@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.2.2.tgz#6d03d057886e9c782e10b2cf37443f902fe0e39e" - integrity sha512-/qb6ptgX+KQ+aNMohJf1We695kaAfuu3u3ouh66TWfhTpLd9WbqcF6163d/tMoEY8GqPztXPLuyG0rHRVDLxCA== +jest-runner@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.4.0.tgz#4cb91b266390fbf266294a7d8250d0e7bf8c7a9d" + integrity sha512-XF+tnUGolnPriu6Gg+HHWftspMjD5NkTV2mQppQnpZe39GcUangJ0al7aBGtA3GbVAcRd048DQiJPmsQRdugjw== dependencies: - "@jest/console" "^26.2.0" - "@jest/environment" "^26.2.0" - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/console" "^26.3.0" + "@jest/environment" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" "@types/node" "*" chalk "^4.0.0" emittery "^0.7.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.2.2" + jest-config "^26.4.0" jest-docblock "^26.0.0" - jest-haste-map "^26.2.2" - jest-leak-detector "^26.2.0" - jest-message-util "^26.2.0" - jest-resolve "^26.2.2" - jest-runtime "^26.2.2" - jest-util "^26.2.0" - jest-worker "^26.2.1" + jest-haste-map "^26.3.0" + jest-leak-detector "^26.4.0" + jest-message-util "^26.3.0" + jest-resolve "^26.4.0" + jest-runtime "^26.4.0" + jest-util "^26.3.0" + jest-worker "^26.3.0" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.2.2.tgz#2480ff79320680a643031dd21998d7c63d83ab68" - integrity sha512-a8VXM3DxCDnCIdl9+QucWFfQ28KdqmyVFqeKLigHdErtsx56O2ZIdQkhFSuP1XtVrG9nTNHbKxjh5XL1UaFDVQ== +jest-runtime@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.4.0.tgz#0b860f2bcf4f6047919c5b3fe74ed6adbe0056b4" + integrity sha512-1fjZgGpkyQBUTo59Vi19I4IcsBwzY6uwVFNjUmR06iIi3XRErkY28yimi4IUDRrofQErqcDEw2n3DF9WmQ6vEg== dependencies: - "@jest/console" "^26.2.0" - "@jest/environment" "^26.2.0" - "@jest/fake-timers" "^26.2.0" - "@jest/globals" "^26.2.0" - "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.2.0" - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" + "@jest/console" "^26.3.0" + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/globals" "^26.4.0" + "@jest/source-map" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" "@types/yargs" "^15.0.0" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.2.2" - jest-haste-map "^26.2.2" - jest-message-util "^26.2.0" - jest-mock "^26.2.0" + jest-config "^26.4.0" + jest-haste-map "^26.3.0" + jest-message-util "^26.3.0" + jest-mock "^26.3.0" jest-regex-util "^26.0.0" - jest-resolve "^26.2.2" - jest-snapshot "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" + jest-resolve "^26.4.0" + jest-snapshot "^26.4.0" + jest-util "^26.3.0" + jest-validate "^26.4.0" slash "^3.0.0" strip-bom "^4.0.0" yargs "^15.3.1" @@ -6442,25 +6481,33 @@ jest-serializer@^26.2.0: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.2.2.tgz#9d2eda083a4a1017b157e351868749bd63211799" - integrity sha512-NdjD8aJS7ePu268Wy/n/aR1TUisG0BOY+QOW4f6h46UHEKOgYmmkvJhh2BqdVZQ0BHSxTMt04WpCf9njzx8KtA== +jest-serializer@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.3.0.tgz#1c9d5e1b74d6e5f7e7f9627080fa205d976c33ef" + integrity sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.4.0.tgz#efd42eef09bcb33e9a3eb98e229f2368c73c9235" + integrity sha512-vFGmNGWHMBomrlOpheTMoqihymovuH3GqfmaEIWoPpsxUXyxT3IlbxI5I4m2vg0uv3HUJYg5JoGrkgMzVsAwCg== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" "@types/prettier" "^2.0.0" chalk "^4.0.0" - expect "^26.2.0" + expect "^26.4.0" graceful-fs "^4.2.4" - jest-diff "^26.2.0" - jest-get-type "^26.0.0" - jest-haste-map "^26.2.2" - jest-matcher-utils "^26.2.0" - jest-message-util "^26.2.0" - jest-resolve "^26.2.2" + jest-diff "^26.4.0" + jest-get-type "^26.3.0" + jest-haste-map "^26.3.0" + jest-matcher-utils "^26.4.0" + jest-message-util "^26.3.0" + jest-resolve "^26.4.0" natural-compare "^1.4.0" - pretty-format "^26.2.0" + pretty-format "^26.4.0" semver "^7.3.2" jest-util@^26.1.0, jest-util@^26.2.0: @@ -6475,29 +6522,41 @@ jest-util@^26.1.0, jest-util@^26.2.0: is-ci "^2.0.0" micromatch "^4.0.2" -jest-validate@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.2.0.tgz#97fedf3e7984b7608854cbf925b9ca6ebcbdb78a" - integrity sha512-8XKn3hM6VIVmLNuyzYLCPsRCT83o8jMZYhbieh4dAyKLc4Ypr36rVKC+c8WMpWkfHHpGnEkvWUjjIAyobEIY/Q== +jest-util@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.3.0.tgz#a8974b191df30e2bf523ebbfdbaeb8efca535b3e" + integrity sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.4.0.tgz#3874a7cc9e27328afac88899ee9e2fae5e3a4293" + integrity sha512-t56Z/FRMrLP6mpmje7/YgHy0wOzcuc6i3LBXz6kjmsUWYN62OuMdC86Vg9/dX59SvyitSqqegOrx+h7BkNXeaQ== + dependencies: + "@jest/types" "^26.3.0" camelcase "^6.0.0" chalk "^4.0.0" - jest-get-type "^26.0.0" + jest-get-type "^26.3.0" leven "^3.1.0" - pretty-format "^26.2.0" + pretty-format "^26.4.0" -jest-watcher@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.2.0.tgz#45bdf2fecadd19c0a501f3b071a474dca636825b" - integrity sha512-674Boco4Joe0CzgKPL6K4Z9LgyLx+ZvW2GilbpYb8rFEUkmDGgsZdv1Hv5rxsRpb1HLgKUOL/JfbttRCuFdZXQ== +jest-watcher@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.3.0.tgz#f8ef3068ddb8af160ef868400318dc4a898eed08" + integrity sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ== dependencies: - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.2.0" + jest-util "^26.3.0" string-length "^4.0.1" jest-worker@^26.0.0, jest-worker@^26.2.1: @@ -6509,14 +6568,23 @@ jest-worker@^26.0.0, jest-worker@^26.2.1: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.2.2.tgz#a022303887b145147204c5f66e6a5c832333c7e7" - integrity sha512-EkJNyHiAG1+A8pqSz7cXttoVa34hOEzN/MrnJhYnfp5VHxflVcf2pu3oJSrhiy6LfIutLdWo+n6q63tjcoIeig== +jest-worker@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" + integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== dependencies: - "@jest/core" "^26.2.2" + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.4.0.tgz#495e81dcff40f8a656e567c664af87b29c5c5922" + integrity sha512-lNCOS+ckRHE1wFyVtQClBmbsOVuH2GWUTJMDL3vunp9DXcah+V8vfvVVApngClcdoc3rgZpqOfCNKLjxjj2l4g== + dependencies: + "@jest/core" "^26.4.0" import-local "^3.0.2" - jest-cli "^26.2.2" + jest-cli "^26.4.0" js-base64@^2.1.9: version "2.6.2" @@ -8454,12 +8522,12 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.2.0.tgz#83ecc8d7de676ff224225055e72bd64821cec4f1" - integrity sha512-qi/8IuBu2clY9G7qCXgCdD1Bf9w+sXakdHTRToknzMtVy0g7c4MBWaZy7MfB7ndKZovRO6XRwJiAYqq+MC7SDA== +pretty-format@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.0.tgz#c08073f531429e9e5024049446f42ecc9f933a3b" + integrity sha512-mEEwwpCseqrUtuMbrJG4b824877pM5xald3AkilJ47Po2YLr97/siejYQHqj2oDQBeJNbu+Q0qUuekJ8F0NAPg== dependencies: - "@jest/types" "^26.2.0" + "@jest/types" "^26.3.0" ansi-regex "^5.0.0" ansi-styles "^4.0.0" react-is "^16.12.0" @@ -10906,10 +10974,10 @@ v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== -v8-to-istanbul@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== +v8-to-istanbul@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz#0608f5b49a481458625edb058488607f25498ba5" + integrity sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" From 8ba79226394e868a6cc298d7160e08681e0487ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:14:30 +0900 Subject: [PATCH 131/703] Bump aws-sdk-s3 from 1.76.0 to 1.78.0 (#14583) Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.76.0 to 1.78.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 5c7a91c79a..c34ce3d430 100644 --- a/Gemfile +++ b/Gemfile @@ -20,7 +20,7 @@ gem 'makara', '~> 0.4' gem 'pghero', '~> 2.7' gem 'dotenv-rails', '~> 2.7' -gem 'aws-sdk-s3', '~> 1.76', require: false +gem 'aws-sdk-s3', '~> 1.78', require: false gem 'fog-core', '<= 2.1.0' gem 'fog-openstack', '~> 0.3', require: false gem 'paperclip', '~> 6.0' diff --git a/Gemfile.lock b/Gemfile.lock index 70dbc1ec83..01ab555a5f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -86,11 +86,11 @@ GEM aws-sdk-kms (1.36.0) aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.76.0) - aws-sdk-core (~> 3, >= 3.104.1) + aws-sdk-s3 (1.78.0) + aws-sdk-core (~> 3, >= 3.104.3) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.1) + aws-sigv4 (1.2.2) aws-eventstream (~> 1, >= 1.0.2) bcrypt (3.1.15) better_errors (2.7.1) @@ -655,7 +655,7 @@ DEPENDENCIES active_record_query_trace (~> 1.7) addressable (~> 2.7) annotate (~> 3.1) - aws-sdk-s3 (~> 1.76) + aws-sdk-s3 (~> 1.78) better_errors (~> 2.7) binding_of_caller (~> 0.7) blurhash (~> 0.1) From 36289b6a612e68de49f330dcce029bad1c9f5131 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:15:38 +0900 Subject: [PATCH 132/703] Bump redis-rack from 2.1.2 to 2.1.3 (#14584) Bumps [redis-rack](http://redis-store.org/redis-rack) from 2.1.2 to 2.1.3. Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 01ab555a5f..fcdcbaf69f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -482,7 +482,7 @@ GEM redis-store (>= 1.3, < 2) redis-namespace (1.7.0) redis (>= 3.0.4) - redis-rack (2.1.2) + redis-rack (2.1.3) rack (>= 2.0.8, < 3) redis-store (>= 1.2, < 2) redis-rails (5.0.2) From c1dbcd0ba7d212ac4ef1fade3975c825d7492c67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:16:10 +0900 Subject: [PATCH 133/703] Bump aws-sigv4 from 1.2.1 to 1.2.2 (#14588) Bumps [aws-sigv4](https://github.com/aws/aws-sdk-ruby) from 1.2.1 to 1.2.2. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sigv4/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/compare/1.2.1...1.2.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> From 429de48d56c5c3275e601acb0d13c1805367db7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:16:57 +0900 Subject: [PATCH 134/703] Bump intersection-observer from 0.10.0 to 0.11.0 (#14589) Bumps [intersection-observer](https://github.com/w3c/IntersectionObserver) from 0.10.0 to 0.11.0. - [Release notes](https://github.com/w3c/IntersectionObserver/releases) - [Commits](https://github.com/w3c/IntersectionObserver/commits) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bb555b48f4..f46a6ca1e1 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "http-link-header": "^1.0.2", "immutable": "^3.8.2", "imports-loader": "^0.8.0", - "intersection-observer": "^0.10.0", + "intersection-observer": "^0.11.0", "intl": "^1.2.5", "intl-messageformat": "^2.2.0", "intl-relativeformat": "^6.4.3", diff --git a/yarn.lock b/yarn.lock index 840aeb7864..cf764704d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5664,10 +5664,10 @@ interpret@^1.4.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -intersection-observer@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.10.0.tgz#4d11d63c1ff67e21e62987be24d55218da1a1a69" - integrity sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ== +intersection-observer@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.11.0.tgz#f4ea067070326f68393ee161cc0a2ca4c0040c6f" + integrity sha512-KZArj2QVnmdud9zTpKf279m2bbGfG+4/kn16UU0NL3pTVl52ZHiJ9IRNSsnn6jaHrL9EGLFM5eWjTx2fz/+zoQ== intl-format-cache@^2.0.5: version "2.2.9" From c5092f8b6211bed3f2022562aef72ec9f68c4c0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:23:52 +0900 Subject: [PATCH 135/703] Bump webpacker from 5.1.1 to 5.2.0 (#14586) Bumps [webpacker](https://github.com/rails/webpacker) from 5.1.1 to 5.2.0. - [Release notes](https://github.com/rails/webpacker/releases) - [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md) - [Commits](https://github.com/rails/webpacker/compare/v5.1.1...v5.2.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index c34ce3d430..8494a7923b 100644 --- a/Gemfile +++ b/Gemfile @@ -97,7 +97,7 @@ gem 'strong_migrations', '~> 0.7' gem 'tty-prompt', '~> 0.22', require: false gem 'twitter-text', '~> 1.14' gem 'tzinfo-data', '~> 1.2020' -gem 'webpacker', '~> 5.1' +gem 'webpacker', '~> 5.2' gem 'webpush' gem 'json-ld' diff --git a/Gemfile.lock b/Gemfile.lock index fcdcbaf69f..b5ef9b6d26 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -632,7 +632,7 @@ GEM addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - webpacker (5.1.1) + webpacker (5.2.0) activesupport (>= 5.2) rack-proxy (>= 0.6.1) railties (>= 5.2) @@ -776,5 +776,5 @@ DEPENDENCIES twitter-text (~> 1.14) tzinfo-data (~> 1.2020) webmock (~> 3.8) - webpacker (~> 5.1) + webpacker (~> 5.2) webpush From e2e316aa536629a724c202244851f928f0bf6fda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:28:14 +0900 Subject: [PATCH 136/703] Bump portfinder from 1.0.26 to 1.0.28 (#14594) Bumps [portfinder](https://github.com/http-party/node-portfinder) from 1.0.26 to 1.0.28. - [Release notes](https://github.com/http-party/node-portfinder/releases) - [Commits](https://github.com/http-party/node-portfinder/compare/v1.0.26...v1.0.28) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index cf764704d0..e6f4635909 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6950,11 +6950,16 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.3.0, lodash@~4.17.10: +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.3.0, lodash@~4.17.10: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.14: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + loglevel@^1.6.8: version "1.6.8" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" @@ -7252,7 +7257,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: +mkdirp@^0.5, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -8108,13 +8113,13 @@ pluralize@^1.2.1: integrity sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU= portfinder@^1.0.26: - version "1.0.26" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" - integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== dependencies: async "^2.6.2" debug "^3.1.1" - mkdirp "^0.5.1" + mkdirp "^0.5.5" posix-character-classes@^0.1.0: version "0.1.1" From 36e2e9bed5ce909ad09f01b9b7c3f95d3f3b2fe3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:29:36 +0900 Subject: [PATCH 137/703] Bump duplexer from 0.1.1 to 0.1.2 (#14593) Bumps [duplexer](https://github.com/Raynos/duplexer) from 0.1.1 to 0.1.2. - [Release notes](https://github.com/Raynos/duplexer/releases) - [Commits](https://github.com/Raynos/duplexer/compare/v0.1.1...v0.1.2) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index e6f4635909..cd54904f47 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3895,9 +3895,9 @@ dotenv@^8.2.0: integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" From 9b2648b30adfa57dc12153c7a4e0fd9ac2f187dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:31:28 +0900 Subject: [PATCH 138/703] Bump simplecov from 0.18.5 to 0.19.0 (#14590) Bumps [simplecov](https://github.com/simplecov-ruby/simplecov) from 0.18.5 to 0.19.0. - [Release notes](https://github.com/simplecov-ruby/simplecov/releases) - [Changelog](https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md) - [Commits](https://github.com/simplecov-ruby/simplecov/compare/v0.18.5...v0.19.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 8494a7923b..507c3ddff6 100644 --- a/Gemfile +++ b/Gemfile @@ -124,7 +124,7 @@ group :test do gem 'microformats', '~> 4.2' gem 'rails-controller-testing', '~> 1.0' gem 'rspec-sidekiq', '~> 3.1' - gem 'simplecov', '~> 0.18', require: false + gem 'simplecov', '~> 0.19', require: false gem 'webmock', '~> 3.8' gem 'parallel_tests', '~> 3.1' gem 'rspec_junit_formatter', '~> 0.4' diff --git a/Gemfile.lock b/Gemfile.lock index b5ef9b6d26..0de091b5f5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -574,7 +574,7 @@ GEM simple_form (5.0.2) actionpack (>= 5.0) activemodel (>= 5.0) - simplecov (0.18.5) + simplecov (0.19.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov-html (0.12.2) @@ -763,7 +763,7 @@ DEPENDENCIES sidekiq-unique-jobs (~> 6.0) simple-navigation (~> 4.1) simple_form (~> 5.0) - simplecov (~> 0.18) + simplecov (~> 0.19) sprockets (~> 3.7.2) sprockets-rails (~> 3.2) stackprof From c7cfd4e67aedb38cba3ee452e18bd086e30e2e5d Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 21 Aug 2020 14:14:28 +0200 Subject: [PATCH 139/703] Fix scrolling issues when closing some dropdown menus (#14606) --- app/javascript/mastodon/components/dropdown_menu.js | 2 +- .../mastodon/features/compose/components/privacy_dropdown.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/components/dropdown_menu.js b/app/javascript/mastodon/components/dropdown_menu.js index 4734e0f3fc..09e3c9df85 100644 --- a/app/javascript/mastodon/components/dropdown_menu.js +++ b/app/javascript/mastodon/components/dropdown_menu.js @@ -205,7 +205,7 @@ export default class Dropdown extends React.PureComponent { handleClose = () => { if (this.activeElement) { - this.activeElement.focus(); + this.activeElement.focus({ preventScroll: true }); this.activeElement = null; } this.props.onClose(this.state.id); diff --git a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js index 96028e0421..5223025fb5 100644 --- a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js @@ -179,7 +179,7 @@ class PrivacyDropdown extends React.PureComponent { } else { const { top } = target.getBoundingClientRect(); if (this.state.open && this.activeElement) { - this.activeElement.focus(); + this.activeElement.focus({ preventScroll: true }); } this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' }); this.setState({ open: !this.state.open }); @@ -220,7 +220,7 @@ class PrivacyDropdown extends React.PureComponent { handleClose = () => { if (this.state.open && this.activeElement) { - this.activeElement.focus(); + this.activeElement.focus({ preventScroll: true }); } this.setState({ open: false }); } From 0362cff5d6019163c41e47f089a955752d9c02a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 22 Aug 2020 22:48:23 +0900 Subject: [PATCH 140/703] Bump jsdom from 16.3.0 to 16.4.0 (#14587) Bumps [jsdom](https://github.com/jsdom/jsdom) from 16.3.0 to 16.4.0. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/16.3.0...16.4.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index cd54904f47..5d477d3d0f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1794,9 +1794,9 @@ acorn@^6.4.1: integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== acorn@^7.1.1, acorn@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" - integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== + version "7.4.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" + integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== aggregate-error@^3.0.0: version "3.0.1" @@ -2123,9 +2123,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" - integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== + version "1.10.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" + integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== axe-core@^3.5.4: version "3.5.5" @@ -6615,9 +6615,9 @@ jsbn@~0.1.0: integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^16.2.2: - version "16.3.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c" - integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg== + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== dependencies: abab "^2.0.3" acorn "^7.1.1" @@ -6950,12 +6950,12 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.3.0, lodash@~4.17.10: +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.3.0, lodash@~4.17.10: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== -lodash@^4.17.14: +lodash@^4.17.14, lodash@^4.17.19: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== From 92e6b2b4d80f1090d1ce285fb8179f4af9d66565 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 22 Aug 2020 23:09:18 +0900 Subject: [PATCH 141/703] Bump jest-cli from 26.4.0 to 26.4.2 (#14614) Bumps [jest-cli](https://github.com/facebook/jest/tree/HEAD/packages/jest-cli) from 26.4.0 to 26.4.2. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v26.4.2/packages/jest-cli) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 368 +++++++++++++++++++++++++++--------------------------- 1 file changed, 186 insertions(+), 182 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5d477d3d0f..d795799f9d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,7 +18,29 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.7.2", "@babel/core@^7.7.5": +"@babel/core@^7.1.0", "@babel/core@^7.7.5": + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229" + integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.4" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.0" + "@babel/types" "^7.11.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.11.1", "@babel/core@^7.7.2": version "7.11.1" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643" integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ== @@ -40,10 +62,10 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" - integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== +"@babel/generator@^7.11.0", "@babel/generator@^7.11.4": + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.4.tgz#1ec7eec00defba5d6f83e50e3ee72ae2fee482be" + integrity sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g== dependencies: "@babel/types" "^7.11.0" jsesc "^2.5.1" @@ -154,11 +176,11 @@ "@babel/types" "^7.10.4" "@babel/helper-member-expression-to-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4" - integrity sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A== + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" + integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.11.0" "@babel/helper-member-expression-to-functions@^7.10.5": version "7.10.5" @@ -289,7 +311,12 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1", "@babel/parser@^7.7.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.4": + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.4.tgz#6fa1a118b8b0d80d0267b719213dc947e88cc0ca" + integrity sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA== + +"@babel/parser@^7.11.1", "@babel/parser@^7.7.0": version "7.11.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9" integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA== @@ -1140,13 +1167,13 @@ jest-util "^26.3.0" slash "^3.0.0" -"@jest/core@^26.4.0": - version "26.4.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.4.0.tgz#8f42ae45640b46b4f8ffee134dcd408c210ab1ef" - integrity sha512-mpXm4OjWQbz7qbzGIiSqvfNZ1FxX6ywWgLtdSD2luPORt5zKPtqcdDnX7L8RdfMaj1znDBgN2+gB094ZIr7vnA== +"@jest/core@^26.4.0", "@jest/core@^26.4.2": + version "26.4.2" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.4.2.tgz#85d0894f31ac29b5bab07aa86806d03dd3d33edc" + integrity sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg== dependencies: "@jest/console" "^26.3.0" - "@jest/reporters" "^26.4.0" + "@jest/reporters" "^26.4.1" "@jest/test-result" "^26.3.0" "@jest/transform" "^26.3.0" "@jest/types" "^26.3.0" @@ -1156,17 +1183,17 @@ exit "^0.1.2" graceful-fs "^4.2.4" jest-changed-files "^26.3.0" - jest-config "^26.4.0" + jest-config "^26.4.2" jest-haste-map "^26.3.0" jest-message-util "^26.3.0" jest-regex-util "^26.0.0" jest-resolve "^26.4.0" - jest-resolve-dependencies "^26.4.0" - jest-runner "^26.4.0" - jest-runtime "^26.4.0" - jest-snapshot "^26.4.0" + jest-resolve-dependencies "^26.4.2" + jest-runner "^26.4.2" + jest-runtime "^26.4.2" + jest-snapshot "^26.4.2" jest-util "^26.3.0" - jest-validate "^26.4.0" + jest-validate "^26.4.2" jest-watcher "^26.3.0" micromatch "^4.0.2" p-each-series "^2.1.0" @@ -1196,19 +1223,19 @@ jest-mock "^26.3.0" jest-util "^26.3.0" -"@jest/globals@^26.4.0": - version "26.4.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.4.0.tgz#ebab3ba937a200a4b3805f2e552bdf869465ffea" - integrity sha512-QKwoVAeL9d0xaEM9ebPvfc+bolN04F+o3zM2jswGDBiiNjCogZ3LvOaqumRdDyz6kLmbx+UhgMBAVuLunbXZ2A== +"@jest/globals@^26.4.2": + version "26.4.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.4.2.tgz#73c2a862ac691d998889a241beb3dc9cada40d4a" + integrity sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow== dependencies: "@jest/environment" "^26.3.0" "@jest/types" "^26.3.0" - expect "^26.4.0" + expect "^26.4.2" -"@jest/reporters@^26.4.0": - version "26.4.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.4.0.tgz#dd3f03979170dd25dc6a9b746c693b591056d753" - integrity sha512-14OPAAuYhgRBSNxAocVluX6ksdMdK/EuP9NmtBXU9g1uKaVBrPnohn/CVm6iMot1a9iU8BCxa5715YRf8FEg/A== +"@jest/reporters@^26.4.1": + version "26.4.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.4.1.tgz#3b4d6faf28650f3965f8b97bc3d114077fb71795" + integrity sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ== dependencies: "@bcoe/v8-coverage" "^0.2.3" "@jest/console" "^26.3.0" @@ -1235,7 +1262,7 @@ terminal-link "^2.0.0" v8-to-istanbul "^5.0.1" optionalDependencies: - node-notifier "^7.0.0" + node-notifier "^8.0.0" "@jest/source-map@^26.3.0": version "26.3.0" @@ -1256,16 +1283,16 @@ "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.4.0": - version "26.4.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.4.0.tgz#f4902772392d478d310dd6fd3b6818fb4bcc4c82" - integrity sha512-9Z7lCShS7vERp+DRwIVNH/6sHMWwJK1DPnGCpGeVLGJJWJ4Y08sQI3vIKdmKHu2KmwlUBpRM+BFf7NlVUkl5XA== +"@jest/test-sequencer@^26.4.2": + version "26.4.2" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz#58a3760a61eec758a2ce6080201424580d97cbba" + integrity sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog== dependencies: "@jest/test-result" "^26.3.0" graceful-fs "^4.2.4" jest-haste-map "^26.3.0" - jest-runner "^26.4.0" - jest-runtime "^26.4.0" + jest-runner "^26.4.2" + jest-runtime "^26.4.2" "@jest/transform@^26.1.0": version "26.1.0" @@ -1319,18 +1346,7 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.1.0", "@jest/types@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.2.0.tgz#b28ca1fb517a4eb48c0addea7fcd9edc4ab45721" - integrity sha512-lvm3rJvctxd7+wxKSxxbzpDbr4FXDLaC57WEKdUIZ2cjTYuxYSc0zlyD7Z4Uqr5VdKxRUrtwIkiqBuvgf8uKJA== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^26.3.0": +"@jest/types@^26.1.0", "@jest/types@^26.2.0", "@jest/types@^26.3.0": version "26.3.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" integrity sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ== @@ -1375,9 +1391,9 @@ integrity sha512-CM9OEvoN9eXkaX7PXEnbsQLULJ97b9rVmwliZbz/iBOERLJ68Rk3ClJe+fQEMKU4CBZfky2lIRnfslOdUs9SLQ== "@sinonjs/commons@^1.7.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d" - integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q== + version "1.8.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" + integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== dependencies: type-detect "4.0.8" @@ -1449,9 +1465,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.12.tgz#22f49a028e69465390f87bb103ebd61bd086b8f5" - integrity sha512-t4CoEokHTfcyfb4hUaF9oOHu9RmmNWnm1CP0YmMqOOfClKascOmvlEM736vlqeScuGvBDsHkf8R2INd4DWreQA== + version "7.0.13" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" + integrity sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ== dependencies: "@babel/types" "^7.3.0" @@ -1532,9 +1548,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "14.0.27" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1" - integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g== + version "14.6.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499" + integrity sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1547,9 +1563,9 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d" - integrity sha512-boy4xPNEtiw6N3abRhBi/e7hNvy3Tt8E9ZRAQrwAGzoCGZS/1wjo9KY7JHhnfnEsG5wSjDbymCozUM9a3ea7OQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.2.tgz#5bb52ee68d0f8efa9cc0099920e56be6cc4e37f3" + integrity sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA== "@types/q@^1.5.1": version "1.5.2" @@ -4459,9 +4475,9 @@ execa@^1.0.0: strip-eof "^1.0.0" execa@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240" - integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q== + version "4.0.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" + integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -4508,15 +4524,15 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.4.0.tgz#34a0aae523343b0931ff1cf0aa972dfe40edfab4" - integrity sha512-dbYDJhFcqQsamlos6nEwAMe+ahdckJBk5fmw1DYGLQGabGSlUuT+Fm2jHYw5119zG3uIhP+lCQbjJhFEdZMJtg== +expect@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.4.2.tgz#36db120928a5a2d7d9736643032de32f24e1b2a1" + integrity sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA== dependencies: "@jest/types" "^26.3.0" ansi-styles "^4.0.0" jest-get-type "^26.3.0" - jest-matcher-utils "^26.4.0" + jest-matcher-utils "^26.4.2" jest-message-util "^26.3.0" jest-regex-util "^26.0.0" @@ -5019,9 +5035,9 @@ get-stream@^4.0.0: pump "^3.0.0" get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" @@ -5857,9 +5873,9 @@ is-directory@^0.3.1: integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.0.tgz#25dc043e4fdc3cf969d622735e05a86ba9952e2b" - integrity sha512-mB2WygGsSeoXtLKpSYzP6sa0Z9DyU9ZyKlnvuZWxCociaI0qsF8u12sR72DFTX236g1u6oWSWYFuUk09nGQEjg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" @@ -6151,11 +6167,11 @@ jest-changed-files@^26.3.0: throat "^5.0.0" jest-cli@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.4.0.tgz#9cbd6be818cd818d85bafe2cffa1dbf043602b28" - integrity sha512-kw2Pr3V2x9/WzSDGsbz/MJBNlCoPMxMudrIavft4bqRlv5tASjU51tyO+1Os1LdW2dAnLQZYsxFUZ8oWPyssGQ== + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.4.2.tgz#24afc6e4dfc25cde4c7ec4226fb7db5f157c21da" + integrity sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw== dependencies: - "@jest/core" "^26.4.0" + "@jest/core" "^26.4.2" "@jest/test-result" "^26.3.0" "@jest/types" "^26.3.0" chalk "^4.0.0" @@ -6163,19 +6179,19 @@ jest-cli@^26.4.0: graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^26.4.0" + jest-config "^26.4.2" jest-util "^26.3.0" - jest-validate "^26.4.0" + jest-validate "^26.4.2" prompts "^2.0.1" yargs "^15.3.1" -jest-config@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.4.0.tgz#72ff3d0418b7ee7fdd9e2bcaef4dec10b38b3b02" - integrity sha512-MxsvrBug8YY+C4QcUBtmgnHyFeW7w3Ouk/w9eplCDN8VJGVyBEZFe8Lxzfp2pSqh0Dqurqv8Oik2YkbekGUlxg== +jest-config@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.4.2.tgz#da0cbb7dc2c131ffe831f0f7f2a36256e6086558" + integrity sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.4.0" + "@jest/test-sequencer" "^26.4.2" "@jest/types" "^26.3.0" babel-jest "^26.3.0" chalk "^4.0.0" @@ -6185,13 +6201,13 @@ jest-config@^26.4.0: jest-environment-jsdom "^26.3.0" jest-environment-node "^26.3.0" jest-get-type "^26.3.0" - jest-jasmine2 "^26.4.0" + jest-jasmine2 "^26.4.2" jest-regex-util "^26.0.0" jest-resolve "^26.4.0" jest-util "^26.3.0" - jest-validate "^26.4.0" + jest-validate "^26.4.2" micromatch "^4.0.2" - pretty-format "^26.4.0" + pretty-format "^26.4.2" jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: version "25.5.0" @@ -6203,15 +6219,15 @@ jest-diff@^25.1.0, jest-diff@^25.2.1, jest-diff@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.0.tgz#d073a0a11952b5bd9f1ff39bb9ad24304a0c55f7" - integrity sha512-wwC38HlOW+iTq6j5tkj/ZamHn6/nrdcEOc/fKaVILNtN2NLWGdkfRaHWwfNYr5ehaLvuoG2LfCZIcWByVj0gjg== +jest-diff@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.2.tgz#a1b7b303bcc534aabdb3bd4a7caf594ac059f5aa" + integrity sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ== dependencies: chalk "^4.0.0" diff-sequences "^26.3.0" jest-get-type "^26.3.0" - pretty-format "^26.4.0" + pretty-format "^26.4.2" jest-docblock@^26.0.0: version "26.0.0" @@ -6220,16 +6236,16 @@ jest-docblock@^26.0.0: dependencies: detect-newline "^3.0.0" -jest-each@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.4.0.tgz#c53605b20e7a0a58d6dcf4d8b2f309e607d35d5a" - integrity sha512-+cyBh1ehs6thVT/bsZVG+WwmRn2ix4Q4noS9yLZgM10yGWPW12/TDvwuOV2VZXn1gi09/ZwJKJWql6YW1C9zNw== +jest-each@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.4.2.tgz#bb14f7f4304f2bb2e2b81f783f989449b8b6ffae" + integrity sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA== dependencies: "@jest/types" "^26.3.0" chalk "^4.0.0" jest-get-type "^26.3.0" jest-util "^26.3.0" - pretty-format "^26.4.0" + pretty-format "^26.4.2" jest-environment-jsdom@^26.3.0: version "26.3.0" @@ -6308,10 +6324,10 @@ jest-haste-map@^26.3.0: optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.4.0.tgz#f66b2237203df4227d3bdbb4b8a0de54ba877d35" - integrity sha512-cGBxwzDDKB09EPJ4pE69BMDv+2lO442IB1xQd+vL3cua2OKdeXQK6iDlQKoRX/iP0RgU5T8sn9yahLcx/+ox8Q== +jest-jasmine2@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz#18a9d5bec30904267ac5e9797570932aec1e2257" + integrity sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA== dependencies: "@babel/traverse" "^7.1.0" "@jest/environment" "^26.3.0" @@ -6321,24 +6337,24 @@ jest-jasmine2@^26.4.0: "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.4.0" + expect "^26.4.2" is-generator-fn "^2.0.0" - jest-each "^26.4.0" - jest-matcher-utils "^26.4.0" + jest-each "^26.4.2" + jest-matcher-utils "^26.4.2" jest-message-util "^26.3.0" - jest-runtime "^26.4.0" - jest-snapshot "^26.4.0" + jest-runtime "^26.4.2" + jest-snapshot "^26.4.2" jest-util "^26.3.0" - pretty-format "^26.4.0" + pretty-format "^26.4.2" throat "^5.0.0" -jest-leak-detector@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.4.0.tgz#1efeeef693af3c9332062876add5ac5f25cb0a70" - integrity sha512-7EXKKEKnAWUPyiVtGZzJflbPOtYUdlNoevNVOkAcPpdR8xWiYKPGNGA6sz25S+8YhZq3rmkQJYAh3/P0VnoRwA== +jest-leak-detector@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz#c73e2fa8757bf905f6f66fb9e0070b70fa0f573f" + integrity sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA== dependencies: jest-get-type "^26.3.0" - pretty-format "^26.4.0" + pretty-format "^26.4.2" jest-matcher-utils@^25.1.0: version "25.5.0" @@ -6350,15 +6366,15 @@ jest-matcher-utils@^25.1.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-matcher-utils@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.4.0.tgz#2bce9a939e008b894faf1bd4b5bb58facd00c252" - integrity sha512-u+xdCdq+F262DH+PutJKXLGr2H5P3DImdJCir51PGSfi3TtbLQ5tbzKaN8BkXbiTIU6ayuAYBWTlU1nyckVdzA== +jest-matcher-utils@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz#fa81f3693f7cb67e5fc1537317525ef3b85f4b06" + integrity sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q== dependencies: chalk "^4.0.0" - jest-diff "^26.4.0" + jest-diff "^26.4.2" jest-get-type "^26.3.0" - pretty-format "^26.4.0" + pretty-format "^26.4.2" jest-message-util@^26.3.0: version "26.3.0" @@ -6392,14 +6408,14 @@ jest-regex-util@^26.0.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== -jest-resolve-dependencies@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.0.tgz#c911fc991e1ae034dd8d01c192f23459d66b87b7" - integrity sha512-hznK/hlrlhu8hwdbieRdHFKmcV83GW8t30libt/v6j1L3IEzb8iN21SaWzV8KRAAK4ijiU0kuge0wnHn+0rytQ== +jest-resolve-dependencies@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz#739bdb027c14befb2fe5aabbd03f7bab355f1dc5" + integrity sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ== dependencies: "@jest/types" "^26.3.0" jest-regex-util "^26.0.0" - jest-snapshot "^26.4.0" + jest-snapshot "^26.4.2" jest-resolve@^26.4.0: version "26.4.0" @@ -6415,10 +6431,10 @@ jest-resolve@^26.4.0: resolve "^1.17.0" slash "^3.0.0" -jest-runner@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.4.0.tgz#4cb91b266390fbf266294a7d8250d0e7bf8c7a9d" - integrity sha512-XF+tnUGolnPriu6Gg+HHWftspMjD5NkTV2mQppQnpZe39GcUangJ0al7aBGtA3GbVAcRd048DQiJPmsQRdugjw== +jest-runner@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.4.2.tgz#c3ec5482c8edd31973bd3935df5a449a45b5b853" + integrity sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g== dependencies: "@jest/console" "^26.3.0" "@jest/environment" "^26.3.0" @@ -6429,27 +6445,27 @@ jest-runner@^26.4.0: emittery "^0.7.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.4.0" + jest-config "^26.4.2" jest-docblock "^26.0.0" jest-haste-map "^26.3.0" - jest-leak-detector "^26.4.0" + jest-leak-detector "^26.4.2" jest-message-util "^26.3.0" jest-resolve "^26.4.0" - jest-runtime "^26.4.0" + jest-runtime "^26.4.2" jest-util "^26.3.0" jest-worker "^26.3.0" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.4.0.tgz#0b860f2bcf4f6047919c5b3fe74ed6adbe0056b4" - integrity sha512-1fjZgGpkyQBUTo59Vi19I4IcsBwzY6uwVFNjUmR06iIi3XRErkY28yimi4IUDRrofQErqcDEw2n3DF9WmQ6vEg== +jest-runtime@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.4.2.tgz#94ce17890353c92e4206580c73a8f0c024c33c42" + integrity sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ== dependencies: "@jest/console" "^26.3.0" "@jest/environment" "^26.3.0" "@jest/fake-timers" "^26.3.0" - "@jest/globals" "^26.4.0" + "@jest/globals" "^26.4.2" "@jest/source-map" "^26.3.0" "@jest/test-result" "^26.3.0" "@jest/transform" "^26.3.0" @@ -6460,15 +6476,15 @@ jest-runtime@^26.4.0: exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.4.0" + jest-config "^26.4.2" jest-haste-map "^26.3.0" jest-message-util "^26.3.0" jest-mock "^26.3.0" jest-regex-util "^26.0.0" jest-resolve "^26.4.0" - jest-snapshot "^26.4.0" + jest-snapshot "^26.4.2" jest-util "^26.3.0" - jest-validate "^26.4.0" + jest-validate "^26.4.2" slash "^3.0.0" strip-bom "^4.0.0" yargs "^15.3.1" @@ -6489,40 +6505,28 @@ jest-serializer@^26.3.0: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.4.0.tgz#efd42eef09bcb33e9a3eb98e229f2368c73c9235" - integrity sha512-vFGmNGWHMBomrlOpheTMoqihymovuH3GqfmaEIWoPpsxUXyxT3IlbxI5I4m2vg0uv3HUJYg5JoGrkgMzVsAwCg== +jest-snapshot@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.4.2.tgz#87d3ac2f2bd87ea8003602fbebd8fcb9e94104f6" + integrity sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg== dependencies: "@babel/types" "^7.0.0" "@jest/types" "^26.3.0" "@types/prettier" "^2.0.0" chalk "^4.0.0" - expect "^26.4.0" + expect "^26.4.2" graceful-fs "^4.2.4" - jest-diff "^26.4.0" + jest-diff "^26.4.2" jest-get-type "^26.3.0" jest-haste-map "^26.3.0" - jest-matcher-utils "^26.4.0" + jest-matcher-utils "^26.4.2" jest-message-util "^26.3.0" jest-resolve "^26.4.0" natural-compare "^1.4.0" - pretty-format "^26.4.0" + pretty-format "^26.4.2" semver "^7.3.2" -jest-util@^26.1.0, jest-util@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.2.0.tgz#0597d2a27c559340957609f106c408c17c1d88ac" - integrity sha512-YmDwJxLZ1kFxpxPfhSJ0rIkiZOM0PQbRcfH0TzJOhqCisCAsI1WcmoQqO83My9xeVA2k4n+rzg2UuexVKzPpig== - dependencies: - "@jest/types" "^26.2.0" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-util@^26.3.0: +jest-util@^26.1.0, jest-util@^26.2.0, jest-util@^26.3.0: version "26.3.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.3.0.tgz#a8974b191df30e2bf523ebbfdbaeb8efca535b3e" integrity sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw== @@ -6534,17 +6538,17 @@ jest-util@^26.3.0: is-ci "^2.0.0" micromatch "^4.0.2" -jest-validate@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.4.0.tgz#3874a7cc9e27328afac88899ee9e2fae5e3a4293" - integrity sha512-t56Z/FRMrLP6mpmje7/YgHy0wOzcuc6i3LBXz6kjmsUWYN62OuMdC86Vg9/dX59SvyitSqqegOrx+h7BkNXeaQ== +jest-validate@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.4.2.tgz#e871b0dfe97747133014dcf6445ee8018398f39c" + integrity sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ== dependencies: "@jest/types" "^26.3.0" camelcase "^6.0.0" chalk "^4.0.0" jest-get-type "^26.3.0" leven "^3.1.0" - pretty-format "^26.4.0" + pretty-format "^26.4.2" jest-watcher@^26.3.0: version "26.3.0" @@ -7410,16 +7414,16 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.2.tgz#3a70b1b70aca5e919d0b1b022530697466d9c675" - integrity sha512-ux+n4hPVETuTL8+daJXTOC6uKLgMsl1RYfFv7DKRzyvzBapqco0rZZ9g72ZN8VS6V+gvNYHYa/ofcCY8fkJWsA== +node-notifier@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz#a7eee2d51da6d0f7ff5094bc7108c911240c1620" + integrity sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA== dependencies: growly "^1.3.0" is-wsl "^2.2.0" semver "^7.3.2" shellwords "^0.1.1" - uuid "^8.2.0" + uuid "^8.3.0" which "^2.0.2" node-releases@^1.1.58: @@ -7664,9 +7668,9 @@ onetime@^1.0.0: integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" @@ -7878,9 +7882,9 @@ parse-json@^4.0.0: json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.0.1" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz#7cfe35c1ccd641bce3981467e6c2ece61b3b3878" + integrity sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" @@ -8527,10 +8531,10 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.4.0: - version "26.4.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.0.tgz#c08073f531429e9e5024049446f42ecc9f933a3b" - integrity sha512-mEEwwpCseqrUtuMbrJG4b824877pM5xald3AkilJ47Po2YLr97/siejYQHqj2oDQBeJNbu+Q0qUuekJ8F0NAPg== +pretty-format@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.2.tgz#d081d032b398e801e2012af2df1214ef75a81237" + integrity sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA== dependencies: "@jest/types" "^26.3.0" ansi-regex "^5.0.0" @@ -10969,7 +10973,7 @@ uuid@^3.3.2, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.2.0: +uuid@^8.2.0, uuid@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== From debf6ae31609dcc2fda224b4a6014848cb0e5a27 Mon Sep 17 00:00:00 2001 From: Takeshi Umeda Date: Sun, 23 Aug 2020 07:08:12 +0900 Subject: [PATCH 142/703] Fix click range discrepancies in gifv (#14615) --- app/javascript/mastodon/components/gifv.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/javascript/mastodon/components/gifv.js b/app/javascript/mastodon/components/gifv.js index 83cfae49c4..b775e52005 100644 --- a/app/javascript/mastodon/components/gifv.js +++ b/app/javascript/mastodon/components/gifv.js @@ -54,8 +54,6 @@ export default class GIFV extends React.PureComponent {