diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-07-19 12:09:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-19 12:09:41 +0200 |
commit | a2df067f9852f0db3140dd2c35539f4e74bdb6dc (patch) | |
tree | c18376b570831e1595362f001341599f1a5a8a36 /app | |
parent | e42ed4502f9e4a599ecf7a860b7de80090ba46ad (diff) | |
parent | d1c87be8cf0837f96290b5c2e127b7ce2e3dbb41 (diff) |
Merge pull request #1569 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/settings/deletes_controller.rb | 2 | ||||
-rw-r--r-- | app/javascript/mastodon/components/modal_root.js | 4 | ||||
-rw-r--r-- | app/javascript/mastodon/features/ui/components/video_modal.js | 2 | ||||
-rw-r--r-- | app/javascript/mastodon/reducers/modal.js | 4 | ||||
-rw-r--r-- | app/lib/formatter.rb | 31 | ||||
-rw-r--r-- | app/models/account.rb | 4 |
6 files changed, 11 insertions, 36 deletions
diff --git a/app/controllers/settings/deletes_controller.rb b/app/controllers/settings/deletes_controller.rb index 7b8f8d207..e0dd5edcb 100644 --- a/app/controllers/settings/deletes_controller.rb +++ b/app/controllers/settings/deletes_controller.rb @@ -42,7 +42,7 @@ class Settings::DeletesController < Settings::BaseController end def destroy_account! - current_account.suspend!(origin: :local) + current_account.suspend!(origin: :local, block_email: false) AccountDeletionWorker.perform_async(current_user.account_id) sign_out end diff --git a/app/javascript/mastodon/components/modal_root.js b/app/javascript/mastodon/components/modal_root.js index 8c9409d01..755c46fd6 100644 --- a/app/javascript/mastodon/components/modal_root.js +++ b/app/javascript/mastodon/components/modal_root.js @@ -6,6 +6,10 @@ import { multiply } from 'color-blend'; export default class ModalRoot extends React.PureComponent { + static contextTypes = { + router: PropTypes.object, + }; + static propTypes = { children: PropTypes.node, onClose: PropTypes.func.isRequired, diff --git a/app/javascript/mastodon/features/ui/components/video_modal.js b/app/javascript/mastodon/features/ui/components/video_modal.js index 7e8e1329d..f3ee89dfd 100644 --- a/app/javascript/mastodon/features/ui/components/video_modal.js +++ b/app/javascript/mastodon/features/ui/components/video_modal.js @@ -21,7 +21,7 @@ export default class VideoModal extends ImmutablePureComponent { }; componentDidMount () { - const { media, onChangeBackgroundColor, onClose } = this.props; + const { media, onChangeBackgroundColor } = this.props; const backgroundColor = getAverageFromBlurhash(media.get('blurhash')); diff --git a/app/javascript/mastodon/reducers/modal.js b/app/javascript/mastodon/reducers/modal.js index ea81b4332..c43446f6d 100644 --- a/app/javascript/mastodon/reducers/modal.js +++ b/app/javascript/mastodon/reducers/modal.js @@ -5,11 +5,11 @@ 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 })); + 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); + return state.filterNot((modal) => modal.get('modalProps').statusId === action.id); default: return state; } diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index b26138642..f2c4beed5 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -279,39 +279,10 @@ class Formatter result.flatten.join end - UNICODE_ESCAPE_BLACKLIST_RE = /\p{Z}|\p{P}/ - def utf8_friendly_extractor(text, options = {}) - old_to_new_index = [0] - - escaped = text.chars.map do |c| - output = begin - if c.ord.to_s(16).length > 2 && !UNICODE_ESCAPE_BLACKLIST_RE.match?(c) - CGI.escape(c) - else - c - end - end - - old_to_new_index << old_to_new_index.last + output.length - - output - end.join - # Note: I couldn't obtain list_slug with @user/list-name format # for mention so this requires additional check - special = Extractor.extract_urls_with_indices(escaped, options).map do |extract| - new_indices = [ - old_to_new_index.find_index(extract[:indices].first), - old_to_new_index.find_index(extract[:indices].last), - ] - - next extract.merge( - indices: new_indices, - url: text[new_indices.first..new_indices.last - 1] - ) - end - + special = Extractor.extract_urls_with_indices(text, options) standard = Extractor.extract_entities_with_indices(text, options) extra = Extractor.extract_extra_uris_with_indices(text, options) diff --git a/app/models/account.rb b/app/models/account.rb index 96f23979f..3178a0f9c 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -236,11 +236,11 @@ class Account < ApplicationRecord suspended? && deletion_request.present? end - def suspend!(date: Time.now.utc, origin: :local) + def suspend!(date: Time.now.utc, origin: :local, block_email: true) transaction do create_deletion_request! update!(suspended_at: date, suspension_origin: origin) - create_canonical_email_block! + create_canonical_email_block! if block_email end end |