Merge commit '6273416292090b2f6bfda33f070cea325a1759df' into glitch-soc/merge-upstream
Conflicts: - `.github/workflows/build-nightly.yml`: Upstream modified this file close to a line modified by glitch-soc to disable the ARMv64 builder (as glitch-soc doesn't have one). Ported upstream's changes. - `.github/workflows/build-releases.yml`: Upstream modified this file close to lines changed by glitch-soc to change the Docker image repositories used (only ghcr, and based on the organization's name). Ported upstream's changes.
This commit is contained in:
		
						commit
						dfc05ec8df
					
				
					 16 changed files with 107 additions and 66 deletions
				
			
		
							
								
								
									
										7
									
								
								.github/workflows/build-container-image.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/build-container-image.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -4,6 +4,9 @@ on: | |||
|       platforms: | ||||
|         required: true | ||||
|         type: string | ||||
|       cache: | ||||
|         type: boolean | ||||
|         default: true | ||||
|       use_native_arm64_builder: | ||||
|         type: boolean | ||||
|       push_to_images: | ||||
|  | @ -92,5 +95,5 @@ jobs: | |||
|           push: ${{ inputs.push_to_images != '' }} | ||||
|           tags: ${{ steps.meta.outputs.tags }} | ||||
|           labels: ${{ steps.meta.outputs.labels }} | ||||
|           cache-from: type=gha | ||||
|           cache-to: type=gha,mode=max | ||||
|           cache-from: ${{ inputs.cache && 'type=gha' || '' }} | ||||
|           cache-to: ${{ inputs.cache && 'type=gha,mode=max' || '' }} | ||||
|  |  | |||
							
								
								
									
										1
									
								
								.github/workflows/build-nightly.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/build-nightly.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -26,6 +26,7 @@ jobs: | |||
|     with: | ||||
|       platforms: linux/amd64,linux/arm64 | ||||
|       use_native_arm64_builder: false | ||||
|       cache: false | ||||
|       push_to_images: | | ||||
|         ghcr.io/${{ github.repository_owner }}/mastodon | ||||
|       version_prerelease: ${{ needs.compute-suffix.outputs.prerelease }} | ||||
|  |  | |||
							
								
								
									
										2
									
								
								.github/workflows/build-releases.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/build-releases.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -16,6 +16,8 @@ jobs: | |||
|       use_native_arm64_builder: false | ||||
|       push_to_images: | | ||||
|         ghcr.io/${{ github.repository_owner }}/mastodon | ||||
|       # Do not use cache when building releases, so apt update is always ran and the release always contain the latest packages | ||||
|       cache: false | ||||
|       # Only tag with latest when ran against the latest stable branch | ||||
|       # This needs to be updated after each minor version release | ||||
|       flavor: | | ||||
|  |  | |||
|  | @ -17,6 +17,7 @@ COPY Gemfile* package.json yarn.lock /opt/mastodon/ | |||
| 
 | ||||
| # hadolint ignore=DL3008 | ||||
| RUN apt-get update && \ | ||||
|     apt-get -yq dist-upgrade && \ | ||||
|     apt-get install -y --no-install-recommends build-essential \ | ||||
|         git \ | ||||
|         libicu-dev \ | ||||
|  |  | |||
|  | @ -33,8 +33,6 @@ export const DismissableBanner: React.FC<PropsWithChildren<Props>> = ({ | |||
| 
 | ||||
|   return ( | ||||
|     <div className='dismissable-banner'> | ||||
|       <div className='dismissable-banner__message'>{children}</div> | ||||
| 
 | ||||
|       <div className='dismissable-banner__action'> | ||||
|         <IconButton | ||||
|           icon='times' | ||||
|  | @ -42,6 +40,8 @@ export const DismissableBanner: React.FC<PropsWithChildren<Props>> = ({ | |||
|           onClick={handleDismiss} | ||||
|         /> | ||||
|       </div> | ||||
| 
 | ||||
|       <div className='dismissable-banner__message'>{children}</div> | ||||
|     </div> | ||||
|   ); | ||||
| }; | ||||
|  |  | |||
|  | @ -8941,9 +8941,7 @@ noscript { | |||
|   } | ||||
| 
 | ||||
|   &__action { | ||||
|     position: absolute; | ||||
|     inset-inline-end: 0; | ||||
|     top: 0; | ||||
|     float: right; | ||||
|     padding: 15px 10px; | ||||
| 
 | ||||
|     .icon-button { | ||||
|  |  | |||
|  | @ -58,4 +58,11 @@ body.rtl { | |||
|   .fa-chevron-right::before { | ||||
|     content: '\F053'; | ||||
|   } | ||||
| 
 | ||||
|   .dismissable-banner, | ||||
|   .warning-banner { | ||||
|     &__action { | ||||
|       float: left; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  |  | |||
|  | @ -30,6 +30,6 @@ class ActivityPub::Activity::Update < ActivityPub::Activity | |||
| 
 | ||||
|     return if @status.nil? | ||||
| 
 | ||||
|     ActivityPub::ProcessStatusUpdateService.new.call(@status, @object, request_id: @options[:request_id]) | ||||
|     ActivityPub::ProcessStatusUpdateService.new.call(@status, @json, @object, request_id: @options[:request_id]) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -407,6 +407,6 @@ class MediaAttachment < ApplicationRecord | |||
|   end | ||||
| 
 | ||||
|   def reset_parent_cache | ||||
|     Rails.cache.delete("statuses/#{status_id}") if status_id.present? | ||||
|     Rails.cache.delete("v3:statuses/#{status_id}") if status_id.present? | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -108,7 +108,7 @@ class Poll < ApplicationRecord | |||
|   def reset_parent_cache | ||||
|     return if status_id.nil? | ||||
| 
 | ||||
|     Rails.cache.delete("statuses/#{status_id}") | ||||
|     Rails.cache.delete("v3:statuses/#{status_id}") | ||||
|   end | ||||
| 
 | ||||
|   def last_fetched_before_expiration? | ||||
|  |  | |||
|  | @ -16,8 +16,6 @@ | |||
| class StatusStat < ApplicationRecord | ||||
|   belongs_to :status, inverse_of: :status_stat | ||||
| 
 | ||||
|   after_commit :reset_parent_cache | ||||
| 
 | ||||
|   def replies_count | ||||
|     [attributes['replies_count'], 0].max | ||||
|   end | ||||
|  | @ -29,10 +27,4 @@ class StatusStat < ApplicationRecord | |||
|   def favourites_count | ||||
|     [attributes['favourites_count'], 0].max | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def reset_parent_cache | ||||
|     Rails.cache.delete("statuses/#{status_id}") | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -8,6 +8,6 @@ class ActivityPub::FetchRemotePollService < BaseService | |||
| 
 | ||||
|     return unless supported_context?(json) | ||||
| 
 | ||||
|     ActivityPub::ProcessStatusUpdateService.new.call(poll.status, json) | ||||
|     ActivityPub::ProcessStatusUpdateService.new.call(poll.status, json, json) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -5,10 +5,11 @@ class ActivityPub::ProcessStatusUpdateService < BaseService | |||
|   include Redisable | ||||
|   include Lockable | ||||
| 
 | ||||
|   def call(status, json, request_id: nil) | ||||
|   def call(status, activity_json, object_json, request_id: nil) | ||||
|     raise ArgumentError, 'Status has unsaved changes' if status.changed? | ||||
| 
 | ||||
|     @json                      = json | ||||
|     @activity_json             = activity_json | ||||
|     @json                      = object_json | ||||
|     @status_parser             = ActivityPub::Parser::StatusParser.new(@json) | ||||
|     @uri                       = @status_parser.uri | ||||
|     @status                    = status | ||||
|  | @ -306,6 +307,6 @@ class ActivityPub::ProcessStatusUpdateService < BaseService | |||
|   end | ||||
| 
 | ||||
|   def forwarder | ||||
|     @forwarder ||= ActivityPub::Forwarder.new(@account, @json, @status) | ||||
|     @forwarder ||= ActivityPub::Forwarder.new(@account, @activity_json, @status) | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -39,12 +39,12 @@ class StatusesSearchService < BaseService | |||
|     end | ||||
| 
 | ||||
|     if @options[:min_id] | ||||
|       timestamp = Mastodon::Snowflake.to_time(@options[:min_id]) | ||||
|       timestamp = Mastodon::Snowflake.to_time(@options[:min_id].to_i) | ||||
|       syntax_options << "after:\"#{timestamp.iso8601}\"" | ||||
|     end | ||||
| 
 | ||||
|     if @options[:max_id] | ||||
|       timestamp = Mastodon::Snowflake.to_time(@options[:max_id]) | ||||
|       timestamp = Mastodon::Snowflake.to_time(@options[:max_id].to_i) | ||||
|       syntax_options << "before:\"#{timestamp.iso8601}\"" | ||||
|     end | ||||
| 
 | ||||
|  |  | |||
|  | @ -41,12 +41,12 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
| 
 | ||||
|   describe '#call' do | ||||
|     it 'updates text' do | ||||
|       subject.call(status, json) | ||||
|       subject.call(status, json, json) | ||||
|       expect(status.reload.text).to eq 'Hello universe' | ||||
|     end | ||||
| 
 | ||||
|     it 'updates content warning' do | ||||
|       subject.call(status, json) | ||||
|       subject.call(status, json, json) | ||||
|       expect(status.reload.spoiler_text).to eq 'Show more' | ||||
|     end | ||||
| 
 | ||||
|  | @ -64,7 +64,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'does not create any edits' do | ||||
|  | @ -87,7 +87,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'does not create any edits' do | ||||
|  | @ -134,7 +134,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'does not create any edits' do | ||||
|  | @ -186,7 +186,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'does not create any edits' do | ||||
|  | @ -214,11 +214,11 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       it 'does not create any edits' do | ||||
|         expect { subject.call(status, json) }.to_not(change { status.reload.edits.pluck(&:id) }) | ||||
|         expect { subject.call(status, json, json) }.to_not(change { status.reload.edits.pluck(&:id) }) | ||||
|       end | ||||
| 
 | ||||
|       it 'does not update the text, spoiler_text or edited_at' do | ||||
|         expect { subject.call(status, json) }.to_not(change { s = status.reload; [s.text, s.spoiler_text, s.edited_at] }) | ||||
|         expect { subject.call(status, json, json) }.to_not(change { s = status.reload; [s.text, s.spoiler_text, s.edited_at] }) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|  | @ -233,7 +233,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'does not create any edits' do | ||||
|  | @ -257,7 +257,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
| 
 | ||||
|       before do | ||||
|         status.update(ordered_media_attachment_ids: nil) | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'does not create any edits' do | ||||
|  | @ -271,7 +271,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
| 
 | ||||
|     context 'when originally without tags' do | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'updates tags' do | ||||
|  | @ -297,7 +297,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'updates tags' do | ||||
|  | @ -307,7 +307,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
| 
 | ||||
|     context 'when originally without mentions' do | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'updates mentions' do | ||||
|  | @ -319,7 +319,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       let(:mentions) { [alice, bob] } | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'updates mentions' do | ||||
|  | @ -330,7 +330,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|     context 'when originally without media attachments' do | ||||
|       before do | ||||
|         stub_request(:get, 'https://example.com/foo.png').to_return(body: attachment_fixture('emojo.png')) | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       let(:payload) do | ||||
|  | @ -380,7 +380,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
| 
 | ||||
|       before do | ||||
|         allow(RedownloadMediaWorker).to receive(:perform_async) | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'updates the existing media attachment in-place' do | ||||
|  | @ -408,7 +408,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       before do | ||||
|         poll = Fabricate(:poll, status: status) | ||||
|         status.update(preloadable_poll: poll) | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'removes poll' do | ||||
|  | @ -438,7 +438,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|       end | ||||
| 
 | ||||
|       before do | ||||
|         subject.call(status, json) | ||||
|         subject.call(status, json, json) | ||||
|       end | ||||
| 
 | ||||
|       it 'creates a poll' do | ||||
|  | @ -454,12 +454,12 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do | |||
|     end | ||||
| 
 | ||||
|     it 'creates edit history' do | ||||
|       subject.call(status, json) | ||||
|       subject.call(status, json, json) | ||||
|       expect(status.edits.reload.map(&:text)).to eq ['Hello world', 'Hello universe'] | ||||
|     end | ||||
| 
 | ||||
|     it 'sets edited timestamp' do | ||||
|       subject.call(status, json) | ||||
|       subject.call(status, json, json) | ||||
|       expect(status.reload.edited_at.to_s).to eq '2021-09-08 22:39:25 UTC' | ||||
|     end | ||||
|   end | ||||
|  |  | |||
							
								
								
									
										80
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								yarn.lock
									
									
									
									
									
								
							|  | @ -58,20 +58,20 @@ | |||
|   integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== | ||||
| 
 | ||||
| "@babel/core@^7.10.4", "@babel/core@^7.11.1", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.22.1": | ||||
|   version "7.22.17" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.17.tgz#2f9b0b395985967203514b24ee50f9fd0639c866" | ||||
|   integrity sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ== | ||||
|   version "7.22.19" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.19.tgz#b38162460a6f3baf2a424bda720b24a8aafea241" | ||||
|   integrity sha512-Q8Yj5X4LHVYTbLCKVz0//2D2aDmHF4xzCdEttYvKOnWvErGsa6geHXD6w46x64n5tP69VfeH+IfSrdyH3MLhwA== | ||||
|   dependencies: | ||||
|     "@ampproject/remapping" "^2.2.0" | ||||
|     "@babel/code-frame" "^7.22.13" | ||||
|     "@babel/generator" "^7.22.15" | ||||
|     "@babel/helper-compilation-targets" "^7.22.15" | ||||
|     "@babel/helper-module-transforms" "^7.22.17" | ||||
|     "@babel/helper-module-transforms" "^7.22.19" | ||||
|     "@babel/helpers" "^7.22.15" | ||||
|     "@babel/parser" "^7.22.16" | ||||
|     "@babel/template" "^7.22.15" | ||||
|     "@babel/traverse" "^7.22.17" | ||||
|     "@babel/types" "^7.22.17" | ||||
|     "@babel/traverse" "^7.22.19" | ||||
|     "@babel/types" "^7.22.19" | ||||
|     convert-source-map "^1.7.0" | ||||
|     debug "^4.1.0" | ||||
|     gensync "^1.0.0-beta.2" | ||||
|  | @ -207,7 +207,7 @@ | |||
|   dependencies: | ||||
|     "@babel/types" "^7.22.15" | ||||
| 
 | ||||
| "@babel/helper-module-transforms@^7.22.15", "@babel/helper-module-transforms@^7.22.17": | ||||
| "@babel/helper-module-transforms@^7.22.15": | ||||
|   version "7.22.17" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.17.tgz#7edf129097a51ccc12443adbc6320e90eab76693" | ||||
|   integrity sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ== | ||||
|  | @ -218,6 +218,17 @@ | |||
|     "@babel/helper-split-export-declaration" "^7.22.6" | ||||
|     "@babel/helper-validator-identifier" "^7.22.15" | ||||
| 
 | ||||
| "@babel/helper-module-transforms@^7.22.19": | ||||
|   version "7.22.19" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.19.tgz#94b1f281caa6518f02ec0f5ea2b5348e298ce266" | ||||
|   integrity sha512-m6h1cJvn+OJ+R3jOHp30faq5xKJ7VbjwDj5RGgHuRlU9hrMeKsGC+JpihkR5w1g7IfseCPPtZ0r7/hB4UKaYlA== | ||||
|   dependencies: | ||||
|     "@babel/helper-environment-visitor" "^7.22.5" | ||||
|     "@babel/helper-module-imports" "^7.22.15" | ||||
|     "@babel/helper-simple-access" "^7.22.5" | ||||
|     "@babel/helper-split-export-declaration" "^7.22.6" | ||||
|     "@babel/helper-validator-identifier" "^7.22.19" | ||||
| 
 | ||||
| "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": | ||||
|   version "7.22.15" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.15.tgz#40ad2f6950f143900e9c1c72363c0b431a606082" | ||||
|  | @ -285,10 +296,10 @@ | |||
|   resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" | ||||
|   integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== | ||||
| 
 | ||||
| "@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.5": | ||||
|   version "7.22.15" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz#601fa28e4cc06786c18912dca138cec73b882044" | ||||
|   integrity sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ== | ||||
| "@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.19", "@babel/helper-validator-identifier@^7.22.5": | ||||
|   version "7.22.19" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.19.tgz#2f34ab1e445f5b95e2e6edfe50ea2449e610583a" | ||||
|   integrity sha512-Tinq7ybnEPFFXhlYOYFiSjespWQk0dq2dRNAiMdRTOYQzEGqnnNyrTxPYHP5r6wGjlF1rFgABdDV0g8EwD6Qbg== | ||||
| 
 | ||||
| "@babel/helper-validator-option@^7.22.15": | ||||
|   version "7.22.15" | ||||
|  | @ -1123,7 +1134,7 @@ | |||
|     "@babel/parser" "^7.22.5" | ||||
|     "@babel/types" "^7.22.5" | ||||
| 
 | ||||
| "@babel/traverse@7", "@babel/traverse@^7.22.15", "@babel/traverse@^7.22.17": | ||||
| "@babel/traverse@7": | ||||
|   version "7.22.17" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.17.tgz#b23c203ab3707e3be816043081b4a994fcacec44" | ||||
|   integrity sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg== | ||||
|  | @ -1139,7 +1150,23 @@ | |||
|     debug "^4.1.0" | ||||
|     globals "^11.1.0" | ||||
| 
 | ||||
| "@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.17", "@babel/types@^7.22.5": | ||||
| "@babel/traverse@^7.22.15", "@babel/traverse@^7.22.19": | ||||
|   version "7.22.19" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.19.tgz#bb2b12b7de9d7fec9e812ed89eea097b941954f8" | ||||
|   integrity sha512-ZCcpVPK64krfdScRbpxF6xA5fz7IOsfMwx1tcACvCzt6JY+0aHkBk7eIU8FRDSZRU5Zei6Z4JfgAxN1bqXGECg== | ||||
|   dependencies: | ||||
|     "@babel/code-frame" "^7.22.13" | ||||
|     "@babel/generator" "^7.22.15" | ||||
|     "@babel/helper-environment-visitor" "^7.22.5" | ||||
|     "@babel/helper-function-name" "^7.22.5" | ||||
|     "@babel/helper-hoist-variables" "^7.22.5" | ||||
|     "@babel/helper-split-export-declaration" "^7.22.6" | ||||
|     "@babel/parser" "^7.22.16" | ||||
|     "@babel/types" "^7.22.19" | ||||
|     debug "^4.1.0" | ||||
|     globals "^11.1.0" | ||||
| 
 | ||||
| "@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.20.7": | ||||
|   version "7.22.17" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.17.tgz#f753352c4610ffddf9c8bc6823f9ff03e2303eee" | ||||
|   integrity sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg== | ||||
|  | @ -1166,6 +1193,15 @@ | |||
|     "@babel/helper-validator-identifier" "^7.22.15" | ||||
|     to-fast-properties "^2.0.0" | ||||
| 
 | ||||
| "@babel/types@^7.22.15", "@babel/types@^7.22.17", "@babel/types@^7.22.19", "@babel/types@^7.22.5": | ||||
|   version "7.22.19" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.19.tgz#7425343253556916e440e662bb221a93ddb75684" | ||||
|   integrity sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg== | ||||
|   dependencies: | ||||
|     "@babel/helper-string-parser" "^7.22.5" | ||||
|     "@babel/helper-validator-identifier" "^7.22.19" | ||||
|     to-fast-properties "^2.0.0" | ||||
| 
 | ||||
| "@babel/types@^7.3.3": | ||||
|   version "7.22.10" | ||||
|   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.10.tgz#4a9e76446048f2c66982d1a989dd12b8a2d2dc03" | ||||
|  | @ -3937,9 +3973,9 @@ caniuse-lite@^1.0.30001502: | |||
|   integrity sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA== | ||||
| 
 | ||||
| caniuse-lite@^1.0.30001517: | ||||
|   version "1.0.30001532" | ||||
|   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001532.tgz#c6a4d5d2da6d2b967f0ee5e12e7f680db6ad2fca" | ||||
|   integrity sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw== | ||||
|   version "1.0.30001534" | ||||
|   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz#f24a9b2a6d39630bac5c132b5dff89b39a12e7dd" | ||||
|   integrity sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q== | ||||
| 
 | ||||
| caniuse-lite@^1.0.30001520: | ||||
|   version "1.0.30001520" | ||||
|  | @ -5084,9 +5120,9 @@ electron-to-chromium@^1.4.428: | |||
|   integrity sha512-/g3UyNDmDd6ebeWapmAoiyy+Sy2HyJ+/X8KyvNeHfKRFfHaA2W8oF5fxD5F3tjBDcjpwo0iek6YNgxNXDBoEtA== | ||||
| 
 | ||||
| electron-to-chromium@^1.4.477: | ||||
|   version "1.4.513" | ||||
|   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.513.tgz#41a50bf749aa7d8058ffbf7a131fc3327a7b1675" | ||||
|   integrity sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw== | ||||
|   version "1.4.520" | ||||
|   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.520.tgz#c19c25a10d87bd88a9aae2b76cae9235a50c2994" | ||||
|   integrity sha512-Frfus2VpYADsrh1lB3v/ft/WVFlVzOIm+Q0p7U7VqHI6qr7NWHYKe+Wif3W50n7JAFoBsWVsoU0+qDks6WQ60g== | ||||
| 
 | ||||
| elliptic@^6.5.3: | ||||
|   version "6.5.4" | ||||
|  | @ -10717,9 +10753,9 @@ sass-loader@^10.2.0: | |||
|     semver "^7.3.2" | ||||
| 
 | ||||
| sass@^1.62.1: | ||||
|   version "1.66.1" | ||||
|   resolved "https://registry.yarnpkg.com/sass/-/sass-1.66.1.tgz#04b51c4671e4650aa393740e66a4e58b44d055b1" | ||||
|   integrity sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA== | ||||
|   version "1.67.0" | ||||
|   resolved "https://registry.yarnpkg.com/sass/-/sass-1.67.0.tgz#fed84d74b9cd708db603b1380d6dc1f71bb24f6f" | ||||
|   integrity sha512-SVrO9ZeX/QQyEGtuZYCVxoeAL5vGlYjJ9p4i4HFuekWl8y/LtJ7tJc10Z+ck1c8xOuoBm2MYzcLfTAffD0pl/A== | ||||
|   dependencies: | ||||
|     chokidar ">=3.0.0 <4.0.0" | ||||
|     immutable "^4.0.0" | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue