Remove unneeded actions on team switch (#6265)

This commit is contained in:
Daniel Espino García 2022-05-12 18:45:29 +02:00 committed by GitHub
parent a8a13272ea
commit 3f3e0e76db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -11,7 +11,7 @@ import DatabaseManager from '@database/manager';
import NetworkManager from '@managers/network_manager';
import {prepareCategories, prepareCategoryChannels} from '@queries/servers/categories';
import {prepareMyChannelsForTeam, getDefaultChannelForTeam} from '@queries/servers/channel';
import {prepareCommonSystemValues, getCurrentTeamId, getWebSocketLastDisconnected} from '@queries/servers/system';
import {prepareCommonSystemValues, getCurrentTeamId} from '@queries/servers/system';
import {addTeamToTeamHistory, prepareDeleteTeam, prepareMyTeams, getNthLastChannelFromTeam, queryTeamsById, syncTeamTable} from '@queries/servers/team';
import EphemeralStore from '@store/ephemeral_store';
import {isTablet} from '@utils/helpers';
@ -279,7 +279,6 @@ export async function handleTeamChange(serverUrl: string, teamId: string) {
await switchToChannelById(serverUrl, channelId, teamId);
}
DeviceEventEmitter.emit(Events.TEAM_SWITCH, false);
completeTeamChange(serverUrl, teamId, channelId);
return;
}
}
@ -298,25 +297,4 @@ export async function handleTeamChange(serverUrl: string, teamId: string) {
await operator.batchRecords(models);
}
DeviceEventEmitter.emit(Events.TEAM_SWITCH, false);
completeTeamChange(serverUrl, teamId, channelId);
}
const completeTeamChange = async (serverUrl: string, teamId: string, channelId: string) => {
const database = DatabaseManager.serverDatabases[serverUrl]?.database;
if (!database) {
return;
}
// If WebSocket is not disconnected we fetch everything since this moment
const lastDisconnectedAt = (await getWebSocketLastDisconnected(database)) || Date.now();
const {channels, memberships, error} = await fetchMyChannelsForTeam(serverUrl, teamId, true, lastDisconnectedAt, false, true);
if (error) {
DeviceEventEmitter.emit(Events.TEAM_LOAD_ERROR, serverUrl, error);
}
if (channels?.length && memberships?.length) {
fetchPostsForUnreadChannels(serverUrl, channels, memberships, channelId);
}
};