Fixes website not loading for unlogged users (#27698)

This commit is contained in:
Renaud Chaput 2023-11-04 22:52:56 +01:00 committed by GitHub
parent 3bf2a7296e
commit 6712bf86cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 11 deletions

View File

@ -41,32 +41,34 @@ const normalizeAccounts = (
return state; return state;
}; };
export const accountsReducer: Reducer<typeof initialState> = ( function getCurrentUser() {
state = initialState, if (!me)
action,
) => {
const currentUserId = me;
if (!currentUserId)
throw new Error( throw new Error(
'No current user (me) defined when calling `accountsReducer`', 'No current user (me) defined when calling `accountsReducer`',
); );
return me;
}
export const accountsReducer: Reducer<typeof initialState> = (
state = initialState,
action,
) => {
if (revealAccount.match(action)) if (revealAccount.match(action))
return state.setIn([action.payload.id, 'hidden'], false); return state.setIn([action.payload.id, 'hidden'], false);
else if (importAccounts.match(action)) else if (importAccounts.match(action))
return normalizeAccounts(state, action.payload.accounts); return normalizeAccounts(state, action.payload.accounts);
else if (followAccountSuccess.match(action)) else if (followAccountSuccess.match(action)) {
return state return state
.update( .update(
action.payload.relationship.id, action.payload.relationship.id,
(account) => account?.update('followers_count', (n) => n + 1), (account) => account?.update('followers_count', (n) => n + 1),
) )
.update( .update(
currentUserId, getCurrentUser(),
(account) => account?.update('following_count', (n) => n + 1), (account) => account?.update('following_count', (n) => n + 1),
); );
else if (unfollowAccountSuccess.match(action)) } else if (unfollowAccountSuccess.match(action))
return state return state
.update( .update(
action.payload.relationship.id, action.payload.relationship.id,
@ -74,7 +76,7 @@ export const accountsReducer: Reducer<typeof initialState> = (
account?.update('followers_count', (n) => Math.max(0, n - 1)), account?.update('followers_count', (n) => Math.max(0, n - 1)),
) )
.update( .update(
currentUserId, getCurrentUser(),
(account) => (account) =>
account?.update('following_count', (n) => Math.max(0, n - 1)), account?.update('following_count', (n) => Math.max(0, n - 1)),
); );

View File

@ -0,0 +1,17 @@
# frozen_string_literal: true
require 'rails_helper'
describe 'UnloggedBrowsing' do
subject { page }
before do
visit root_path
end
it 'loads the home page' do
expect(subject).to have_css('div.app-holder')
expect(subject).to have_css('div.columns-area__panels__main')
end
end