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