String to binary to base64 for all URIs, will fix #708 and certainly #711

This commit is contained in:
James Barnsley
2021-03-26 20:53:04 +13:00
parent 0730e6cce0
commit 20ea63b7e9
13 changed files with 163 additions and 326 deletions

View File

@ -28,7 +28,7 @@ import Button from '../components/Button';
import { makeLoadingSelector, makeItemSelector } from '../util/selectors';
import { applyFilter, sortItems } from '../util/arrays';
import { trackEvent } from '../components/Trackable';
import { encodeUri } from '../util/format';
import { encodeUri, decodeUri } from '../util/format';
class Album extends React.Component {
constructor(props) {
@ -346,7 +346,7 @@ class Album extends React.Component {
}
const mapStateToProps = (state, ownProps) => {
const uri = decodeURIComponent(ownProps.match.params.uri);
const uri = decodeUri(ownProps.match.params.uri);
const itemSelector = makeItemSelector(uri);
const loadingSelector = makeLoadingSelector([`(.*)${uri}(.*)`, '^((?!contains).)*$', '^((?!me\/albums).)*$']);
return {

View File

@ -23,7 +23,7 @@ import {
sourceIcon,
titleCase,
} from '../util/helpers';
import { collate, encodeUri } from '../util/format';
import { collate, encodeUri, decodeUri } from '../util/format';
import { sortItems, applyFilter, arrayOf } from '../util/arrays';
import { i18n, I18n } from '../locale';
import Button from '../components/Button';
@ -601,7 +601,7 @@ class Artist extends React.Component {
}
const mapStateToProps = (state, props) => {
const uri = decodeURIComponent(props.match.params.uri);
const uri = decodeUri(props.match.params.uri);
const loadingSelector = makeLoadingSelector([`(.*)${uri}(.*)`, '^((?!contains).)*$', '^((?!albums).)*$', '^((?!related-artists).)*$', '^((?!top-tracks).)*$']);
const artistSelector = makeItemSelector(uri);
const artist = artistSelector(state);

View File

@ -21,9 +21,7 @@ import * as mopidyActions from '../services/mopidy/actions';
import * as spotifyActions from '../services/spotify/actions';
import {
uriSource,
getFromUri,
sourceIcon,
decodeMopidyUri,
} from '../util/helpers';
import { trackEvent } from '../components/Trackable';
import { i18n, I18n } from '../locale';

View File

@ -31,7 +31,7 @@ const LyricsSelector = ({
lyrics_path,
} = {},
getTrackLyrics,
}) => {
}) => {
if (lyrics_results === undefined || lyrics_results === null) return null;
if (lyrics_results.length <= 0) {
return (
@ -121,11 +121,11 @@ const Lyrics = ({
<LyricsSelector
getTrackLyrics={getTrackLyrics}
authorized={authorized}
track={track}
track={track}
/>
<LyricsContent
track={track}
authorized={authorized}
authorized={authorized}
/>
</>
);
@ -140,7 +140,7 @@ class Track extends React.Component {
},
} = this.props;
loadTrack(decodeUri(uri), { full: true, lyrics: true });
loadTrack(uri, { full: true, lyrics: true });
if (track) {
this.setWindowTitle(track);
@ -160,7 +160,7 @@ class Track extends React.Component {
} = this.props;
if (prevUri !== uri) {
loadTrack(decodeUri(uri), { full: true, lyrics: true });
loadTrack(uri, { full: true, lyrics: true });
}
if (!prevTrack && track) this.setWindowTitle(track);