Add /api/v1/notifications/clear, non-existing link cards for statuses will
now return empty hash instead of throwing a 404 error. When following, merge into timeline will filter statuses
This commit is contained in:
		
							parent
							
								
									f2e08ff568
								
							
						
					
					
						commit
						f392030ab8
					
				@ -9,13 +9,12 @@ export function fetchStatusCard(id) {
 | 
			
		||||
    dispatch(fetchStatusCardRequest(id));
 | 
			
		||||
 | 
			
		||||
    api(getState).get(`/api/v1/statuses/${id}/card`).then(response => {
 | 
			
		||||
      dispatch(fetchStatusCardSuccess(id, response.data));
 | 
			
		||||
    }).catch(error => {
 | 
			
		||||
      if (error.response.status === 404) {
 | 
			
		||||
        // This is fine
 | 
			
		||||
      if (response.data.length === 0) {
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      dispatch(fetchStatusCardSuccess(id, response.data));
 | 
			
		||||
    }).catch(error => {
 | 
			
		||||
      dispatch(fetchStatusCardFail(id, error));
 | 
			
		||||
    });
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
@ -24,4 +24,9 @@ class Api::V1::NotificationsController < ApiController
 | 
			
		||||
  def show
 | 
			
		||||
    @notification = Notification.where(account: current_account).find(params[:id])
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def clear
 | 
			
		||||
    Notification.where(account: current_account).delete_all
 | 
			
		||||
    render_empty
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,8 @@ class Api::V1::StatusesController < ApiController
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def card
 | 
			
		||||
    @card = PreviewCard.find_by!(status: @status)
 | 
			
		||||
    @card = PreviewCard.find_by(status: @status)
 | 
			
		||||
    render_empty if @card.nil?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def reblogged_by
 | 
			
		||||
 | 
			
		||||
@ -43,6 +43,7 @@ class FeedManager
 | 
			
		||||
    timeline_key = key(:home, into_account.id)
 | 
			
		||||
 | 
			
		||||
    from_account.statuses.limit(MAX_ITEMS).each do |status|
 | 
			
		||||
      next if filter?(:home, status, into_account)
 | 
			
		||||
      redis.zadd(timeline_key, status.id, status.id)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -103,10 +103,11 @@ Rails.application.routes.draw do
 | 
			
		||||
      get '/timelines/public',   to: 'timelines#public', as: :public_timeline
 | 
			
		||||
      get '/timelines/tag/:id',  to: 'timelines#tag', as: :hashtag_timeline
 | 
			
		||||
 | 
			
		||||
      resources :follows,  only: [:create]
 | 
			
		||||
      resources :media,    only: [:create]
 | 
			
		||||
      resources :apps,     only: [:create]
 | 
			
		||||
      resources :blocks,   only: [:index]
 | 
			
		||||
      resources :follows,    only: [:create]
 | 
			
		||||
      resources :media,      only: [:create]
 | 
			
		||||
      resources :apps,       only: [:create]
 | 
			
		||||
      resources :blocks,     only: [:index]
 | 
			
		||||
      resources :favourites, only: [:index]
 | 
			
		||||
 | 
			
		||||
      resources :follow_requests, only: [:index] do
 | 
			
		||||
        member do
 | 
			
		||||
@ -115,8 +116,11 @@ Rails.application.routes.draw do
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      resources :notifications, only: [:index, :show]
 | 
			
		||||
      resources :favourites,    only: [:index]
 | 
			
		||||
      resources :notifications, only: [:index, :show] do
 | 
			
		||||
        collection do
 | 
			
		||||
          post :clear
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      resources :accounts, only: [:show] do
 | 
			
		||||
        collection do
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user