Merge pull request from lbryio/discovery-fixes

Discovery fixes
This commit is contained in:
Sean Yesmunt 2019-07-01 23:11:57 -04:00 committed by GitHub
commit 9a676ee311
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 56 additions and 25 deletions

35
dist/bundle.es.js vendored
View file

@ -1363,9 +1363,9 @@ const selectMyClaims = reselect.createSelector(selectMyActiveClaims, selectClaim
return [...claims, ...pendingClaims]; return [...claims, ...pendingClaims];
}); });
const selectMyClaimsWithoutChannels = reselect.createSelector(selectMyClaims, myClaims => myClaims.filter(claim => !claim.name.match(/^@/))); const selectMyClaimsWithoutChannels = reselect.createSelector(selectMyClaims, myClaims => myClaims.filter(claim => !claim.name.match(/^@/)).sort((a, b) => a.timestamp - b.timestamp));
const selectMyClaimUrisWithoutChannels = reselect.createSelector(selectMyClaimsWithoutChannels, myClaims => myClaims.map(claim => `lbry://${claim.name}#${claim.claim_id}`)); const selectMyClaimUrisWithoutChannels = reselect.createSelector(selectMyClaimsWithoutChannels, myClaims => myClaims.sort((a, b) => b.timestamp - a.timestamp).map(claim => `lbry://${claim.name}#${claim.claim_id}`));
const selectAllMyClaimsByOutpoint = reselect.createSelector(selectMyClaimsRaw, claims => new Set(claims && claims.length ? claims.map(claim => `${claim.txid}:${claim.nout}`) : null)); const selectAllMyClaimsByOutpoint = reselect.createSelector(selectMyClaimsRaw, claims => new Set(claims && claims.length ? claims.map(claim => `${claim.txid}:${claim.nout}`) : null));
@ -2262,7 +2262,7 @@ function doClaimSearch(amount = 20, options = {}) {
dispatch({ dispatch({
type: CLAIM_SEARCH_COMPLETED, type: CLAIM_SEARCH_COMPLETED,
data: { resolveInfo, uris } data: { resolveInfo, uris, append: options.page && options.page !== 1 }
}); });
}; };
@ -2444,7 +2444,7 @@ const selectFileListDownloadedSort = reselect.createSelector(selectState$3, stat
const selectDownloadedUris = reselect.createSelector(selectFileInfosDownloaded, const selectDownloadedUris = reselect.createSelector(selectFileInfosDownloaded,
// We should use permament_url but it doesn't exist in file_list // We should use permament_url but it doesn't exist in file_list
info => info.map(claim => `lbry://${claim.claim_name}#${claim.claim_id}`)); info => info.slice().reverse().map(claim => console.log(claim) || `lbry://${claim.claim_name}#${claim.claim_id}`));
// //
@ -3112,12 +3112,14 @@ from, isBackgroundSearch = false) => (dispatch, getState) => {
const actions = []; const actions = [];
data.forEach(result => { data.forEach(result => {
const uri = buildURI({ if (result.name) {
claimName: result.name, const uri = buildURI({
claimId: result.claimId claimName: result.name,
}); claimId: result.claimId
actions.push(doResolveUri(uri)); });
uris.push(uri); actions.push(doResolveUri(uri));
uris.push(uri);
}
}); });
actions.push({ actions.push({
@ -3128,7 +3130,7 @@ from, isBackgroundSearch = false) => (dispatch, getState) => {
} }
}); });
dispatch(batchActions(...actions)); dispatch(batchActions(...actions));
}).catch(() => { }).catch(e => {
dispatch({ dispatch({
type: SEARCH_FAIL type: SEARCH_FAIL
}); });
@ -3497,9 +3499,18 @@ reducers[CLAIM_SEARCH_STARTED] = state => {
}); });
}; };
reducers[CLAIM_SEARCH_COMPLETED] = (state, action) => { reducers[CLAIM_SEARCH_COMPLETED] = (state, action) => {
const { lastClaimSearchUris } = state;
let newClaimSearchUris = [];
if (action.data.append) {
newClaimSearchUris = lastClaimSearchUris.concat(action.data.uris);
} else {
newClaimSearchUris = action.data.uris;
}
return _extends$5({}, handleClaimAction(state, action), { return _extends$5({}, handleClaimAction(state, action), {
fetchingClaimSearch: false, fetchingClaimSearch: false,
lastClaimSearchUris: action.data.uris lastClaimSearchUris: newClaimSearchUris
}); });
}; };
reducers[CLAIM_SEARCH_FAILED] = state => { reducers[CLAIM_SEARCH_FAILED] = state => {

View file

@ -265,7 +265,7 @@ export function doFetchChannelListMine() {
}; };
} }
export function doClaimSearch(amount: number = 20, options: {} = {}) { export function doClaimSearch(amount: number = 20, options: { page?: number } = {}) {
return (dispatch: Dispatch) => { return (dispatch: Dispatch) => {
dispatch({ dispatch({
type: ACTIONS.CLAIM_SEARCH_STARTED, type: ACTIONS.CLAIM_SEARCH_STARTED,
@ -281,7 +281,7 @@ export function doClaimSearch(amount: number = 20, options: {} = {}) {
dispatch({ dispatch({
type: ACTIONS.CLAIM_SEARCH_COMPLETED, type: ACTIONS.CLAIM_SEARCH_COMPLETED,
data: { resolveInfo, uris }, data: { resolveInfo, uris, append: options.page && options.page !== 1 },
}); });
}; };

View file

@ -117,12 +117,14 @@ export const doSearch = (
const actions = []; const actions = [];
data.forEach(result => { data.forEach(result => {
const uri = buildURI({ if (result.name) {
claimName: result.name, const uri = buildURI({
claimId: result.claimId, claimName: result.name,
}); claimId: result.claimId,
actions.push(doResolveUri(uri)); });
uris.push(uri); actions.push(doResolveUri(uri));
uris.push(uri);
}
}); });
actions.push({ actions.push({
@ -134,7 +136,7 @@ export const doSearch = (
}); });
dispatch(batchActions(...actions)); dispatch(batchActions(...actions));
}) })
.catch(() => { .catch(e => {
dispatch({ dispatch({
type: ACTIONS.SEARCH_FAIL, type: ACTIONS.SEARCH_FAIL,
}); });

View file

@ -21,6 +21,7 @@ type State = {
abandoningById: { [string]: boolean }, abandoningById: { [string]: boolean },
fetchingChannelClaims: { [string]: number }, fetchingChannelClaims: { [string]: number },
fetchingMyChannels: boolean, fetchingMyChannels: boolean,
lastClaimSearchUris: Array<string>,
claimsByChannel: { claimsByChannel: {
[string]: { [string]: {
all: Array<string>, all: Array<string>,
@ -279,10 +280,19 @@ reducers[ACTIONS.CLAIM_SEARCH_STARTED] = (state: State): State => {
}); });
}; };
reducers[ACTIONS.CLAIM_SEARCH_COMPLETED] = (state: State, action: any): State => { reducers[ACTIONS.CLAIM_SEARCH_COMPLETED] = (state: State, action: any): State => {
const { lastClaimSearchUris } = state;
let newClaimSearchUris = [];
if (action.data.append) {
newClaimSearchUris = lastClaimSearchUris.concat(action.data.uris);
} else {
newClaimSearchUris = action.data.uris;
}
return { return {
...handleClaimAction(state, action), ...handleClaimAction(state, action),
fetchingClaimSearch: false, fetchingClaimSearch: false,
lastClaimSearchUris: action.data.uris, lastClaimSearchUris: newClaimSearchUris,
}; };
}; };
reducers[ACTIONS.CLAIM_SEARCH_FAILED] = (state: State): State => { reducers[ACTIONS.CLAIM_SEARCH_FAILED] = (state: State): State => {

View file

@ -256,12 +256,16 @@ export const selectMyClaims = createSelector(
export const selectMyClaimsWithoutChannels = createSelector( export const selectMyClaimsWithoutChannels = createSelector(
selectMyClaims, selectMyClaims,
myClaims => myClaims.filter(claim => !claim.name.match(/^@/)) myClaims =>
myClaims.filter(claim => !claim.name.match(/^@/)).sort((a, b) => a.timestamp - b.timestamp)
); );
export const selectMyClaimUrisWithoutChannels = createSelector( export const selectMyClaimUrisWithoutChannels = createSelector(
selectMyClaimsWithoutChannels, selectMyClaimsWithoutChannels,
myClaims => myClaims.map(claim => `lbry://${claim.name}#${claim.claim_id}`) myClaims =>
myClaims
.sort((a, b) => b.timestamp - a.timestamp)
.map(claim => `lbry://${claim.name}#${claim.claim_id}`)
); );
export const selectAllMyClaimsByOutpoint = createSelector( export const selectAllMyClaimsByOutpoint = createSelector(

View file

@ -232,5 +232,9 @@ export const selectFileListDownloadedSort = createSelector(
export const selectDownloadedUris = createSelector( export const selectDownloadedUris = createSelector(
selectFileInfosDownloaded, selectFileInfosDownloaded,
// We should use permament_url but it doesn't exist in file_list // We should use permament_url but it doesn't exist in file_list
info => info.map(claim => `lbry://${claim.claim_name}#${claim.claim_id}`) info =>
info
.slice()
.reverse()
.map(claim => console.log(claim) || `lbry://${claim.claim_name}#${claim.claim_id}`)
); );