commit
36137c28c9
2
Gemfile
2
Gemfile
|
@ -17,7 +17,7 @@ gem 'e2mmap', '~> 0.1.0'
|
||||||
gem 'hamlit-rails', '~> 0.2'
|
gem 'hamlit-rails', '~> 0.2'
|
||||||
gem 'pg', '~> 1.2'
|
gem 'pg', '~> 1.2'
|
||||||
gem 'makara', '~> 0.4'
|
gem 'makara', '~> 0.4'
|
||||||
gem 'pghero', '~> 2.6'
|
gem 'pghero', '~> 2.7'
|
||||||
gem 'dotenv-rails', '~> 2.7'
|
gem 'dotenv-rails', '~> 2.7'
|
||||||
|
|
||||||
gem 'aws-sdk-s3', '~> 1.75', require: false
|
gem 'aws-sdk-s3', '~> 1.75', require: false
|
||||||
|
|
22
Gemfile.lock
22
Gemfile.lock
|
@ -85,7 +85,7 @@ GEM
|
||||||
av (0.9.0)
|
av (0.9.0)
|
||||||
cocaine (~> 0.5.3)
|
cocaine (~> 0.5.3)
|
||||||
aws-eventstream (1.1.0)
|
aws-eventstream (1.1.0)
|
||||||
aws-partitions (1.345.0)
|
aws-partitions (1.349.0)
|
||||||
aws-sdk-core (3.104.3)
|
aws-sdk-core (3.104.3)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.239.0)
|
aws-partitions (~> 1, >= 1.239.0)
|
||||||
|
@ -196,20 +196,20 @@ GEM
|
||||||
railties (>= 3.2)
|
railties (>= 3.2)
|
||||||
e2mmap (0.1.0)
|
e2mmap (0.1.0)
|
||||||
ed25519 (1.2.4)
|
ed25519 (1.2.4)
|
||||||
elasticsearch (7.8.0)
|
elasticsearch (7.8.1)
|
||||||
elasticsearch-api (= 7.8.0)
|
elasticsearch-api (= 7.8.1)
|
||||||
elasticsearch-transport (= 7.8.0)
|
elasticsearch-transport (= 7.8.1)
|
||||||
elasticsearch-api (7.8.0)
|
elasticsearch-api (7.8.1)
|
||||||
multi_json
|
multi_json
|
||||||
elasticsearch-dsl (0.1.9)
|
elasticsearch-dsl (0.1.9)
|
||||||
elasticsearch-transport (7.8.0)
|
elasticsearch-transport (7.8.1)
|
||||||
faraday (~> 1)
|
faraday (~> 1)
|
||||||
multi_json
|
multi_json
|
||||||
encryptor (3.0.0)
|
encryptor (3.0.0)
|
||||||
erubi (1.9.0)
|
erubi (1.9.0)
|
||||||
et-orbi (1.2.4)
|
et-orbi (1.2.4)
|
||||||
tzinfo
|
tzinfo
|
||||||
excon (0.75.0)
|
excon (0.76.0)
|
||||||
fabrication (2.21.1)
|
fabrication (2.21.1)
|
||||||
faker (2.13.0)
|
faker (2.13.0)
|
||||||
i18n (>= 1.6, < 2)
|
i18n (>= 1.6, < 2)
|
||||||
|
@ -405,7 +405,7 @@ GEM
|
||||||
pastel (0.8.0)
|
pastel (0.8.0)
|
||||||
tty-color (~> 0.5)
|
tty-color (~> 0.5)
|
||||||
pg (1.2.3)
|
pg (1.2.3)
|
||||||
pghero (2.6.0)
|
pghero (2.7.0)
|
||||||
activerecord (>= 5)
|
activerecord (>= 5)
|
||||||
pkg-config (1.4.1)
|
pkg-config (1.4.1)
|
||||||
posix-spawn (0.3.15)
|
posix-spawn (0.3.15)
|
||||||
|
@ -544,8 +544,8 @@ GEM
|
||||||
rubocop-ast (>= 0.0.3, < 1.0)
|
rubocop-ast (>= 0.0.3, < 1.0)
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (>= 1.4.0, < 2.0)
|
unicode-display_width (>= 1.4.0, < 2.0)
|
||||||
rubocop-ast (0.2.0)
|
rubocop-ast (0.3.0)
|
||||||
parser (>= 2.7.0.1)
|
parser (>= 2.7.1.4)
|
||||||
rubocop-rails (2.6.0)
|
rubocop-rails (2.6.0)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
rack (>= 1.1)
|
rack (>= 1.1)
|
||||||
|
@ -739,7 +739,7 @@ DEPENDENCIES
|
||||||
parallel_tests (~> 3.1)
|
parallel_tests (~> 3.1)
|
||||||
parslet
|
parslet
|
||||||
pg (~> 1.2)
|
pg (~> 1.2)
|
||||||
pghero (~> 2.6)
|
pghero (~> 2.7)
|
||||||
pkg-config (~> 1.4)
|
pkg-config (~> 1.4)
|
||||||
posix-spawn
|
posix-spawn
|
||||||
premailer-rails
|
premailer-rails
|
||||||
|
|
|
@ -315,7 +315,7 @@ class EmojiPickerDropdown extends React.PureComponent {
|
||||||
|
|
||||||
this.setState({ loading: false });
|
this.setState({ loading: false });
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.setState({ loading: false });
|
this.setState({ loading: false, active: false });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,22 +5,30 @@ 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}';
|
||||||
'(?:^|[^\\/\\)\\w])#((' +
|
const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}';
|
||||||
'[' + WORD + '_]' +
|
return new RegExp(
|
||||||
'[' + WORD + HASHTAG_SEPARATORS + ']*' +
|
'(?:^|[^\\/\\)\\w])#((' +
|
||||||
'[' + ALPHA + HASHTAG_SEPARATORS + ']' +
|
'[' + WORD + '_]' +
|
||||||
'[' + WORD + HASHTAG_SEPARATORS +']*' +
|
'[' + WORD + HASHTAG_SEPARATORS + ']*' +
|
||||||
'[' + WORD + '_]' +
|
'[' + ALPHA + HASHTAG_SEPARATORS + ']' +
|
||||||
')|(' +
|
'[' + WORD + HASHTAG_SEPARATORS +']*' +
|
||||||
'[' + WORD + '_]*' +
|
'[' + WORD + '_]' +
|
||||||
'[' + ALPHA + ']' +
|
')|(' +
|
||||||
'[' + WORD + '_]*' +
|
'[' + WORD + '_]*' +
|
||||||
'))', 'iu'
|
'[' + ALPHA + ']' +
|
||||||
);
|
'[' + WORD + '_]*' +
|
||||||
|
'))', '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']),
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
"@babel/plugin-proposal-decorators": "^7.10.5",
|
"@babel/plugin-proposal-decorators": "^7.10.5",
|
||||||
"@babel/plugin-transform-react-inline-elements": "^7.10.4",
|
"@babel/plugin-transform-react-inline-elements": "^7.10.4",
|
||||||
"@babel/plugin-transform-runtime": "^7.10.5",
|
"@babel/plugin-transform-runtime": "^7.10.5",
|
||||||
"@babel/preset-env": "^7.10.4",
|
"@babel/preset-env": "^7.11.0",
|
||||||
"@babel/preset-react": "^7.10.4",
|
"@babel/preset-react": "^7.10.4",
|
||||||
"@babel/runtime": "^7.8.4",
|
"@babel/runtime": "^7.8.4",
|
||||||
"@clusterws/cws": "^2.0.0",
|
"@clusterws/cws": "^2.0.0",
|
||||||
|
@ -172,16 +172,16 @@
|
||||||
"wicg-inert": "^3.0.3"
|
"wicg-inert": "^3.0.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@testing-library/jest-dom": "^5.11.0",
|
"@testing-library/jest-dom": "^5.11.2",
|
||||||
"@testing-library/react": "^10.4.7",
|
"@testing-library/react": "^10.4.7",
|
||||||
"babel-eslint": "^10.1.0",
|
"babel-eslint": "^10.1.0",
|
||||||
"babel-jest": "^26.1.0",
|
"babel-jest": "^26.1.0",
|
||||||
"eslint": "^7.5.0",
|
"eslint": "^7.6.0",
|
||||||
"eslint-plugin-import": "~2.22.0",
|
"eslint-plugin-import": "~2.22.0",
|
||||||
"eslint-plugin-jsx-a11y": "~6.3.1",
|
"eslint-plugin-jsx-a11y": "~6.3.1",
|
||||||
"eslint-plugin-promise": "~4.2.1",
|
"eslint-plugin-promise": "~4.2.1",
|
||||||
"eslint-plugin-react": "~7.20.4",
|
"eslint-plugin-react": "~7.20.4",
|
||||||
"jest": "^26.0.1",
|
"jest": "^26.2.2",
|
||||||
"raf": "^3.4.1",
|
"raf": "^3.4.1",
|
||||||
"react-intl-translations-manager": "^5.0.3",
|
"react-intl-translations-manager": "^5.0.3",
|
||||||
"react-test-renderer": "^16.13.1",
|
"react-test-renderer": "^16.13.1",
|
||||||
|
|
Loading…
Reference in New Issue