Merge branch 'develop' of https://code.gab.com/gab/social/gab-social into feature/removing_ruby_junk
This commit is contained in:
commit
20d4fc09af
2
Gemfile
2
Gemfile
|
@ -74,7 +74,7 @@ gem 'redis', '~> 4.1', require: ['redis', 'redis/connection/hiredis']
|
|||
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
|
||||
gem 'rqrcode', '~> 0.10'
|
||||
gem 'sanitize', '~> 5.0'
|
||||
gem 'sidekiq', '~> 5.2'
|
||||
gem 'sidekiq', '~> 6.0'
|
||||
gem 'sidekiq-scheduler', '~> 3.0'
|
||||
gem 'sidekiq-unique-jobs', '~> 6.0'
|
||||
gem 'sidekiq-bulk', '~>0.2.0'
|
||||
|
|
19
Gemfile.lock
19
Gemfile.lock
|
@ -152,7 +152,7 @@ GEM
|
|||
climate_control (>= 0.0.3, < 1.0)
|
||||
coderay (1.1.2)
|
||||
concurrent-ruby (1.1.5)
|
||||
connection_pool (2.2.2)
|
||||
connection_pool (2.2.3)
|
||||
crack (0.4.3)
|
||||
safe_yaml (~> 1.0.0)
|
||||
crass (1.0.4)
|
||||
|
@ -426,12 +426,10 @@ GEM
|
|||
pundit (2.0.1)
|
||||
activesupport (>= 3.0.0)
|
||||
raabro (1.1.6)
|
||||
rack (2.0.7)
|
||||
rack (2.2.3)
|
||||
rack-attack (6.0.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rack-cors (1.0.3)
|
||||
rack-protection (2.0.5)
|
||||
rack
|
||||
rack-proxy (0.6.5)
|
||||
rack
|
||||
rack-test (1.1.0)
|
||||
|
@ -480,7 +478,7 @@ GEM
|
|||
rdf-normalize (0.3.3)
|
||||
rdf (>= 2.2, < 4.0)
|
||||
redcarpet (3.4.0)
|
||||
redis (4.1.2)
|
||||
redis (4.2.5)
|
||||
redis-actionpack (5.0.2)
|
||||
actionpack (>= 4.0, < 6)
|
||||
redis-rack (>= 1, < 3)
|
||||
|
@ -554,11 +552,10 @@ GEM
|
|||
scss_lint (0.58.0)
|
||||
rake (>= 0.9, < 13)
|
||||
sass (~> 3.5, >= 3.5.5)
|
||||
sidekiq (5.2.7)
|
||||
connection_pool (~> 2.2, >= 2.2.2)
|
||||
rack (>= 1.5.0)
|
||||
rack-protection (>= 1.5.0)
|
||||
redis (>= 3.3.5, < 5)
|
||||
sidekiq (6.1.2)
|
||||
connection_pool (>= 2.2.2)
|
||||
rack (~> 2.0)
|
||||
redis (>= 4.2.0)
|
||||
sidekiq-bulk (0.2.0)
|
||||
sidekiq
|
||||
sidekiq-scheduler (3.0.0)
|
||||
|
@ -751,7 +748,7 @@ DEPENDENCIES
|
|||
rubocop (~> 0.71)
|
||||
sanitize (~> 5.0)
|
||||
scss_lint (~> 0.58)
|
||||
sidekiq (~> 5.2)
|
||||
sidekiq (~> 6.0)
|
||||
sidekiq-bulk (~> 0.2.0)
|
||||
sidekiq-scheduler (~> 3.0)
|
||||
sidekiq-unique-jobs (~> 6.0)
|
||||
|
|
|
@ -18,6 +18,7 @@ class Api::V1::Timelines::ListController < Api::BaseController
|
|||
|
||||
def set_list
|
||||
@list = List.where(account: current_account).find(params[:id])
|
||||
@accounts = ListAccount.select('account_id').where(list_id: @list)
|
||||
end
|
||||
|
||||
def set_statuses
|
||||
|
@ -29,16 +30,14 @@ class Api::V1::Timelines::ListController < Api::BaseController
|
|||
end
|
||||
|
||||
def list_statuses
|
||||
list_feed.get(
|
||||
statuses = Status.where(
|
||||
account: @accounts, reply: false
|
||||
).where(
|
||||
'updated_at > ?', 10.days.ago
|
||||
).paginate_by_id(
|
||||
limit_param(DEFAULT_STATUSES_LIMIT),
|
||||
params[:max_id],
|
||||
params[:since_id],
|
||||
params[:min_id]
|
||||
)
|
||||
end
|
||||
|
||||
def list_feed
|
||||
ListFeed.new(@list)
|
||||
params_slice(:max_id, :since_id, :min_id)
|
||||
).reject { |status| FeedManager.instance.filter?(:home, status, current_account.id) }
|
||||
end
|
||||
|
||||
def insert_pagination_headers
|
||||
|
|
|
@ -98,8 +98,8 @@ class EditProfileModal extends ImmutablePureComponent {
|
|||
if (account.get('avatar_static') !== avatarSrc) obj.avatar = avatarSrc
|
||||
if (account.get('header_static') !== headerSrc) obj.header = headerSrc
|
||||
|
||||
this.props.onSave(obj)
|
||||
this.handleOnClose()
|
||||
this.props.onSave(obj, this.handleOnClose)
|
||||
//this.handleOnClose()
|
||||
}
|
||||
|
||||
render() {
|
||||
|
@ -210,7 +210,7 @@ const mapStateToProps = (state) => ({
|
|||
})
|
||||
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
onSave: (data) => dispatch(saveUserProfileInformation(data)),
|
||||
onSave: (data, closer) => dispatch(saveUserProfileInformation(data, closer)),
|
||||
})
|
||||
|
||||
EditProfileModal.propTypes = {
|
||||
|
|
|
@ -56,12 +56,14 @@ class GroupTimelineSortTopOptionsPopover extends React.PureComponent {
|
|||
title: intl.formatMessage(messages.topYearTitle),
|
||||
onClick: () => this.handleOnClick(GROUP_TIMELINE_SORTING_TYPE_TOP_OPTION_YEARLY),
|
||||
},
|
||||
/*
|
||||
{
|
||||
hideArrow: true,
|
||||
isActive: sortByTopValue === GROUP_TIMELINE_SORTING_TYPE_TOP_OPTION_ALL_TIME,
|
||||
title: intl.formatMessage(messages.topAllTitle),
|
||||
onClick: () => this.handleOnClick(GROUP_TIMELINE_SORTING_TYPE_TOP_OPTION_ALL_TIME),
|
||||
},
|
||||
*/
|
||||
]
|
||||
|
||||
return (
|
||||
|
|
|
@ -19,6 +19,7 @@ export default function (state = initialState, action) {
|
|||
case SAVE_USER_PROFILE_INFORMATION_FETCH_SUCCESS:
|
||||
return state
|
||||
case SAVE_USER_PROFILE_INFORMATION_FETCH_FAIL:
|
||||
alert('Failed to update your profile. Max profile image size is 2MB. Please update and try again.')
|
||||
return state.set('isError', true)
|
||||
case RESEND_USER_CONFIRMATION_EMAIL_SUCCESS:
|
||||
return state.set('emailConfirmationResends', state.get('emailConfirmationResends') + 1)
|
||||
|
|
|
@ -90,7 +90,7 @@ class Status < ApplicationRecord
|
|||
|
||||
default_scope { recent }
|
||||
|
||||
scope :recent, -> { reorder(created_at: :desc) }
|
||||
scope :recent, -> { reorder(updated_at: :desc) }
|
||||
scope :remote, -> { where(local: false).or(where.not(uri: nil)) }
|
||||
scope :local, -> { where(local: true).or(where(uri: nil)) }
|
||||
|
||||
|
@ -290,13 +290,14 @@ class Status < ApplicationRecord
|
|||
end
|
||||
|
||||
def as_home_timeline(account)
|
||||
query = where('updated_at > ?', 30.days.ago)
|
||||
query = where('updated_at > ?', 5.days.ago)
|
||||
query.where(visibility: [:public, :unlisted, :private])
|
||||
query.where(account: [account] + account.following).without_replies
|
||||
end
|
||||
|
||||
def as_group_timeline(group)
|
||||
where(group: group).without_replies
|
||||
query = where('updated_at > ?', 5.days.ago)
|
||||
query.where(group: group).without_replies
|
||||
end
|
||||
|
||||
def as_group_collection_timeline(groupIds)
|
||||
|
|
|
@ -2,8 +2,16 @@
|
|||
|
||||
class FanOutOnWriteService < BaseService
|
||||
|
||||
# Push a status into home and mentions feeds
|
||||
# @param [Status] status
|
||||
def call(status)
|
||||
deliver_to_self(status) if status.account.local?
|
||||
raise GabSocial::RaceConditionError if status.visibility.nil?
|
||||
|
||||
if status.direct_visibility? || status.limited_visibility?
|
||||
#
|
||||
else
|
||||
deliver_to_self(status) if status.account.local?
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -37,7 +37,7 @@ if ENV['S3_ENABLED'] == 'true'
|
|||
s3_options: {
|
||||
signature_version: ENV.fetch('S3_SIGNATURE_VERSION') { 'v4' },
|
||||
http_open_timeout: 5,
|
||||
http_read_timeout: 5,
|
||||
http_read_timeout: 30,
|
||||
http_idle_timeout: 5,
|
||||
}
|
||||
)
|
||||
|
|
|
@ -19,4 +19,4 @@ Sidekiq.configure_client do |config|
|
|||
config.redis = redis_params
|
||||
end
|
||||
|
||||
Sidekiq::Logging.logger.level = ::Logger.const_get(ENV.fetch('RAILS_LOG_LEVEL', 'info').upcase.to_s)
|
||||
Sidekiq.logger.level = ::Logger.const_get(ENV.fetch('RAILS_LOG_LEVEL', 'info').upcase.to_s)
|
||||
|
|
|
@ -39,6 +39,34 @@ module GabSocial
|
|||
say("Removed #{custom_emojis_count} custom emojis", :green)
|
||||
end
|
||||
|
||||
option :dry_run, type: :boolean
|
||||
desc 'deleteallremote', 'Remove all remote data'
|
||||
def deleteallremote
|
||||
dry_run = options[:dry_run] ? ' (DRY RUN)' : ''
|
||||
|
||||
Account.remote.by_domain_accounts.find_in_batches do |acct|
|
||||
domain = acct.domain
|
||||
|
||||
say("\n\n\n - Starting domain block for #{domain} #{dry_run}", :green)
|
||||
|
||||
if domain.present?
|
||||
existing_domain_block = DomainBlock.find_by(domain: domain)
|
||||
|
||||
unless existing_domain_block.present?
|
||||
say("\nDomain block for #{domain} is starting #{dry_run}", :green)
|
||||
unless options[:dry_run]
|
||||
domain_block = DomainBlock.new(domain: domain, severity: :suspend)
|
||||
DomainBlockWorker.perform_async(domain_block.id)
|
||||
end
|
||||
else
|
||||
say("\nDomain block for #{domain} is already implemented #{dry_run}", :red)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
say('\n\n - Domain block deleteallremote done', :green)
|
||||
end
|
||||
|
||||
option :concurrency, type: :numeric, default: 50, aliases: [:c]
|
||||
option :silent, type: :boolean, default: false, aliases: [:s]
|
||||
option :format, type: :string, default: 'summary', aliases: [:f]
|
||||
|
|
Loading…
Reference in New Issue