Merge branch 'develop' of https://code.gab.com/gab/social/gab-social into develop

This commit is contained in:
admin1 2021-01-24 11:20:23 -05:00
commit ccf98d2002
7 changed files with 61 additions and 18 deletions

View File

@ -34,6 +34,15 @@ class Api::V1::Statuses::FavouritesController < Api::BaseController
end
def requested_status
Status.find(params[:status_id])
rs = nil
begin
rs = Status.find(params[:status_id])
rescue ActiveRecord::RecordNotFound
Status.connection.stick_to_master!
rs = Status.find(params[:status_id])
end
return rs unless rs.nil?
raise ActiveRecord::RecordNotFound
end
end

View File

@ -31,7 +31,15 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
private
def status_for_reblog
Status.find params[:status_id]
rs = nil
begin
rs = Status.find(params[:status_id])
rescue ActiveRecord::RecordNotFound
Status.connection.stick_to_master!
rs = Status.find(params[:status_id])
end
return rs unless rs.nil?
raise ActiveRecord::RecordNotFound
end
def status_for_destroy

View File

@ -8,7 +8,7 @@ class SortingQueryBuilder < BaseService
min_reblogs = 2
min_replies = 1
date_limit = 5.years.ago
pure_limit = "NOW() - INTERVAL '14 days'"
pure_limit = "NOW() - INTERVAL '3 days'"
max_page = 8
case sort_type
@ -80,11 +80,12 @@ class SortingQueryBuilder < BaseService
query += "
) q
left join custom_filters cf
on cf.account_id = #{account_id}
and q.text like '%' || cf.phrase || '%'
where cf.id is null
"
#left join custom_filters cf
# on cf.account_id = #{account_id}
# and q.text like '%' || cf.phrase || '%'
#where cf.id is null
#"
return Status.find_by_sql query
end

View File

@ -33,7 +33,13 @@ class HomeFeed < Feed
and s.reply is false
and (
s.account_id = #{@id}
or s.account_id in (select target_account_id from follows where account_id = #{@id})
or s.account_id in (
select ff.target_account_id
from follows ff
join accounts af
on ff.target_account_id = af.id
and af.updated_at > NOW() - INTERVAL '7 days'
where ff.account_id = #{@id})
)
and s.account_id not in (select target_account_id from mutes where account_id = #{@id})
and (reblog.id is null or reblog.account_id not in (select target_account_id from mutes where account_id = #{@id}))
@ -45,12 +51,13 @@ class HomeFeed < Feed
) st
left join statuses rb
on st.reblog_of_id = rb.id
left join custom_filters cf
on cf.account_id = #{@id} and (
st.text like '%' || cf.phrase || '%'
or rb.text like '%' || cf.phrase || '%')
where cf.id is null or st.account_id = #{@id}
"
# left join custom_filters cf
# on cf.account_id = #{@id} and (
# st.text like '%' || cf.phrase || '%'
# or rb.text like '%' || cf.phrase || '%')
# where cf.id is null or st.account_id = #{@id}
#"
# .reject { |status| FeedManager.instance.filter?(:home, status, @account.id) }
# Status.as_home_timeline(@account)
# .paginate_by_id(limit, max_id: max_id, since_id: since_id, min_id: min_id)

View File

@ -10,7 +10,14 @@ class FavouriteService < BaseService
def call(account, status)
authorize_with account, status, :favourite?
favourite = Favourite.find_by(account: account, status: status)
favourite = nil
begin
favourite = Favourite.find_by(account: account, status: status)
rescue ActiveRecord::RecordNotFound
Favourite.connection.stick_to_master!
favourite = Favourite.find_by(account: account, status: status)
end
# favourite = Favourite.find_by(account: account, status: status)
return favourite unless favourite.nil?

View File

@ -13,7 +13,14 @@ class ReblogService < BaseService
authorize_with account, reblogged_status, :reblog?
reblog = account.statuses.find_by(reblog: reblogged_status)
reblog = nil
begin
reblog = account.statuses.find_by(reblog: reblogged_status)
rescue ActiveRecord::RecordNotFound
account.statuses.connection.stick_to_master!
reblog = account.statuses.find_by(reblog: reblogged_status)
end
#reblog = account.statuses.find_by(reblog: reblogged_status)
return reblog unless reblog.nil?

View File

@ -16,6 +16,10 @@ Rails.application.routes.draw do
mount PgHero::Engine, at: 'pghero', as: :pghero
end
Doorkeeper::AccessToken.connection.stick_to_master!
Doorkeeper::AccessGrant.connection.stick_to_master!
SessionActivation.connection.stick_to_master!
use_doorkeeper do
controllers authorizations: 'oauth/authorizations',
authorized_applications: 'oauth/authorized_applications',