diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-11-27 20:48:12 +0100 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2022-11-28 11:55:56 +0100 |
commit | 98c5ca1037d4058e4666606b0ee319a825b7c904 (patch) | |
tree | 9b6ce2e3a090cc1ff810c6a5b79a5a5e1a864c2d /app/javascript/flavours | |
parent | 2815ac41557864932d163d52f67ff4aee7b834fb (diff) |
[Glitch] Fix infinite loading instead of soft 404 for non-existing remote accounts
Port 3ffaa966b0ba11b318e9a93b41854aa765d2ed5c to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Diffstat (limited to 'app/javascript/flavours')
-rw-r--r-- | app/javascript/flavours/glitch/features/account_timeline/index.js | 8 | ||||
-rw-r--r-- | app/javascript/flavours/glitch/reducers/accounts_map.js | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/app/javascript/flavours/glitch/features/account_timeline/index.js b/app/javascript/flavours/glitch/features/account_timeline/index.js index b735af0ac..b79082f00 100644 --- a/app/javascript/flavours/glitch/features/account_timeline/index.js +++ b/app/javascript/flavours/glitch/features/account_timeline/index.js @@ -25,7 +25,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, diff --git a/app/javascript/flavours/glitch/reducers/accounts_map.js b/app/javascript/flavours/glitch/reducers/accounts_map.js index 53e08c8fb..444bbda19 100644 --- a/app/javascript/flavours/glitch/reducers/accounts_map.js +++ b/app/javascript/flavours/glitch/reducers/accounts_map.js @@ -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: |