M app/controllers/api/v1/statuses_controller.rb => app/controllers/api/v1/statuses_controller.rb +2 -12
@@ 5,8 5,8 @@ class Api::V1::StatusesController < Api::BaseController
before_action -> { authorize_if_got_token! :read, :'read:statuses' }, except: [:create, :destroy]
before_action -> { doorkeeper_authorize! :write, :'write:statuses' }, only: [:create, :destroy]
- before_action :require_user!, except: [:show, :context, :card]
- before_action :set_status, only: [:show, :context, :card]
+ before_action :require_user!, except: [:show, :context]
+ before_action :set_status, only: [:show, :context]
respond_to :json
@@ 33,16 33,6 @@ class Api::V1::StatusesController < Api::BaseController
render json: @context, serializer: REST::ContextSerializer, relationships: StatusRelationshipsPresenter.new(statuses, current_user&.account_id)
end
- def card
- @card = @status.preview_cards.first
-
- if @card.nil?
- render_empty
- else
- render json: @card, serializer: REST::PreviewCardSerializer
- end
- end
-
def create
@status = PostStatusService.new.call(current_user.account,
text: status_params[:status],
M app/javascript/mastodon/features/compose/components/compose_form.js => app/javascript/mastodon/features/compose/components/compose_form.js +4 -1
@@ 118,7 118,10 @@ class ComposeForm extends ImmutablePureComponent {
handleFocus = () => {
if (this.composeForm && !this.props.singleColumn) {
- this.composeForm.scrollIntoView();
+ const { left, right } = this.composeForm.getBoundingClientRect();
+ if (left < 0 || right > (window.innerWidth || document.documentElement.clientWidth)) {
+ this.composeForm.scrollIntoView();
+ }
}
}
M app/lib/request.rb => app/lib/request.rb +1 -1
@@ 191,7 191,7 @@ class Request
begin
raise Mastodon::HostValidationError if PrivateAddressCheck.private_address?(IPAddr.new(address.to_s))
- sock = ::Socket.new(::Socket::AF_INET, ::Socket::SOCK_STREAM, 0)
+ sock = ::Socket.new(address.is_a?(Resolv::IPv6) ? ::Socket::AF_INET6 : ::Socket::AF_INET, ::Socket::SOCK_STREAM, 0)
sockaddr = ::Socket.pack_sockaddr_in(port, address.to_s)
sock.setsockopt(::Socket::IPPROTO_TCP, ::Socket::TCP_NODELAY, 1)
M app/models/admin/account_action.rb => app/models/admin/account_action.rb +6 -3
@@ 17,10 17,13 @@ class Admin::AccountAction
:type,
:text,
:report_id,
- :warning_preset_id,
- :send_email_notification
+ :warning_preset_id
- attr_reader :warning
+ attr_reader :warning, :send_email_notification
+
+ def send_email_notification=(value)
+ @send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
+ end
def save!
ApplicationRecord.transaction do
M config/routes.rb => config/routes.rb +0 -3
@@ 299,12 299,10 @@ Rails.application.routes.draw do
member do
get :context
- get :card
end
end
namespace :timelines do
- resource :direct, only: :show, controller: :direct
resource :home, only: :show, controller: :home
resource :public, only: :show, controller: :public
resources :tag, only: :show
@@ 362,7 360,6 @@ Rails.application.routes.draw do
resources :notifications, only: [:index, :show, :destroy] do
collection do
post :clear
- post :dismiss # Deprecated
delete :destroy_multiple
end
M spec/controllers/api/v1/statuses_controller_spec.rb => spec/controllers/api/v1/statuses_controller_spec.rb +0 -14
@@ 91,13 91,6 @@ RSpec.describe Api::V1::StatusesController, type: :controller do
expect(response).to have_http_status(404)
end
end
-
- describe 'GET #card' do
- it 'returns http unautharized' do
- get :card, params: { id: status.id }
- expect(response).to have_http_status(404)
- end
- end
end
context 'with a public status' do
@@ 120,13 113,6 @@ RSpec.describe Api::V1::StatusesController, type: :controller do
expect(response).to have_http_status(200)
end
end
-
- describe 'GET #card' do
- it 'returns http success' do
- get :card, params: { id: status.id }
- expect(response).to have_http_status(200)
- end
- end
end
end
end