@ -27,7 +27,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
end
def set_replies
@replies = page_params [ :o ther_accounts] ? Status . where . not ( account_id : @account . id ) : @account . statuses
@replies = page_params [ :o nly_o ther_accounts] ? Status . where . not ( account_id : @account . id ) : @account . statuses
@replies = @replies . where ( in_reply_to_id : @status . id , visibility : [ :public , :unlisted ] )
@replies = @replies . paginate_by_min_id ( DESCENDANTS_LIMIT , params [ :min_id ] )
end
@ -38,7 +38,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
type : :unordered ,
part_of : account_status_replies_url ( @account , @status ) ,
next : next_page ,
items : @replies . map { | status | status . local ? status : status . id }
items : @replies . map { | status | status . local ? status : status . ur i }
)
return page if page_requested?
@ -55,16 +55,17 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
end
def next_page
only_other_accounts = ! ( @replies & . last & . account_id == @account . id && @replies . size == DESCENDANTS_LIMIT )
account_status_replies_url (
@account ,
@status ,
page : true ,
min_id : @replies & . last & . id ,
o ther_accounts: ! ( @replies & . last& . acc ou nt_id == @ account. id && @replie s. size == DESCENDANTS_LIMIT )
min_id : only_other_accounts && ! page_params [ :only_other_accounts ] ? nil : @replies & . last & . id ,
o nly_o ther_accounts: only_o ther _accounts
)
end
def page_params
params_slice ( :o ther_accounts, :min_id ) . merge ( page : true )
params_slice ( :o nly_o ther_accounts, :min_id ) . merge ( page : true )
end
end