uriIndicator: calling normalizeURI called without a try-catch
Closes 1048 - "There was a bad URL without a letter after #, and this failed on resolve + crashed the app. Maybe a try/catch for each URL?"
This commit is contained in:
parent
ea827b2d31
commit
a34e07e970
2 changed files with 15 additions and 7 deletions
|
@ -1,14 +1,21 @@
|
|||
import { connect } from 'react-redux';
|
||||
import { normalizeURI } from 'util/lbryURI';
|
||||
import { doResolveUri } from 'redux/actions/claims';
|
||||
import { selectIsUriResolving, makeSelectClaimForUri } from 'redux/selectors/claims';
|
||||
import { selectIsUriResolving, selectClaimForUri } from 'redux/selectors/claims';
|
||||
import UriIndicator from './view';
|
||||
|
||||
const select = (state, props) => ({
|
||||
claim: makeSelectClaimForUri(props.uri)(state),
|
||||
const select = (state, props) => {
|
||||
let uri = null;
|
||||
try {
|
||||
uri = normalizeURI(props.uri);
|
||||
} catch {}
|
||||
|
||||
return {
|
||||
claim: selectClaimForUri(state, props.uri),
|
||||
isResolvingUri: selectIsUriResolving(state, props.uri),
|
||||
uri: normalizeURI(props.uri),
|
||||
});
|
||||
uri,
|
||||
};
|
||||
};
|
||||
|
||||
const perform = (dispatch) => ({
|
||||
resolveUri: (uri) => dispatch(doResolveUri(uri)),
|
||||
|
|
|
@ -78,6 +78,7 @@ class UriIndicator extends React.PureComponent<Props> {
|
|||
|
||||
render() {
|
||||
const {
|
||||
uri,
|
||||
channelInfo,
|
||||
link,
|
||||
isResolvingUri,
|
||||
|
@ -94,7 +95,7 @@ class UriIndicator extends React.PureComponent<Props> {
|
|||
if (!channelInfo && !claim) {
|
||||
return (
|
||||
<span className={classnames('empty', className)}>
|
||||
{isResolvingUri || claim === undefined ? __('Validating...') : __('[Removed]')}
|
||||
{uri === null ? '---' : isResolvingUri || claim === undefined ? __('Validating...') : __('[Removed]')}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue