aboutsummaryrefslogtreecommitdiff
path: root/src/store
diff options
context:
space:
mode:
Diffstat (limited to 'src/store')
-rw-r--r--src/store/actions/user.ts16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/store/actions/user.ts b/src/store/actions/user.ts
index e7d985ac..4faa2206 100644
--- a/src/store/actions/user.ts
+++ b/src/store/actions/user.ts
@@ -1,4 +1,5 @@
import AsyncStorage from '@react-native-community/async-storage';
+import {StreamChat} from 'stream-chat';
import {Action, ThunkAction} from '@reduxjs/toolkit';
import {
getProfilePic,
@@ -164,13 +165,16 @@ export const updateReplyPosted = (
}
};
-export const logout = (): ThunkAction<
- Promise<void>,
- RootState,
- unknown,
- Action<string>
-> => async (dispatch) => {
+export const logout = (
+ client?: StreamChat,
+): ThunkAction<Promise<void>, RootState, unknown, Action<string>> => async (
+ dispatch,
+) => {
try {
+ // do our best effort here to gracefully disconnect the user
+ if (client) {
+ await client.disconnectUser();
+ }
await AsyncStorage.clear();
dispatch({type: userLoggedIn.type, payload: {userId: '', username: ''}});
} catch (error) {