diff --git a/Gemfile b/Gemfile index 31cf743a41..6c7bef2907 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,7 @@ gem 'makara', '~> 0.4' gem 'pghero', '~> 2.2' gem 'dotenv-rails', '~> 2.7' -gem 'aws-sdk-s3', '~> 1.36', require: false +gem 'aws-sdk-s3', '~> 1.39', require: false gem 'fog-core', '<= 2.1.0' gem 'fog-openstack', '~> 0.3', require: false gem 'paperclip', '~> 6.0' @@ -111,7 +111,7 @@ group :production, :test do end group :test do - gem 'capybara', '~> 3.19' + gem 'capybara', '~> 3.20' gem 'climate_control', '~> 0.2' gem 'faker', '~> 1.9' gem 'microformats', '~> 4.1' diff --git a/Gemfile.lock b/Gemfile.lock index 8e3f1faf7d..4dacad5e48 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -75,18 +75,18 @@ GEM encryptor (~> 3.0.0) av (0.9.0) cocaine (~> 0.5.3) - aws-eventstream (1.0.2) - aws-partitions (1.151.0) - aws-sdk-core (3.48.4) + aws-eventstream (1.0.3) + aws-partitions (1.162.0) + aws-sdk-core (3.52.1) aws-eventstream (~> 1.0, >= 1.0.2) aws-partitions (~> 1.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.17.0) - aws-sdk-core (~> 3, >= 3.48.2) + aws-sdk-kms (1.20.0) + aws-sdk-core (~> 3, >= 3.52.1) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.36.1) - aws-sdk-core (~> 3, >= 3.48.2) + aws-sdk-s3 (1.39.0) + aws-sdk-core (~> 3, >= 3.52.1) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.0) aws-sigv4 (1.1.0) @@ -129,13 +129,14 @@ GEM sshkit (~> 1.3) capistrano-yarn (2.0.2) capistrano (~> 3.0) - capybara (3.19.1) + capybara (3.20.0) addressable mini_mime (>= 0.1.3) nokogiri (~> 1.8) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (~> 1.2) + uglifier xpath (~> 3.2) case_transform (0.2) activesupport @@ -207,6 +208,7 @@ GEM et-orbi (1.1.6) tzinfo excon (0.62.0) + execjs (2.7.0) fabrication (2.20.2) faker (1.9.3) i18n (>= 0.7) @@ -500,7 +502,7 @@ GEM redis-store (>= 1.2, < 2) redis-store (1.5.0) redis (>= 2.2, < 5) - regexp_parser (1.4.0) + regexp_parser (1.5.0) request_store (1.4.1) rack (>= 1.4) responders (2.4.1) @@ -628,6 +630,8 @@ GEM thread_safe (~> 0.1) tzinfo-data (1.2019.1) tzinfo (>= 1.0.0) + uglifier (4.1.20) + execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext unf_ext (0.0.7.5) @@ -661,7 +665,7 @@ DEPENDENCIES active_record_query_trace (~> 1.6) addressable (~> 2.6) annotate (~> 2.7) - aws-sdk-s3 (~> 1.36) + aws-sdk-s3 (~> 1.39) better_errors (~> 2.5) binding_of_caller (~> 0.7) blurhash (~> 0.1) @@ -674,7 +678,7 @@ DEPENDENCIES capistrano-rails (~> 1.4) capistrano-rbenv (~> 2.1) capistrano-yarn (~> 2.0) - capybara (~> 3.19) + capybara (~> 3.20) charlock_holmes (~> 0.7.6) chewy (~> 5.0) cld3 (~> 3.2.4) diff --git a/app/services/reblog_service.rb b/app/services/reblog_service.rb index deaa0549ea..77ec52ab84 100644 --- a/app/services/reblog_service.rb +++ b/app/services/reblog_service.rb @@ -18,7 +18,9 @@ class ReblogService < BaseService return reblog unless reblog.nil? - reblog = account.statuses.create!(reblog: reblogged_status, text: '', visibility: options[:visibility] || account.user&.setting_default_privacy) + visibility = options[:visibility] || account.user&.setting_default_privacy + visibility = reblogged_status.visibility if reblogged_status.hidden? + reblog = account.statuses.create!(reblog: reblogged_status, text: '', visibility: visibility) DistributionWorker.perform_async(reblog.id) diff --git a/config/locales/co.yml b/config/locales/co.yml index 22ee4b0cee..4927c5c519 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -293,8 +293,8 @@ co: one: Un contu tuccatu indè a database other: "%{count} conti tuccati indè a database" retroactive: - silence: Ùn silenzà più i conti nant’à stu duminiu - suspend: Ùn suspende più i conti nant’à stu duminiu + silence: Ùn silenzà più i conti affettati di stu duminiu + suspend: Ùn suspende più i conti affettati di stu duminiu title: Ùn bluccà più u duminiu %{domain} undo: Annullà undo: Annullà u blucchime di duminiu diff --git a/spec/services/reblog_service_spec.rb b/spec/services/reblog_service_spec.rb index 9e66c66436..9d84c41d5e 100644 --- a/spec/services/reblog_service_spec.rb +++ b/spec/services/reblog_service_spec.rb @@ -4,10 +4,9 @@ RSpec.describe ReblogService, type: :service do let(:alice) { Fabricate(:account, username: 'alice') } context 'creates a reblog with appropriate visibility' do - let(:bob) { Fabricate(:account, username: 'bob') } let(:visibility) { :public } let(:reblog_visibility) { :public } - let(:status) { Fabricate(:status, account: bob, visibility: visibility) } + let(:status) { Fabricate(:status, account: alice, visibility: visibility) } subject { ReblogService.new } @@ -22,6 +21,15 @@ RSpec.describe ReblogService, type: :service do expect(status.reblogs.first.visibility).to eq 'private' end end + + describe 'public reblogs of private toots should remain private' do + let(:visibility) { :private } + let(:reblog_visibility) { :public } + + it 'reblogs privately' do + expect(status.reblogs.first.visibility).to eq 'private' + end + end end context 'OStatus' do