diff options
| author | Ivan Chen <ivan@tagg.id> | 2021-04-06 14:58:25 -0400 |
|---|---|---|
| committer | Ivan Chen <ivan@tagg.id> | 2021-04-06 14:58:25 -0400 |
| commit | bdccd7ae173c0342350c613b6247f2cfb0b9fe92 (patch) | |
| tree | 1b7876a12c27a9fcbc361730a31635b7651fe570 /src/store/actions | |
| parent | 88d1ec9dff5674e8759ca33e4255af16b4bf51a5 (diff) | |
disconnect user
Diffstat (limited to 'src/store/actions')
| -rw-r--r-- | src/store/actions/user.ts | 16 |
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) { |
