diff --git a/app/controllers/api/v1/accounts/statuses_controller.rb b/app/controllers/api/v1/accounts/statuses_controller.rb index 381bb2eb9..6a6c93dfa 100644 --- a/app/controllers/api/v1/accounts/statuses_controller.rb +++ b/app/controllers/api/v1/accounts/statuses_controller.rb @@ -8,9 +8,9 @@ class Api::V1::Accounts::StatusesController < Api::BaseController def index cache_if_unauthenticated! - @statuses = load_statuses + @statuses = load_statuses + accounts = @statuses.filter_map { |status| status.quote&.account }.uniq account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) diff --git a/app/controllers/api/v1/bookmarks_controller.rb b/app/controllers/api/v1/bookmarks_controller.rb index 2d3c0a561..803013eeb 100644 --- a/app/controllers/api/v1/bookmarks_controller.rb +++ b/app/controllers/api/v1/bookmarks_controller.rb @@ -6,9 +6,9 @@ class Api::V1::BookmarksController < Api::BaseController after_action :insert_pagination_headers def index - @statuses = load_statuses + @statuses = load_statuses + accounts = @statuses.filter_map { |status| status.quote&.account }.uniq account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) diff --git a/app/controllers/api/v1/favourites_controller.rb b/app/controllers/api/v1/favourites_controller.rb index 4c34445eb..5e0c9d3e6 100644 --- a/app/controllers/api/v1/favourites_controller.rb +++ b/app/controllers/api/v1/favourites_controller.rb @@ -6,9 +6,9 @@ class Api::V1::FavouritesController < Api::BaseController after_action :insert_pagination_headers def index - @statuses = load_statuses + @statuses = load_statuses + accounts = @statuses.filter_map { |status| status.quote&.account }.uniq account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index bc7d7076b..0ba548e98 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -47,10 +47,10 @@ class Api::V1::StatusesController < Api::BaseController loaded_ancestors = cache_collection(ancestors_results, Status) loaded_descendants = cache_collection(descendants_results, Status) - @context = Context.new(ancestors: loaded_ancestors, descendants: loaded_descendants) - statuses = [@status] + @context.ancestors + @context.descendants + @context = Context.new(ancestors: loaded_ancestors, descendants: loaded_descendants) + statuses = [@status] + @context.ancestors + @context.descendants + accounts = statuses.filter_map { |status| status.quote&.account }.uniq account_ids = statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) render json: @context, serializer: REST::ContextSerializer, relationships: StatusRelationshipsPresenter.new(statuses, current_user&.account_id), diff --git a/app/controllers/api/v1/timelines/home_controller.rb b/app/controllers/api/v1/timelines/home_controller.rb index 199d04e16..bd89382f6 100644 --- a/app/controllers/api/v1/timelines/home_controller.rb +++ b/app/controllers/api/v1/timelines/home_controller.rb @@ -10,8 +10,8 @@ class Api::V1::Timelines::HomeController < Api::V1::Timelines::BaseController with_read_replica do @statuses = load_statuses @relationships = StatusRelationshipsPresenter.new(@statuses, current_user&.account_id) + accounts = @statuses.filter_map { |status| status.quote&.account }.uniq account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) @account_relationships = AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end diff --git a/app/controllers/api/v1/timelines/list_controller.rb b/app/controllers/api/v1/timelines/list_controller.rb index 7e42e6490..3faac2f16 100644 --- a/app/controllers/api/v1/timelines/list_controller.rb +++ b/app/controllers/api/v1/timelines/list_controller.rb @@ -9,8 +9,8 @@ class Api::V1::Timelines::ListController < Api::V1::Timelines::BaseController PERMITTED_PARAMS = %i(limit).freeze def show + accounts = @statuses.filter_map { |status| status.quote&.account }.uniq account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, diff --git a/app/controllers/api/v1/timelines/public_controller.rb b/app/controllers/api/v1/timelines/public_controller.rb index a37b56110..a47c9c696 100644 --- a/app/controllers/api/v1/timelines/public_controller.rb +++ b/app/controllers/api/v1/timelines/public_controller.rb @@ -7,9 +7,9 @@ class Api::V1::Timelines::PublicController < Api::V1::Timelines::BaseController def show cache_if_unauthenticated! - @statuses = load_statuses + @statuses = load_statuses + accounts = @statuses.filter_map { |status| status.quote&.account }.uniq account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), diff --git a/app/controllers/api/v1/timelines/tag_controller.rb b/app/controllers/api/v1/timelines/tag_controller.rb index 97e245b09..559dd7331 100644 --- a/app/controllers/api/v1/timelines/tag_controller.rb +++ b/app/controllers/api/v1/timelines/tag_controller.rb @@ -8,9 +8,9 @@ class Api::V1::Timelines::TagController < Api::V1::Timelines::BaseController def show cache_if_unauthenticated! - @statuses = load_statuses + @statuses = load_statuses + accounts = @statuses.filter_map { |status| status.quote&.account }.uniq account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index cce3f46bb..46181a865 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -25,7 +25,6 @@ export const COMPOSE_SUBMIT_FAIL = 'COMPOSE_SUBMIT_FAIL'; export const COMPOSE_REPLY = 'COMPOSE_REPLY'; export const COMPOSE_REPLY_CANCEL = 'COMPOSE_REPLY_CANCEL'; export const COMPOSE_QUOTE = 'COMPOSE_QUOTE'; -export const COMPOSE_QUOTE_CANCEL = 'COMPOSE_QUOTE_CANCEL'; export const COMPOSE_DIRECT = 'COMPOSE_DIRECT'; export const COMPOSE_MENTION = 'COMPOSE_MENTION'; export const COMPOSE_RESET = 'COMPOSE_RESET'; @@ -137,13 +136,7 @@ export function quoteCompose(status, routerHistory) { ensureComposeIsVisible(getState, routerHistory); }; -}; - -export function cancelQuoteCompose() { - return { - type: COMPOSE_QUOTE_CANCEL, - }; -}; +} export function resetCompose() { return { diff --git a/app/javascript/mastodon/actions/statuses.js b/app/javascript/mastodon/actions/statuses.js index cc28df31f..f76303335 100644 --- a/app/javascript/mastodon/actions/statuses.js +++ b/app/javascript/mastodon/actions/statuses.js @@ -361,7 +361,7 @@ export function hideQuote(ids) { type: QUOTE_HIDE, ids, }; -}; +} export function revealQuote(ids) { if (!Array.isArray(ids)) { @@ -372,4 +372,4 @@ export function revealQuote(ids) { type: QUOTE_REVEAL, ids, }; -}; +} diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 479f1f920..65441b7b9 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -134,7 +134,7 @@ export const quote = (status, muted, quoteMuted, handleQuoteClick, handleExpande return (