gearheads
/
mastodon
Archived
2
0
Fork 0

Fix infinite loading instead of soft 404 for non-existing remote accounts (#21303)

Fixes #21278, #21021
gh/stable
Claire 2022-11-27 20:48:12 +01:00 committed by GitHub
parent 57b893d505
commit 3ffaa966b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View File

@ -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,

View File

@ -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: