diff --git a/lib/backup/use-user-data-utils.js b/lib/backup/use-user-data-utils.js --- a/lib/backup/use-user-data-utils.js +++ b/lib/backup/use-user-data-utils.js @@ -90,6 +90,7 @@ deviceList: rawDeviceListFromSignedList(deviceList), devicesPlatformDetails: platformDetails, fid: userIdentity?.farcasterID, + supportsFarcasterDCs: !!userIdentity?.hasFarcasterDCsToken, }; auxUserStoreOperations.push({ type: 'replace_aux_user_info', diff --git a/lib/components/farcaster-data-handler.react.js b/lib/components/farcaster-data-handler.react.js --- a/lib/components/farcaster-data-handler.react.js +++ b/lib/components/farcaster-data-handler.react.js @@ -146,6 +146,7 @@ userID, username: identity.username, farcasterID: identity.farcasterID, + supportsFarcasterDCs: identity.hasFarcasterDCsToken, })); dispatch({ diff --git a/lib/reducers/aux-user-reducer.js b/lib/reducers/aux-user-reducer.js --- a/lib/reducers/aux-user-reducer.js +++ b/lib/reducers/aux-user-reducer.js @@ -53,6 +53,7 @@ auxUserInfo: { ...state.auxUserInfos[userID], fid: null, + supportsFarcasterDCs: false, }, }, }); @@ -69,6 +70,7 @@ auxUserInfo: { ...state.auxUserInfos[farcasterUser.userID], fid: farcasterUser.farcasterID, + supportsFarcasterDCs: !!farcasterUser.supportsFarcasterDCs, }, }, }); @@ -87,6 +89,7 @@ auxUserInfo: { ...state.auxUserInfos[farcasterUser.userID], fid: farcasterUser.farcasterID, + supportsFarcasterDCs: !!farcasterUser.supportsFarcasterDCs, }, }, }); @@ -106,6 +109,7 @@ auxUserInfo: { ...state.auxUserInfos[userID], fid: null, + supportsFarcasterDCs: false, }, }, }); @@ -151,6 +155,8 @@ auxUserInfo: { ...rest, fid: state.auxUserInfos[userID]?.fid ?? null, + supportsFarcasterDCs: + state.auxUserInfos[userID]?.supportsFarcasterDCs ?? false, deviceList: action.payload.deviceLists[userID], devicesPlatformDetails: action.payload.usersPlatformDetails[userID], }, diff --git a/lib/reducers/aux-user-reducer.test.js b/lib/reducers/aux-user-reducer.test.js --- a/lib/reducers/aux-user-reducer.test.js +++ b/lib/reducers/aux-user-reducer.test.js @@ -20,6 +20,7 @@ auxUserInfos: { userID_1: { fid: 'farcasterID_1', + supportsFarcasterDCs: true, }, }, }; @@ -44,9 +45,11 @@ auxUserInfos: { userID_1: { fid: 'farcasterID_1', + supportsFarcasterDCs: true, }, userID_2: { fid: 'farcasterID_2', + supportsFarcasterDCs: false, }, }, }); @@ -69,6 +72,7 @@ userID: 'userID_2', username: 'username_2', farcasterID: 'farcasterID_2', + supportsFarcasterDCs: false, }, ], }, @@ -81,9 +85,11 @@ auxUserInfos: { userID_1: { fid: null, + supportsFarcasterDCs: false, }, userID_2: { fid: 'farcasterID_2', + supportsFarcasterDCs: false, }, }, }); @@ -94,6 +100,7 @@ auxUserInfos: { userID_1: { fid: 'farcasterID_1', + supportsFarcasterDCs: true, }, }, }; @@ -151,11 +158,13 @@ auxUserInfos: { userID_1: { fid: 'farcasterID_1', + supportsFarcasterDCs: true, deviceList: deviceList1, devicesPlatformDetails: devicesPlatformDetails1, }, userID_2: { fid: null, + supportsFarcasterDCs: false, deviceList: deviceList2, devicesPlatformDetails: devicesPlatformDetails2, }, diff --git a/lib/types/aux-user-types.js b/lib/types/aux-user-types.js --- a/lib/types/aux-user-types.js +++ b/lib/types/aux-user-types.js @@ -15,11 +15,17 @@ export type AuxUserInfo = { +fid: ?string, + +supportsFarcasterDCs?: boolean, +deviceList?: RawDeviceList, +devicesPlatformDetails?: { +[deviceID: string]: IdentityPlatformDetails }, +accountMissingStatus?: AccountMissingFromIdentityStatus, }; +export type LocalFarcasterUser = { + ...FarcasterUser, + +supportsFarcasterDCs?: boolean, +}; + export type AuxUserInfos = { +[userID: string]: AuxUserInfo }; export type AuxUserStore = { @@ -27,11 +33,11 @@ }; export type SetAuxUserFIDsPayload = { - +farcasterUsers: $ReadOnlyArray, + +farcasterUsers: $ReadOnlyArray, }; export type AddAuxUserFIDsPayload = { - +farcasterUsers: $ReadOnlyArray, + +farcasterUsers: $ReadOnlyArray, }; export type RemovePeerUsersPayload = {