forked from fedi/mastodon
Fix infinite loading instead of soft 404 for non-existing remote accounts (#21303)
Fixes #21278, #21021
This commit is contained in:
parent
57b893d505
commit
3ffaa966b0
|
@ -26,7 +26,13 @@ const emptyList = ImmutableList();
|
|||
const mapStateToProps = (state, { params: { acct, id, tagged }, withReplies = false }) => {
|
||||
const accountId = id || state.getIn(['accounts_map', normalizeForLookup(acct)]);
|
||||
|
||||
if (!accountId) {
|
||||
if (accountId === null) {
|
||||
return {
|
||||
isLoading: false,
|
||||
isAccount: false,
|
||||
statusIds: emptyList,
|
||||
};
|
||||
} else if (!accountId) {
|
||||
return {
|
||||
isLoading: true,
|
||||
statusIds: emptyList,
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { ACCOUNT_IMPORT, ACCOUNTS_IMPORT } from '../actions/importer';
|
||||
import { ACCOUNT_LOOKUP_FAIL } from '../actions/accounts';
|
||||
import { Map as ImmutableMap } from 'immutable';
|
||||
|
||||
export const normalizeForLookup = str => str.toLowerCase();
|
||||
|
@ -7,6 +8,8 @@ const initialState = ImmutableMap();
|
|||
|
||||
export default function accountsMap(state = initialState, action) {
|
||||
switch(action.type) {
|
||||
case ACCOUNT_LOOKUP_FAIL:
|
||||
return action.error?.response?.status === 404 ? state.set(normalizeForLookup(action.acct), null) : state;
|
||||
case ACCOUNT_IMPORT:
|
||||
return state.set(normalizeForLookup(action.account.acct), action.account.id);
|
||||
case ACCOUNTS_IMPORT:
|
||||
|
|
Loading…
Reference in a new issue