diff --git a/app/javascript/mastodon/features/compose/components/compose_form.jsx b/app/javascript/mastodon/features/compose/components/compose_form.jsx index 9782aa17bc..ef98aae479 100644 --- a/app/javascript/mastodon/features/compose/components/compose_form.jsx +++ b/app/javascript/mastodon/features/compose/components/compose_form.jsx @@ -103,11 +103,11 @@ class ComposeForm extends ImmutablePureComponent { }; canSubmit = () => { - const { isSubmitting, isChangingUpload, isUploading, anyMedia, privacy, circleId } = this.props; + const { isSubmitting, isChangingUpload, isUploading, anyMedia, privacy, circleId, isEditing } = this.props; const fulltext = this.getFulltextForCharacterCounting(); const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0; - return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia) || (privacy === 'circle' && !circleId)); + return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia) || (privacy === 'circle' && !isEditing && !circleId)); }; handleSubmit = (e) => { diff --git a/app/javascript/mastodon/features/compose/containers/circle_select_container.js b/app/javascript/mastodon/features/compose/containers/circle_select_container.js index c3a81140bd..141288c803 100644 --- a/app/javascript/mastodon/features/compose/containers/circle_select_container.js +++ b/app/javascript/mastodon/features/compose/containers/circle_select_container.js @@ -4,7 +4,7 @@ import { changeCircle } from '../../../actions/compose'; import CircleSelect from '../components/circle_select'; const mapStateToProps = state => ({ - unavailable: state.getIn(['compose', 'privacy']) !== 'circle', + unavailable: state.getIn(['compose', 'privacy']) !== 'circle' || !!state.getIn(['compose', 'id']), circles: state.get('circles'), circleId: state.getIn(['compose', 'circle_id']), }); diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js index 2947012fd4..44665f23af 100644 --- a/app/javascript/mastodon/reducers/compose.js +++ b/app/javascript/mastodon/reducers/compose.js @@ -577,7 +577,11 @@ export default function compose(state = initialState, action) { map.set('id', action.status.get('id')); map.set('text', action.text); map.set('in_reply_to', action.status.get('in_reply_to_id')); - map.set('privacy', action.status.get('visibility_ex')); + if (action.status.get('visibility_ex') !== 'limited') { + map.set('privacy', action.status.get('visibility_ex')); + } else { + map.set('privacy', action.status.get('limited_scope') === 'mutual' ? 'mutual' : 'circle'); + } map.set('media_attachments', action.status.get('media_attachments')); map.set('focusDate', new Date()); map.set('caretPosition', null);