Fallback to previous, more approximative hashtag RE on older browsers (#14513)

Fixes #14511
This commit is contained in:
ThibG 2020-08-05 22:39:14 +02:00 committed by GitHub
parent 63bbe6cab8
commit a637344e37
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,10 +5,12 @@ import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { me } from '../../../initial_state'; import { me } from '../../../initial_state';
const HASHTAG_SEPARATORS = "_\\u00b7\\u200c"; const buildHashtagRE = () => {
const ALPHA = '\\p{L}\\p{M}'; try {
const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}'; const HASHTAG_SEPARATORS = "_\\u00b7\\u200c";
const APPROX_HASHTAG_RE = new RegExp( const ALPHA = '\\p{L}\\p{M}';
const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}';
return new RegExp(
'(?:^|[^\\/\\)\\w])#((' + '(?:^|[^\\/\\)\\w])#((' +
'[' + WORD + '_]' + '[' + WORD + '_]' +
'[' + WORD + HASHTAG_SEPARATORS + ']*' + '[' + WORD + HASHTAG_SEPARATORS + ']*' +
@ -20,7 +22,13 @@ const APPROX_HASHTAG_RE = new RegExp(
'[' + ALPHA + ']' + '[' + ALPHA + ']' +
'[' + WORD + '_]*' + '[' + WORD + '_]*' +
'))', 'iu' '))', 'iu'
); );
} catch {
return /(?:^|[^\/\)\w])#(\w*[a-zA-Z·]\w*)/i;
}
};
const APPROX_HASHTAG_RE = buildHashtagRE();
const mapStateToProps = state => ({ const mapStateToProps = state => ({
needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']), needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),