From 21b64cfeeb9e3fa4818203fc2822f574d36b4e8e Mon Sep 17 00:00:00 2001 From: YoheiZuho Date: Tue, 15 Mar 2022 19:32:16 +0900 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E3=81=97=E3=81=8D=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=82=B3=E3=83=B3=E3=83=95=E3=83=AA=E3=82=AF?= =?UTF-8?q?=E3=83=88=E3=81=AE=E8=A7=A3=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/v1/statuses_controller.rb | 19 ++----------- app/controllers/auth/sessions_controller.rb | 5 ---- app/helpers/context_helper.rb | 7 ----- app/javascript/mastodon/actions/compose.js | 14 +--------- .../mastodon/actions/notifications.js | 4 --- app/javascript/mastodon/actions/statuses.js | 4 +-- app/javascript/mastodon/components/status.js | 11 -------- .../mastodon/components/status_action_bar.js | 7 +---- .../mastodon/containers/status_container.js | 3 -- .../compose/components/compose_form.js | 12 ++------ .../mastodon/features/compose/index.js | 18 ------------ .../mastodon/features/directory/index.js | 3 -- .../mastodon/features/followers/index.js | 4 --- .../mastodon/features/following/index.js | 4 --- .../features/getting_started/index.js | 21 -------------- .../picture_in_picture/components/footer.js | 4 --- .../features/ui/components/columns_area.js | 5 ---- .../features/ui/components/tabs_bar.js | 9 ------ .../features/ui/components/video_modal.js | 4 --- .../features/ui/containers/modal_container.js | 5 ---- app/javascript/mastodon/features/ui/index.js | 28 ------------------- .../mastodon/features/video/index.js | 4 --- app/javascript/mastodon/locales/cs.json | 6 +--- app/javascript/mastodon/locales/en.json | 13 --------- app/javascript/mastodon/locales/hu.json | 4 --- app/javascript/mastodon/locales/ja.json | 19 +------------ app/javascript/mastodon/reducers/compose.js | 3 -- app/javascript/mastodon/reducers/modal.js | 13 --------- app/lib/activitypub/activity/create.rb | 17 ++--------- config/brakeman.ignore | 22 --------------- config/initializers/twitter_regex.rb | 7 ----- config/locales/simple_form.cs.yml | 5 ---- ...lowers_synchronizations_controller_spec.rb | 4 --- .../api/v1/accounts/notes_controller_spec.rb | 8 ------ 34 files changed, 11 insertions(+), 305 deletions(-) diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index 3d903225a..4f52d9dbd 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -37,21 +37,6 @@ class Api::V1::StatusesController < Api::BaseController end def create -<<<<<<< HEAD - @status = PostStatusService.new.call(current_user.account, - text: status_params[:status], - thread: @thread, - media_ids: status_params[:media_ids], - sensitive: status_params[:sensitive], - spoiler_text: status_params[:spoiler_text], - visibility: status_params[:visibility], - scheduled_at: status_params[:scheduled_at], - application: doorkeeper_token.application, - poll: status_params[:poll], - idempotency: request.headers['Idempotency-Key'], - with_rate_limit: true, - quote_id: status_params[:quote_id].presence) -======= @status = PostStatusService.new.call( current_user.account, text: status_params[:status], @@ -65,9 +50,9 @@ class Api::V1::StatusesController < Api::BaseController application: doorkeeper_token.application, poll: status_params[:poll], idempotency: request.headers['Idempotency-Key'], - with_rate_limit: true + with_rate_limit: true, + quote_id: status_params[:quote_id].presence) ) ->>>>>>> v3.5.0rc1 render json: @status, serializer: @status.is_a?(ScheduledStatus) ? REST::ScheduledStatusSerializer : REST::StatusSerializer end diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb index 5323eabc4..4d2695bf5 100644 --- a/app/controllers/auth/sessions_controller.rb +++ b/app/controllers/auth/sessions_controller.rb @@ -15,16 +15,11 @@ class Auth::SessionsController < Devise::SessionsController def create super do |resource| -<<<<<<< HEAD - resource.update_sign_in!(request, new_sign_in: true) - flash.delete(:notice) -======= # We only need to call this if this hasn't already been # called from one of the two-factor or sign-in token # authentication methods on_authentication_success(resource, :password) unless @on_authentication_success_called ->>>>>>> v3.5.0rc1 end end diff --git a/app/helpers/context_helper.rb b/app/helpers/context_helper.rb index 0152be905..9303add35 100644 --- a/app/helpers/context_helper.rb +++ b/app/helpers/context_helper.rb @@ -18,19 +18,12 @@ module ContextHelper atom_uri: { 'ostatus' => 'http://ostatus.org#', 'atomUri' => 'ostatus:atomUri' }, conversation: { 'ostatus' => 'http://ostatus.org#', 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri', 'conversation' => 'ostatus:conversation' }, focal_point: { 'toot' => 'http://joinmastodon.org/ns#', 'focalPoint' => { '@container' => '@list', '@id' => 'toot:focalPoint' } }, -<<<<<<< HEAD - identity_proof: { 'toot' => 'http://joinmastodon.org/ns#', 'IdentityProof' => 'toot:IdentityProof' }, -======= ->>>>>>> v3.5.0rc1 blurhash: { 'toot' => 'http://joinmastodon.org/ns#', 'blurhash' => 'toot:blurhash' }, discoverable: { 'toot' => 'http://joinmastodon.org/ns#', 'discoverable' => 'toot:discoverable' }, voters_count: { 'toot' => 'http://joinmastodon.org/ns#', 'votersCount' => 'toot:votersCount' }, olm: { 'toot' => 'http://joinmastodon.org/ns#', 'Device' => 'toot:Device', 'Ed25519Signature' => 'toot:Ed25519Signature', 'Ed25519Key' => 'toot:Ed25519Key', 'Curve25519Key' => 'toot:Curve25519Key', 'EncryptedMessage' => 'toot:EncryptedMessage', 'publicKeyBase64' => 'toot:publicKeyBase64', 'deviceId' => 'toot:deviceId', 'claim' => { '@type' => '@id', '@id' => 'toot:claim' }, 'fingerprintKey' => { '@type' => '@id', '@id' => 'toot:fingerprintKey' }, 'identityKey' => { '@type' => '@id', '@id' => 'toot:identityKey' }, 'devices' => { '@type' => '@id', '@id' => 'toot:devices' }, 'messageFranking' => 'toot:messageFranking', 'messageType' => 'toot:messageType', 'cipherText' => 'toot:cipherText' }, suspended: { 'toot' => 'http://joinmastodon.org/ns#', 'suspended' => 'toot:suspended' }, -<<<<<<< HEAD quoteUrl: { 'quoteUrl' => 'as:quoteUrl' }, -======= ->>>>>>> v3.5.0rc1 }.freeze def full_context diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index 25465402f..1e99e5afd 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -177,18 +177,6 @@ export function submitCompose(routerHistory) { dispatch(submitComposeRequest()); -<<<<<<< HEAD - api(getState).post('/api/v1/statuses', { - status, - in_reply_to_id: getState().getIn(['compose', 'in_reply_to'], null), - media_ids: media.map(item => item.get('id')), - sensitive: getState().getIn(['compose', 'sensitive']), - spoiler_text: getState().getIn(['compose', 'spoiler']) ? getState().getIn(['compose', 'spoiler_text'], '') : '', - visibility: getState().getIn(['compose', 'privacy']), - poll: getState().getIn(['compose', 'poll'], null), - quote_id: getState().getIn(['compose', 'quote_from'], null), - }, { -======= api(getState).request({ url: statusId === null ? '/api/v1/statuses' : `/api/v1/statuses/${statusId}`, method: statusId === null ? 'post' : 'put', @@ -200,8 +188,8 @@ export function submitCompose(routerHistory) { spoiler_text: getState().getIn(['compose', 'spoiler']) ? getState().getIn(['compose', 'spoiler_text'], '') : '', visibility: getState().getIn(['compose', 'privacy']), poll: getState().getIn(['compose', 'poll'], null), + quote_id: getState().getIn(['compose', 'quote_from'], null), }, ->>>>>>> v3.5.0rc1 headers: { 'Idempotency-Key': getState().getIn(['compose', 'idempotencyKey']), }, diff --git a/app/javascript/mastodon/actions/notifications.js b/app/javascript/mastodon/actions/notifications.js index eda4cf002..00e8d74d7 100644 --- a/app/javascript/mastodon/actions/notifications.js +++ b/app/javascript/mastodon/actions/notifications.js @@ -45,11 +45,7 @@ defineMessages({ }); const fetchRelatedRelationships = (dispatch, notifications) => { -<<<<<<< HEAD - const accountIds = notifications.map(item => item.account.id); -======= const accountIds = notifications.filter(item => ['follow', 'follow_request', 'admin.sign_up'].indexOf(item.type) !== -1).map(item => item.account.id); ->>>>>>> v3.5.0rc1 if (accountIds.length > 0) { dispatch(fetchRelationships(accountIds)); diff --git a/app/javascript/mastodon/actions/statuses.js b/app/javascript/mastodon/actions/statuses.js index 2c70517b2..77edd45d7 100644 --- a/app/javascript/mastodon/actions/statuses.js +++ b/app/javascript/mastodon/actions/statuses.js @@ -30,14 +30,12 @@ export const STATUS_COLLAPSE = 'STATUS_COLLAPSE'; export const REDRAFT = 'REDRAFT'; -<<<<<<< HEAD export const QUOTE_REVEAL = 'QUOTE_REVEAL'; export const QUOTE_HIDE = 'QUOTE_HIDE'; -======= + export const STATUS_FETCH_SOURCE_REQUEST = 'STATUS_FETCH_SOURCE_REQUEST'; export const STATUS_FETCH_SOURCE_SUCCESS = 'STATUS_FETCH_SOURCE_SUCCESS'; export const STATUS_FETCH_SOURCE_FAIL = 'STATUS_FETCH_SOURCE_FAIL'; ->>>>>>> v3.5.0rc1 export function fetchStatusRequest(id, skipLoading) { return { diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js index 523a812b5..9f68f9725 100644 --- a/app/javascript/mastodon/components/status.js +++ b/app/javascript/mastodon/components/status.js @@ -166,18 +166,12 @@ class Status extends ImmutablePureComponent { this.setState({ showMedia: !this.state.showMedia }); } -<<<<<<< HEAD handleToggleQuoteMediaVisibility = () => { this.setState({ showQuoteMedia: !this.state.showQuoteMedia }); } - handleClick = () => { - if (this.props.onClick) { - this.props.onClick(); -======= handleClick = e => { if (e && (e.button !== 0 || e.ctrlKey || e.metaKey)) { ->>>>>>> v3.5.0rc1 return; } @@ -197,7 +191,6 @@ class Status extends ImmutablePureComponent { return; } -<<<<<<< HEAD handleQuoteClick = () => { if (!this.context.router) { return; @@ -208,11 +201,7 @@ class Status extends ImmutablePureComponent { } handleAccountClick = (e) => { - if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) { - const id = e.currentTarget.getAttribute('data-id'); -======= if (e) { ->>>>>>> v3.5.0rc1 e.preventDefault(); } diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js index 6fbea1bf8..c0ed844b1 100644 --- a/app/javascript/mastodon/components/status_action_bar.js +++ b/app/javascript/mastodon/components/status_action_bar.js @@ -347,15 +347,10 @@ class StatusActionBar extends ImmutablePureComponent { return (
-<<<<<<< HEAD - - - -======= + ->>>>>>> v3.5.0rc1 {shareButton}
diff --git a/app/javascript/mastodon/containers/status_container.js b/app/javascript/mastodon/containers/status_container.js index 30f07c99d..de7bd0b93 100644 --- a/app/javascript/mastodon/containers/status_container.js +++ b/app/javascript/mastodon/containers/status_container.js @@ -25,12 +25,9 @@ import { hideStatus, revealStatus, toggleStatusCollapse, -<<<<<<< HEAD hideQuote, revealQuote, -======= editStatus, ->>>>>>> v3.5.0rc1 } from '../actions/statuses'; import { unmuteAccount, diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js index 52a455405..0997c4d7e 100644 --- a/app/javascript/mastodon/features/compose/components/compose_form.js +++ b/app/javascript/mastodon/features/compose/components/compose_form.js @@ -30,14 +30,9 @@ const messages = defineMessages({ spoiler_placeholder: { id: 'compose_form.spoiler_placeholder', defaultMessage: 'Write your warning here' }, publish: { id: 'compose_form.publish', defaultMessage: 'Toot' }, publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' }, -<<<<<<< HEAD - - utilBtns_goji: { id: 'compose_form.utilBtns_goji', defaultMessage: 'Typo!!!' }, - utilBtns_harukin: { id: 'compose_form.utilBtns_harukin', defaultMessage: 'Burn Harukin' } -======= + utilBtns_harukin: { id: 'compose_form.utilBtns_harukin', defaultMessage: 'Burn Harukin' }, saveChanges: { id: 'compose_form.save_changes', defaultMessage: 'Save changes' }, ->>>>>>> v3.5.0rc1 }); export default @injectIntl @@ -71,14 +66,11 @@ class ComposeForm extends ImmutablePureComponent { onPickEmoji: PropTypes.func.isRequired, showSearch: PropTypes.bool, anyMedia: PropTypes.bool, -<<<<<<< HEAD singleColumn: PropTypes.bool, onGojiSubmit: PropTypes.func.isRequired, - onHarukinSubmit: PropTypes.func.isRequired -======= + onHarukinSubmit: PropTypes.func.isRequired, isInReply: PropTypes.bool, singleColumn: PropTypes.bool, ->>>>>>> v3.5.0rc1 }; static defaultProps = { diff --git a/app/javascript/mastodon/features/compose/index.js b/app/javascript/mastodon/features/compose/index.js index b42833fbf..e47772bd4 100644 --- a/app/javascript/mastodon/features/compose/index.js +++ b/app/javascript/mastodon/features/compose/index.js @@ -146,27 +146,9 @@ class Compose extends React.PureComponent { header = ( ); } diff --git a/app/javascript/mastodon/features/directory/index.js b/app/javascript/mastodon/features/directory/index.js index 8de7fd01c..94d7d1a9c 100644 --- a/app/javascript/mastodon/features/directory/index.js +++ b/app/javascript/mastodon/features/directory/index.js @@ -12,10 +12,7 @@ import AccountCard from './components/account_card'; import RadioButton from 'mastodon/components/radio_button'; import LoadMore from 'mastodon/components/load_more'; import ScrollContainer from 'mastodon/containers/scroll_container'; -<<<<<<< HEAD -======= import LoadingIndicator from 'mastodon/components/loading_indicator'; ->>>>>>> v3.5.0rc1 const messages = defineMessages({ title: { id: 'column.directory', defaultMessage: 'Browse profiles' }, diff --git a/app/javascript/mastodon/features/followers/index.js b/app/javascript/mastodon/features/followers/index.js index 79642b42c..224e74b3d 100644 --- a/app/javascript/mastodon/features/followers/index.js +++ b/app/javascript/mastodon/features/followers/index.js @@ -140,11 +140,7 @@ class Followers extends ImmutablePureComponent { hasMore={hasMore} isLoading={isLoading} onLoadMore={this.handleLoadMore} -<<<<<<< HEAD - prepend={} -======= prepend={} ->>>>>>> v3.5.0rc1 alwaysPrepend append={remoteMessage} emptyMessage={emptyMessage} diff --git a/app/javascript/mastodon/features/following/index.js b/app/javascript/mastodon/features/following/index.js index 83a98c256..aadce1644 100644 --- a/app/javascript/mastodon/features/following/index.js +++ b/app/javascript/mastodon/features/following/index.js @@ -140,11 +140,7 @@ class Following extends ImmutablePureComponent { hasMore={hasMore} isLoading={isLoading} onLoadMore={this.handleLoadMore} -<<<<<<< HEAD - prepend={} -======= prepend={} ->>>>>>> v3.5.0rc1 alwaysPrepend append={remoteMessage} emptyMessage={emptyMessage} diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js index 5ae5c7ec8..57bc6da37 100644 --- a/app/javascript/mastodon/features/getting_started/index.js +++ b/app/javascript/mastodon/features/getting_started/index.js @@ -108,16 +108,6 @@ class GettingStarted extends ImmutablePureComponent { ); height += 48; -<<<<<<< HEAD - if (profile_directory) { - navItems.push( - , - , - ); - - height += 48*2; - } -======= if (multiColumn) { navItems.push( , @@ -125,23 +115,12 @@ class GettingStarted extends ImmutablePureComponent { ); height += 48*2; ->>>>>>> v3.5.0rc1 navItems.push( , ); height += 34; -<<<<<<< HEAD - } else if (profile_directory) { - navItems.push( - , - , - ); - - height += 48*2; -======= ->>>>>>> v3.5.0rc1 } if (multiColumn && !columns.find(item => item.get('id') === 'HOME')) { diff --git a/app/javascript/mastodon/features/picture_in_picture/components/footer.js b/app/javascript/mastodon/features/picture_in_picture/components/footer.js index e7975b2da..b01f0d97d 100644 --- a/app/javascript/mastodon/features/picture_in_picture/components/footer.js +++ b/app/javascript/mastodon/features/picture_in_picture/components/footer.js @@ -185,12 +185,8 @@ class Footer extends ImmutablePureComponent { -<<<<<<< HEAD - {withOpenButton && } -======= {withOpenButton && } ->>>>>>> v3.5.0rc1
); } diff --git a/app/javascript/mastodon/features/ui/components/columns_area.js b/app/javascript/mastodon/features/ui/components/columns_area.js index 7f5f87f0b..ff27f3c3a 100644 --- a/app/javascript/mastodon/features/ui/components/columns_area.js +++ b/app/javascript/mastodon/features/ui/components/columns_area.js @@ -218,12 +218,7 @@ class ColumnsArea extends ImmutablePureComponent { const columnIndex = getIndex(this.context.router.history.location.pathname); if (singleColumn) { -<<<<<<< HEAD - const floatingActionButton = shouldHideFAB(this.context.router.history.location.pathname) ? null : ; -======= const floatingActionButton = shouldHideFAB(this.context.router.history.location.pathname) ? null : ; ->>>>>>> v3.5.0rc1 - const content = columnIndex !== -1 ? ( {links.map(this.renderView)} diff --git a/app/javascript/mastodon/features/ui/components/tabs_bar.js b/app/javascript/mastodon/features/ui/components/tabs_bar.js index 61caecfef..a93ba20c1 100644 --- a/app/javascript/mastodon/features/ui/components/tabs_bar.js +++ b/app/javascript/mastodon/features/ui/components/tabs_bar.js @@ -10,21 +10,12 @@ import { place_tab_bar_at_bottom, show_tab_bar_label } from 'mastodon/initial_st import classNames from 'classnames'; export const links = [ -<<<<<<< HEAD - , - , - , - , - , - , -======= , , , , , , ->>>>>>> v3.5.0rc1 ]; export function getIndex (path) { diff --git a/app/javascript/mastodon/features/ui/components/video_modal.js b/app/javascript/mastodon/features/ui/components/video_modal.js index 81e6e9691..f3ee89dfd 100644 --- a/app/javascript/mastodon/features/ui/components/video_modal.js +++ b/app/javascript/mastodon/features/ui/components/video_modal.js @@ -21,11 +21,7 @@ export default class VideoModal extends ImmutablePureComponent { }; componentDidMount () { -<<<<<<< HEAD - const { media, onChangeBackgroundColor, onClose } = this.props; -======= const { media, onChangeBackgroundColor } = this.props; ->>>>>>> v3.5.0rc1 const backgroundColor = getAverageFromBlurhash(media.get('blurhash')); diff --git a/app/javascript/mastodon/features/ui/containers/modal_container.js b/app/javascript/mastodon/features/ui/containers/modal_container.js index ecde08606..35be26222 100644 --- a/app/javascript/mastodon/features/ui/containers/modal_container.js +++ b/app/javascript/mastodon/features/ui/containers/modal_container.js @@ -3,14 +3,9 @@ import { openModal, closeModal } from '../../../actions/modal'; import ModalRoot from '../components/modal_root'; const mapStateToProps = state => ({ -<<<<<<< HEAD - type: state.getIn(['modal', 0, 'modalType'], null), - props: state.getIn(['modal', 0, 'modalProps'], {}), -======= ignoreFocus: state.getIn(['modal', 'ignoreFocus']), type: state.getIn(['modal', 'stack', 0, 'modalType'], null), props: state.getIn(['modal', 'stack', 0, 'modalProps'], {}), ->>>>>>> v3.5.0rc1 }); const mapDispatchToProps = dispatch => ({ diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 71fa4ebd1..2d0136992 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -153,17 +153,6 @@ class SwitchingColumnsArea extends React.PureComponent { {redirect} -<<<<<<< HEAD - - - - - - - - - -======= @@ -174,17 +163,10 @@ class SwitchingColumnsArea extends React.PureComponent { ->>>>>>> v3.5.0rc1 -<<<<<<< HEAD - - - - -======= @@ -201,20 +183,10 @@ class SwitchingColumnsArea extends React.PureComponent { {/* Legacy routes, cannot be easily factored with other routes because they share a param name */} ->>>>>>> v3.5.0rc1 -<<<<<<< HEAD - - - - - - -======= ->>>>>>> v3.5.0rc1 diff --git a/app/javascript/mastodon/features/video/index.js b/app/javascript/mastodon/features/video/index.js index 80a0fa745..3cda6aef5 100644 --- a/app/javascript/mastodon/features/video/index.js +++ b/app/javascript/mastodon/features/video/index.js @@ -121,12 +121,8 @@ class Video extends React.PureComponent { autoPlay: PropTypes.bool, volume: PropTypes.number, muted: PropTypes.bool, -<<<<<<< HEAD componetIndex: PropTypes.number, quote: PropTypes.bool, -======= - componentIndex: PropTypes.number, ->>>>>>> v3.5.0rc1 }; static defaultProps = { diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index d5652ed47..47a35127f 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -31,12 +31,8 @@ "account.moved_to": "Uživatel {name} se přesunul na:", "account.mute": "Skrýt @{name}", "account.mute_notifications": "Skrýt oznámení od @{name}", -<<<<<<< HEAD - "account.muted": "Účet skryt", - "account.never_active": "Nikdy", -======= "account.muted": "Skryt", ->>>>>>> v3.5.0rc1 + "account.never_active": "Nikdy", "account.posts": "Příspěvky", "account.posts_with_replies": "Příspěvky a odpovědi", "account.report": "Nahlásit @{name}", diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 2b877537f..9a6c8e189 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -311,21 +311,8 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.public_timeline": "Federated timeline", "navigation_bar.security": "Security", -<<<<<<< HEAD - "navigation_bar.short.community_timeline": "LTL", - "navigation_bar.short.getting_started": "Started", - "navigation_bar.short.home": "Home", - "navigation_bar.short.lists": "Lists", - "navigation_bar.short.logout": "Logout", - "navigation_bar.short.notifications": "Notif.", - "navigation_bar.short.preferences": "Pref.", - "navigation_bar.short.public_timeline": "FTL", - "navigation_bar.short.search": "Search", - "notification.favourite": "{name} favourited your toot", -======= "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} favourited your post", ->>>>>>> v3.5.0rc1 "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", "notification.mention": "{name} mentioned you", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 6c5130abf..d121d6573 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -57,12 +57,8 @@ "alert.rate_limited.title": "Forgalomkorlátozás", "alert.unexpected.message": "Váratlan hiba történt.", "alert.unexpected.title": "Hoppá!", -<<<<<<< HEAD - "announcement.announcement": "Bejelentés", -======= "announcement.announcement": "Közlemény", "attachments_list.unprocessed": "(feldolgozatlan)", ->>>>>>> v3.5.0rc1 "autosuggest_hashtag.per_week": "{count} hetente", "boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}", "bundle_column_error.body": "Valami hiba történt a komponens betöltése közben.", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index d13a4f9cd..51028efae 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -317,26 +317,9 @@ "navigation_bar.preferences": "ユーザー設定", "navigation_bar.public_timeline": "連合タイムライン", "navigation_bar.security": "セキュリティ", -<<<<<<< HEAD - "notification.and_n_others": "and {count, plural, one {# other} other {# others}}", - "notification.and_n_others": "と、他 {count} 件", "navigation_bar.announcements": "運営からのお知らせ", - "navigation_bar.trends": "トレンド", - "navigation_bar.bookmarks": "ブックマーク", - "notification.favourite": "{name}さんがあなたの投稿に╰( ^o^)╮-=ニ=一=三★しました", - "navigation_bar.short.community_timeline": "ローカル", - "navigation_bar.short.getting_started": "スタート", - "navigation_bar.short.home": "ホーム", - "navigation_bar.short.lists": "リスト", - "navigation_bar.short.logout": "ログアウト", - "navigation_bar.short.notifications": "通知", - "navigation_bar.short.preferences": "設定", - "navigation_bar.short.public_timeline": "連合", - "navigation_bar.short.search": "検索", -======= "notification.admin.sign_up": "{name} がサインアップしました", - "notification.favourite": "{name}さんがあなたの投稿をお気に入りに登録しました", ->>>>>>> v3.5.0rc1 + "notification.favourite": "{name}さんがあなたの投稿に╰( ^o^)╮-=ニ=一=三★しました", "notification.follow": "{name}さんにフォローされました", "notification.follow_request": "{name} さんがあなたにフォローリクエストしました", "notification.mention": "{name}さんがあなたに返信しました", diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js index 895da3985..0065ea798 100644 --- a/app/javascript/mastodon/reducers/compose.js +++ b/app/javascript/mastodon/reducers/compose.js @@ -351,7 +351,6 @@ export default function compose(state = initialState, action) { map.set('spoiler_text', ''); } }); -<<<<<<< HEAD case COMPOSE_QUOTE: return state.withMutations(map => { map.set('in_reply_to', null); @@ -385,8 +384,6 @@ export default function compose(state = initialState, action) { map.set('poll', null); map.set('idempotencyKey', uuid()); }); -======= ->>>>>>> v3.5.0rc1 case COMPOSE_SUBMIT_REQUEST: return state.set('is_submitting', true); case COMPOSE_UPLOAD_CHANGE_REQUEST: diff --git a/app/javascript/mastodon/reducers/modal.js b/app/javascript/mastodon/reducers/modal.js index 53f10909d..3eab07d9d 100644 --- a/app/javascript/mastodon/reducers/modal.js +++ b/app/javascript/mastodon/reducers/modal.js @@ -1,17 +1,5 @@ import { MODAL_OPEN, MODAL_CLOSE } from '../actions/modal'; import { TIMELINE_DELETE } from '../actions/timelines'; -<<<<<<< HEAD -import { Stack as ImmutableStack, Map as ImmutableMap } from 'immutable'; - -export default function modal(state = ImmutableStack(), action) { - switch(action.type) { - case MODAL_OPEN: - return state.unshift(ImmutableMap({ modalType: action.modalType, modalProps: action.modalProps })); - case MODAL_CLOSE: - return (action.modalType === undefined || action.modalType === state.getIn([0, 'modalType'])) ? state.shift() : state; - case TIMELINE_DELETE: - return state.filterNot((modal) => modal.get('modalProps').statusId === action.id); -======= import { COMPOSE_UPLOAD_CHANGE_SUCCESS } from '../actions/compose'; import { Stack as ImmutableStack, Map as ImmutableMap } from 'immutable'; @@ -45,7 +33,6 @@ export default function modal(state = initialState, action) { return popModal(state, { modalType: 'FOCAL_POINT', ignoreFocus: false }); case TIMELINE_DELETE: return state.update('stack', stack => stack.filterNot((modal) => modal.get('modalProps').statusId === action.id)); ->>>>>>> v3.5.0rc1 default: return state; } diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 25f3f49c0..11cd58119 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -368,7 +368,6 @@ class ActivityPub::Activity::Create < ActivityPub::Activity value_or_id(@object['inReplyTo']) end -<<<<<<< HEAD def text_from_content return Formatter.instance.linkify([[text_from_name, text_from_summary.presence].compact.join("\n\n"), object_url || object_uri].join(' ')) if converted_object_type? @@ -431,28 +430,16 @@ class ActivityPub::Activity::Create < ActivityPub::Activity def name_language_map? @object['nameMap'].is_a?(Hash) && !@object['nameMap'].empty? -======= + end + def converted_text Formatter.instance.linkify([@status_parser.title.presence, @status_parser.spoiler_text.presence, @status_parser.url || @status_parser.uri].compact.join("\n\n")) ->>>>>>> v3.5.0rc1 end def unsupported_media_type?(mime_type) mime_type.present? && !MediaAttachment.supported_mime_types.include?(mime_type) end -<<<<<<< HEAD - def supported_blurhash?(blurhash) - components = blurhash.blank? || !blurhash_valid_chars?(blurhash) ? nil : Blurhash.components(blurhash) - components.present? && components.none? { |comp| comp > 5 } - end - - def blurhash_valid_chars?(blurhash) - /^[\w#$%*+-.:;=?@\[\]^{|}~]+$/.match?(blurhash) - end - -======= ->>>>>>> v3.5.0rc1 def skip_download? return @skip_download if defined?(@skip_download) diff --git a/config/brakeman.ignore b/config/brakeman.ignore index bd8d071b6..c24146da4 100644 --- a/config/brakeman.ignore +++ b/config/brakeman.ignore @@ -121,22 +121,6 @@ "note": "" }, { -<<<<<<< HEAD - "warning_type": "SQL Injection", - "warning_code": 0, - "fingerprint": "9ccb9ba6a6947400e187d515e0bf719d22993d37cfc123c824d7fafa6caa9ac3", - "check_name": "SQL", - "message": "Possible SQL injection", - "file": "lib/mastodon/snowflake.rb", - "line": 87, - "link": "https://brakemanscanner.org/docs/warning_types/sql_injection/", - "code": "connection.execute(\" CREATE OR REPLACE FUNCTION timestamp_id(table_name text)\\n RETURNS bigint AS\\n $$\\n DECLARE\\n time_part bigint;\\n sequence_base bigint;\\n tail bigint;\\n BEGIN\\n time_part := (\\n -- Get the time in milliseconds\\n ((date_part('epoch', now()) * 1000))::bigint\\n -- And shift it over two bytes\\n << 16);\\n\\n sequence_base := (\\n 'x' ||\\n -- Take the first two bytes (four hex characters)\\n substr(\\n -- Of the MD5 hash of the data we documented\\n md5(table_name ||\\n '#{SecureRandom.hex(16)}' ||\\n time_part::text\\n ),\\n 1, 4\\n )\\n -- And turn it into a bigint\\n )::bit(16)::bigint;\\n\\n -- Finally, add our sequence number to our base, and chop\\n -- it to the last two bytes\\n tail := (\\n (sequence_base + nextval(table_name || '_id_seq'))\\n & 65535);\\n\\n -- Return the time part and the sequence part. OR appears\\n -- faster here than addition, but they're equivalent:\\n -- time_part has no trailing two bytes, and tail is only\\n -- the last two bytes.\\n RETURN time_part | tail;\\n END\\n $$ LANGUAGE plpgsql VOLATILE;\\n\")", - "render_path": null, - "location": { - "type": "method", - "class": "Mastodon::Snowflake", - "method": "define_timestamp_id" -======= "warning_type": "Cross-Site Scripting", "warning_code": 2, "fingerprint": "afad51718ae373b2f19d2513029fd2afccf58b9148e475934bc6a162ee33c352", @@ -161,7 +145,6 @@ "location": { "type": "template", "template": "admin/disputes/appeals/_appeal" ->>>>>>> v3.5.0rc1 }, "user_input": "(Unresolved Model).new.strike", "confidence": "Weak", @@ -213,13 +196,8 @@ "type": "template", "template": "admin/trends/links/_preview_card" }, -<<<<<<< HEAD - "user_input": "MediaAttachment.attached.find_by!(:shortcode => ((params[:id] or params[:medium_id]))).file.url(:original)", - "confidence": "High", -======= "user_input": "(Unresolved Model).new.url", "confidence": "Weak", ->>>>>>> v3.5.0rc1 "note": "" }, { diff --git a/config/initializers/twitter_regex.rb b/config/initializers/twitter_regex.rb index d02e859f7..d2ea5f974 100644 --- a/config/initializers/twitter_regex.rb +++ b/config/initializers/twitter_regex.rb @@ -24,16 +24,9 @@ module Twitter::TwitterText ) \) /iox -<<<<<<< HEAD - REGEXEN[:valid_iri_ucschar] = /[\u{A0}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFEF}\u{10000}-\u{1FFFD}\u{20000}-\u{2FFFD}\u{30000}-\u{3FFFD}\u{40000}-\u{4FFFD}\u{50000}-\u{5FFFD}\u{60000}-\u{6FFFD}\u{70000}-\u{7FFFD}\u{80000}-\u{8FFFD}\u{90000}-\u{9FFFD}\u{A0000}-\u{AFFFD}\u{B0000}-\u{BFFFD}\u{C0000}-\u{CFFFD}\u{D0000}-\u{DFFFD}\u{E1000}-\u{EFFFD}]/iou - REGEXEN[:valid_iri_iprivate] = /[\u{E000}-\u{F8FF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]/iou - REGEXEN[:valid_url_query_chars] = /(?:#{REGEXEN[:valid_iri_ucschar]})|(?:#{REGEXEN[:valid_iri_iprivate]})|[a-z0-9!?\*'\(\);:&=\+\$\/%#\[\]\-_\.,~|@]/iou - REGEXEN[:valid_url_query_ending_chars] = /(?:#{REGEXEN[:valid_iri_ucschar]})|(?:#{REGEXEN[:valid_iri_iprivate]})|[a-z0-9_&=#\/\-]/iou -======= UCHARS = '\u{A0}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFEF}\u{10000}-\u{1FFFD}\u{20000}-\u{2FFFD}\u{30000}-\u{3FFFD}\u{40000}-\u{4FFFD}\u{50000}-\u{5FFFD}\u{60000}-\u{6FFFD}\u{70000}-\u{7FFFD}\u{80000}-\u{8FFFD}\u{90000}-\u{9FFFD}\u{A0000}-\u{AFFFD}\u{B0000}-\u{BFFFD}\u{C0000}-\u{CFFFD}\u{D0000}-\u{DFFFD}\u{E1000}-\u{EFFFD}\u{E000}-\u{F8FF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}' REGEXEN[:valid_url_query_chars] = /[a-z0-9!?\*'\(\);:&=\+\$\/%#\[\]\-_\.,~|@#{UCHARS}]/iou REGEXEN[:valid_url_query_ending_chars] = /[a-z0-9_&=#\/\-#{UCHARS}]/iou ->>>>>>> v3.5.0rc1 REGEXEN[:valid_url_path] = /(?: (?: #{REGEXEN[:valid_general_url_path_chars]}* diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index ca3f3629f..3276b4843 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -164,13 +164,8 @@ cs: setting_show_application: Odhalit aplikaci použitou k odeslání příspěvků setting_system_font_ui: Použít výchozí písmo systému setting_theme: Vzhled stránky -<<<<<<< HEAD - setting_trends: Zobrazit dnes populární hashtagy - setting_unfollow_modal: Ppřed zrušením sledování zobrazovat potvrzovací okno -======= setting_trends: Zobrazit dnešní trendy setting_unfollow_modal: Před zrušením sledování zobrazovat potvrzovací okno ->>>>>>> v3.5.0rc1 setting_use_blurhash: Zobrazit pro skrytá média barevné gradienty setting_use_pending_items: Pomalý režim severity: Vážnost diff --git a/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb b/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb index aee49652e..e233bd560 100644 --- a/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb +++ b/spec/controllers/activitypub/followers_synchronizations_controller_spec.rb @@ -47,11 +47,7 @@ RSpec.describe ActivityPub::FollowersSynchronizationsController, type: :controll it 'returns orderedItems with followers from example.com' do expect(body[:orderedItems]).to be_an Array -<<<<<<< HEAD - expect(body[:orderedItems].sort).to eq [follower_4.uri, follower_1.uri, follower_2.uri] -======= expect(body[:orderedItems]).to match_array([follower_4.uri, follower_1.uri, follower_2.uri]) ->>>>>>> v3.5.0rc1 end it 'returns private Cache-Control header' do diff --git a/spec/controllers/api/v1/accounts/notes_controller_spec.rb b/spec/controllers/api/v1/accounts/notes_controller_spec.rb index 7b5fe85f5..42c2d8a86 100644 --- a/spec/controllers/api/v1/accounts/notes_controller_spec.rb +++ b/spec/controllers/api/v1/accounts/notes_controller_spec.rb @@ -3,11 +3,7 @@ require 'rails_helper' describe Api::V1::Accounts::NotesController do render_views -<<<<<<< HEAD - let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) } -======= let(:user) { Fabricate(:user) } ->>>>>>> v3.5.0rc1 let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'write:accounts') } let(:account) { Fabricate(:account) } let(:comment) { 'foo' } @@ -35,11 +31,7 @@ describe Api::V1::Accounts::NotesController do end end -<<<<<<< HEAD - context 'when account note exceends allowed length' do -======= context 'when account note exceeds allowed length' do ->>>>>>> v3.5.0rc1 let(:comment) { 'a' * 2_001 } it 'returns 422' do