0
0
Fork 0

Paginate ancestor statuses in public page (#7102)

This also limits the statuses returned by API, but pagination is not
implemented in Web API yet. I still expect it brings user experience
better than making a user wait to fetch all ancestor statuses and flooding
the column with them.
This commit is contained in:
Akihiko Odaki 2018-04-11 19:35:09 +09:00 committed by Eugen Rochko
parent d9b62e34da
commit 519119f657
7 changed files with 70 additions and 21 deletions

View file

@ -4,6 +4,8 @@ class StatusesController < ApplicationController
include SignatureAuthentication
include Authorization
ANCESTORS_LIMIT = 20
layout 'public'
before_action :set_account
@ -16,8 +18,9 @@ class StatusesController < ApplicationController
def show
respond_to do |format|
format.html do
@ancestors = @status.reply? ? cache_collection(@status.ancestors(current_account), Status) : []
@descendants = cache_collection(@status.descendants(current_account), Status)
@ancestors = @status.reply? ? cache_collection(@status.ancestors(ANCESTORS_LIMIT, current_account), Status) : []
@next_ancestor = @ancestors.size < ANCESTORS_LIMIT ? nil : @ancestors.shift
@descendants = cache_collection(@status.descendants(current_account), Status)
render 'stream_entries/show'
end