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
5 changed files with 21 additions and 11 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue