diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2018-01-17 23:56:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-17 23:56:03 +0100 |
commit | 7badad7797b487b411a2ab34e0f7413741974bb4 (patch) | |
tree | a0bf564a945c3dace68815b4be8aa1ca8cb14e1b /app/controllers/api | |
parent | 59797ee233db88db047773294225eb8c8701adb7 (diff) |
Fix home regeneration (#6251)
* Fix regeneration marker not being removed after completion * Return HTTP 206 from /api/v1/timelines/home if regeneration in progress Prioritize RegenerationWorker by putting it into default queue * Display loading indicator and poll home timeline while it regenerates * Add graphic to regeneration message * Make "not found" indicator consistent with home regeneration
Diffstat (limited to 'app/controllers/api')
-rw-r--r-- | app/controllers/api/v1/timelines/home_controller.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/app/controllers/api/v1/timelines/home_controller.rb b/app/controllers/api/v1/timelines/home_controller.rb index db6cd8568..bbbcf7f90 100644 --- a/app/controllers/api/v1/timelines/home_controller.rb +++ b/app/controllers/api/v1/timelines/home_controller.rb @@ -9,7 +9,11 @@ class Api::V1::Timelines::HomeController < Api::BaseController def show @statuses = load_statuses - render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id) + + render json: @statuses, + each_serializer: REST::StatusSerializer, + relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), + status: regeneration_in_progress? ? 206 : 200 end private @@ -57,4 +61,8 @@ class Api::V1::Timelines::HomeController < Api::BaseController def pagination_since_id @statuses.first.id end + + def regeneration_in_progress? + Redis.current.exists("account:#{current_account.id}:regeneration") + end end |