an inappropriate amount of fixes and improvements to the news feeds. if something breaks it's somebody else's fault

This commit is contained in:
Kyle Drake 2024-08-28 15:16:24 -05:00
parent 6ced50a88d
commit 68e1e2fed2
7 changed files with 58 additions and 21 deletions

View file

@ -2,7 +2,15 @@ get '/activity' do
#expires 7200, :public, :must_revalidate if self.class.production? # 2 hours
@page = params[:page] || 1
@pagination_dataset = Event.global_dataset.paginate(@page.to_i, Event::GLOBAL_PAGINATION_LENGTH)
@pagination_dataset = Event.global_dataset
if current_site
blocking_site_ids = current_site.blocking_site_ids
@pagination_dataset.exclude(events__site_id: blocking_site_ids).exclude(events__actioning_site_id: blocking_site_ids)
end
@pagination_dataset = @pagination_dataset.paginate @page.to_i, Event::GLOBAL_PAGINATION_LENGTH
@events = @pagination_dataset.all
erb :'activity'

View file

@ -2,6 +2,8 @@ post '/event/:event_id/toggle_like' do |event_id|
require_login
content_type :json
event = Event[id: event_id]
return 403 if event.site.is_blocking?(current_site)
return 403 if event.actioning_site.is_blocking?(current_site)
liked_response = event.toggle_site_like(current_site) ? 'liked' : 'unliked'
{result: liked_response, event_like_count: event.likes_dataset.count, liking_site_names: event.liking_site_usernames}.to_json
end
@ -11,6 +13,8 @@ post '/event/:event_id/comment' do |event_id|
content_type :json
event = Event[id: event_id]
return 403 if event.actioning_site.is_blocking?(current_site)
site = event.site
if(site.is_blocking?(current_site) ||

View file

@ -8,14 +8,14 @@ get '/?' do
@page = 1 if @page.not_an_integer?
if params[:activity] == 'mine'
events_dataset = current_site.latest_events(@page, 10)
events_dataset = current_site.latest_events(@page)
elsif params[:event_id]
event = Event.select(:id).where(id: params[:event_id]).first
not_found if event.nil?
not_found if event.is_deleted
events_dataset = Event.where(id: params[:event_id]).paginate(1, 1)
else
events_dataset = current_site.news_feed(@page, 10)
events_dataset = current_site.news_feed(@page)
end
@pagination_dataset = events_dataset

View file

@ -21,11 +21,15 @@ get '/site/:username/?' do |username|
if params[:event_id]
not_found if params[:event_id].not_an_integer?
event = Event.select(:id).where(id: params[:event_id]).exclude(is_deleted: true).first
event = Event.where(id: params[:event_id]).exclude(is_deleted: true).first
not_found if event.nil?
event_site = event.site
event_actioning_site = event.actioning_site
not_found if current_site && event_site && event_site.is_blocking?(current_site)
not_found if current_site && event_actioning_site && event_actioning_site.is_blocking?(current_site)
events_dataset = Event.where(id: params[:event_id]).paginate(1, 1)
else
events_dataset = site.latest_events(@page, 10)
events_dataset = site.latest_events(@page, current_site)
end
@page_count = events_dataset.page_count || 1