Merge branch 'master' into glitch-soc/merge-upstream

master
Thibaut Girka 2020-08-08 19:10:40 +02:00
commit 5d5b9e2f62
6 changed files with 551 additions and 386 deletions

View File

@ -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

View File

@ -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

View File

@ -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 });
}); });
} }

View File

@ -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']),

View File

@ -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",

863
yarn.lock

File diff suppressed because it is too large Load Diff