diff --git a/app/javascript/flavours/glitch/actions/compose.js b/app/javascript/flavours/glitch/actions/compose.js index 9e65df7b39..ee16a60690 100644 --- a/app/javascript/flavours/glitch/actions/compose.js +++ b/app/javascript/flavours/glitch/actions/compose.js @@ -87,7 +87,6 @@ export const COMPOSE_FOCUS = 'COMPOSE_FOCUS'; const messages = defineMessages({ uploadErrorLimit: { id: 'upload_error.limit', defaultMessage: 'File upload limit exceeded.' }, - uploadErrorPoll: { id: 'upload_error.poll', defaultMessage: 'File upload not allowed with polls.' }, open: { id: 'compose.published.open', defaultMessage: 'Open' }, published: { id: 'compose.published.body', defaultMessage: 'Post published.' }, saved: { id: 'compose.saved.body', defaultMessage: 'Post saved.' }, @@ -321,11 +320,6 @@ export function uploadCompose(files) { return; } - if (getState().getIn(['compose', 'poll'])) { - dispatch(showAlert({ message: messages.uploadErrorPoll })); - return; - } - dispatch(uploadComposeRequest()); for (const [i, f] of Array.from(files).entries()) { diff --git a/app/javascript/flavours/glitch/features/compose/containers/poll_button_container.js b/app/javascript/flavours/glitch/features/compose/containers/poll_button_container.js index 9de388f64a..a9b558468b 100644 --- a/app/javascript/flavours/glitch/features/compose/containers/poll_button_container.js +++ b/app/javascript/flavours/glitch/features/compose/containers/poll_button_container.js @@ -4,7 +4,7 @@ import { addPoll, removePoll } from '../../../actions/compose'; import PollButton from '../components/poll_button'; const mapStateToProps = state => ({ - disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 0), + disabled: state.getIn(['compose', 'is_uploading']), active: state.getIn(['compose', 'poll']) !== null, }); diff --git a/app/javascript/flavours/glitch/features/compose/containers/upload_button_container.js b/app/javascript/flavours/glitch/features/compose/containers/upload_button_container.js index 2e835464b8..cd98b9876d 100644 --- a/app/javascript/flavours/glitch/features/compose/containers/upload_button_container.js +++ b/app/javascript/flavours/glitch/features/compose/containers/upload_button_container.js @@ -5,7 +5,6 @@ import { openModal } from '../../../actions/modal'; import UploadButton from '../components/upload_button'; const mapStateToProps = state => { - const isPoll = state.getIn(['compose', 'poll']) !== null; const isUploading = state.getIn(['compose', 'is_uploading']); const readyAttachmentsSize = state.getIn(['compose', 'media_attachments']).size ?? 0; const pendingAttachmentsSize = state.getIn(['compose', 'pending_media_attachments']).size ?? 0; @@ -14,7 +13,7 @@ const mapStateToProps = state => { const hasVideoOrAudio = state.getIn(['compose', 'media_attachments']).some(m => ['video', 'audio'].includes(m.get('type'))); return { - disabled: isPoll || isUploading || isOverLimit || hasVideoOrAudio, + disabled: isUploading || isOverLimit || hasVideoOrAudio, resetFileKey: state.getIn(['compose', 'resetFileKey']), }; }; diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index 964ca91a67..a437feb0fd 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -146,7 +146,7 @@ class PostStatusService < BaseService return end - raise Mastodon::ValidationError, I18n.t('media_attachments.validations.too_many') if @options[:media_ids].size > 4 || @options[:poll].present? + raise Mastodon::ValidationError, I18n.t('media_attachments.validations.too_many') if @options[:media_ids].size > 4 @media = @account.media_attachments.where(status_id: nil).where(id: @options[:media_ids].take(4).map(&:to_i)) diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index b354a1b607..2c479afff8 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -70,7 +70,7 @@ class UpdateStatusService < BaseService def validate_media! return [] if @options[:media_ids].blank? || !@options[:media_ids].is_a?(Enumerable) - raise Mastodon::ValidationError, I18n.t('media_attachments.validations.too_many') if @options[:media_ids].size > 4 || @options[:poll].present? + raise Mastodon::ValidationError, I18n.t('media_attachments.validations.too_many') if @options[:media_ids].size > 4 media_attachments = @status.account.media_attachments.where(status_id: [nil, @status.id]).where(scheduled_status_id: nil).where(id: @options[:media_ids].take(4).map(&:to_i)).to_a