Skip to content

Commit 01c2a7d

Browse files
authored
cleanup (#1612)
1 parent d60ed90 commit 01c2a7d

27 files changed

+134
-148
lines changed

features/authentication/interceptor.headers.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ export const headersInterceptor = async (config: AxiosRequestConfig) => {
3232
url.includes(route)
3333
);
3434

35-
const headers = needsAuthenticationHeaders
35+
const isJwtSetupOnBackend = /** not prioritized for March launch */ false;
36+
37+
const shouldUseJwtHeaders = isJwtSetupOnBackend && needsAuthenticationHeaders;
38+
39+
const headers = shouldUseJwtHeaders
3640
? await getConvosAuthenticationHeaders()
3741
: await getConvosAuthenticatedHeaders();
3842

features/conversation-list/conversation-list-awaiting-requests.tsx

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { useCurrentAccount } from "@/features/multi-inbox/multi-inbox.store";
1+
import {
2+
useCurrentAccount,
3+
useSafeCurrentSender,
4+
} from "@/features/multi-inbox/multi-inbox.store";
25
import { Center } from "@/design-system/Center";
36
import { AnimatedHStack, HStack } from "@/design-system/HStack";
47
import { AnimatedVStack } from "@/design-system/VStack";
@@ -10,7 +13,6 @@ import {
1013
} from "@/features/conversation-list/conversation-list-item/conversation-list-item";
1114
import { useConversationRequestsListItem } from "@/features/conversation-requests-list/use-conversation-requests-list-items";
1215
import { conversationIsUnreadForInboxId } from "@/features/conversation/utils/conversation-is-unread-by-current-account";
13-
import { useCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
1416
import { getConversationMetadataQueryOptions } from "@/queries/conversation-metadata-query";
1517
import { useAppTheme } from "@/theme/useAppTheme";
1618
import { useNavigation } from "@react-navigation/native";
@@ -24,7 +26,7 @@ export const ConversationListAwaitingRequests = memo(
2426
const navigation = useNavigation();
2527
const { likelyNotSpam, isLoading: isLoadingUknownConversations } =
2628
useConversationRequestsListItem();
27-
const { data: currentAccountInboxId } = useCurrentAccountInboxId();
29+
const currentAccountInboxId = useSafeCurrentSender().inboxId;
2830

2931
const conversationsMetadataQueries = useQueries({
3032
queries: (likelyNotSpam ?? []).map((conversation) =>

features/conversation-list/conversation-list.screen-header.tsx

+16-16
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { Avatar } from "@/components/Avatar";
22
import {
3-
useAccountsList,
43
useAccountsStore,
5-
useCurrentAccount,
4+
useActiveSenderProfile,
5+
useCurrentProfiles,
6+
useSafeCurrentSender,
67
} from "@/features/multi-inbox/multi-inbox.store";
78
import { Center } from "@/design-system/Center";
89
import { HStack } from "@/design-system/HStack";
@@ -11,15 +12,11 @@ import { Icon, iconRegistry } from "@/design-system/Icon/Icon";
1112
import { Pressable } from "@/design-system/Pressable";
1213
import { Text } from "@/design-system/Text";
1314
import { DropdownMenu } from "@/design-system/dropdown-menu/dropdown-menu";
14-
import { useSafeCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
1515
import { usePreferredInboxAvatar } from "@/hooks/usePreferredInboxAvatar";
16-
import { useInboxName } from "@/hooks/useInboxName";
1716
import { translate } from "@/i18n";
1817
import { useHeader } from "@/navigation/use-header";
1918
import { ThemedStyle, useAppTheme } from "@/theme/useAppTheme";
2019
import { converseEventEmitter } from "@/utils/events";
21-
import { shortDisplayName } from "@/utils/str";
22-
import { useAccountsProfiles } from "@/utils/useAccountsProfiles";
2320
import { useNavigation } from "@react-navigation/native";
2421
import React, { useCallback } from "react";
2522
import { Alert, ViewStyle } from "react-native";
@@ -68,10 +65,10 @@ function HeaderRightActions() {
6865
function HeaderTitle() {
6966
const { theme, themed } = useAppTheme();
7067
const navigation = useNavigation();
71-
const currentAccount = useCurrentAccount();
72-
const preferredName = useInboxName(currentAccount!);
73-
const accountsProfilesNames = useAccountsProfiles();
74-
const accounts = useAccountsList();
68+
const currentAccountInboxId = useSafeCurrentSender().inboxId;
69+
const { data: currentProfile } = useActiveSenderProfile();
70+
const { currentProfiles } = useCurrentProfiles();
71+
7572
const setCurrentAccount = useAccountsStore((s) => s.setCurrentAccount);
7673

7774
const onDropdownPress = useCallback(
@@ -99,10 +96,13 @@ function HeaderTitle() {
9996
style={themed($dropDownMenu)}
10097
onPress={onDropdownPress}
10198
actions={[
102-
...accountsProfilesNames.map((profilePreferedName, index) => ({
103-
id: accounts[index],
104-
title: shortDisplayName(profilePreferedName),
105-
image: currentAccount === accounts[index] ? "checkmark" : "",
99+
...currentProfiles?.map((profile) => ({
100+
id: profile.id,
101+
title: profile.name,
102+
image:
103+
currentAccountInboxId === profile.deviceIdentity.xmtpId
104+
? "checkmark"
105+
: "",
106106
})),
107107
{
108108
displayInline: true,
@@ -119,7 +119,7 @@ function HeaderTitle() {
119119
]}
120120
>
121121
<HStack style={themed($rowContainer)}>
122-
<Text>{shortDisplayName(preferredName)}</Text>
122+
<Text>{currentProfile?.name}</Text>
123123
<Center style={themed($iconContainer)}>
124124
<Icon
125125
color={theme.colors.text.secondary}
@@ -136,7 +136,7 @@ function HeaderTitle() {
136136
function ProfileAvatar() {
137137
const { theme, themed } = useAppTheme();
138138
const navigation = useNavigation();
139-
const currentAccountInboxId = useSafeCurrentAccountInboxId();
139+
const currentAccountInboxId = useSafeCurrentSender().inboxId;
140140
const { data: preferredName } = useInboxName({
141141
inboxId: currentAccountInboxId,
142142
});

features/conversation-list/hooks/use-conversation-is-unread.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { conversationIsUnreadForInboxId } from "@/features/conversation/utils/conversation-is-unread-by-current-account";
2-
import { useCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
32
import { getConversationMetadataQueryOptions } from "@/queries/conversation-metadata-query";
43
import { getConversationQueryOptions } from "@/queries/conversation-query";
5-
import { useCurrentAccount } from "@/features/multi-inbox/multi-inbox.store";
4+
import {
5+
useCurrentAccount,
6+
useSafeCurrentSender,
7+
} from "@/features/multi-inbox/multi-inbox.store";
68
import { useQuery } from "@tanstack/react-query";
79
import { ConversationTopic } from "@xmtp/react-native-sdk";
810
import { useMemo } from "react";
@@ -15,7 +17,7 @@ export const useConversationIsUnread = ({
1517
topic,
1618
}: UseConversationIsUnreadArgs) => {
1719
const currentAccount = useCurrentAccount();
18-
const { data: currentUserInboxId } = useCurrentAccountInboxId();
20+
const currentUserInboxId = useSafeCurrentSender().inboxId;
1921

2022
const {
2123
data: conversationMetadata,

features/conversation-list/hooks/use-toggle-read-status.ts

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { getCurrentAccount } from "@/features/multi-inbox/multi-inbox.store";
1+
import { getSafeCurrentSender } from "@/features/multi-inbox/multi-inbox.store";
22
import { useMarkConversationAsRead } from "@/features/conversation/hooks/use-mark-conversation-as-read";
33
import { useMarkConversationAsUnread } from "@/features/conversation/hooks/use-mark-conversation-as-unread";
44
import { conversationIsUnreadForInboxId } from "@/features/conversation/utils/conversation-is-unread-by-current-account";
5-
import { getCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
65
import { getConversationMetadataQueryData } from "@/queries/conversation-metadata-query";
76
import { getConversationQueryData } from "@/queries/conversation-query";
87
import { ConversationTopic } from "@xmtp/react-native-sdk";
@@ -21,22 +20,22 @@ export const useToggleReadStatus = ({ topic }: UseToggleReadStatusProps) => {
2120
});
2221

2322
const toggleReadStatusAsync = useCallback(async () => {
24-
const currentAccount = getCurrentAccount()!;
25-
const currentAccountInboxId = getCurrentAccountInboxId();
23+
const { ethereumAddress: currentEthereumAddress, inboxId: currentInboxId } =
24+
getSafeCurrentSender();
2625
const conversationData = getConversationMetadataQueryData({
27-
account: currentAccount,
26+
account: currentEthereumAddress,
2827
topic,
2928
});
3029
const conversation = getConversationQueryData({
31-
account: currentAccount,
30+
account: currentEthereumAddress,
3231
topic,
3332
});
3433

3534
const conversationIsUnread = conversationIsUnreadForInboxId({
3635
lastMessageSent: conversation?.lastMessage?.sentNs ?? null,
3736
lastMessageSenderInboxId:
3837
conversation?.lastMessage?.senderInboxId ?? null,
39-
consumerInboxId: currentAccountInboxId!,
38+
consumerInboxId: currentInboxId,
4039
readUntil: conversationData?.readUntil ?? 0,
4140
markedAsUnread: conversationData?.markedAsUnread ?? false,
4241
});

features/conversation/conversation-create/components/conversation-create-search-results-list.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { Loader } from "@/design-system/loader";
55
import { useSearchConvosUsers } from "@/features/conversation/conversation-create/hooks/use-search-convos-users";
66
import { inboxIdIsPartOfConversationUsingCacheData } from "@/features/conversation/utils/inbox-id-is-part-of-converastion";
77
import { useConversationStoreContext } from "@/features/conversation/conversation.store-context";
8-
import { useSafeCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
98
import { $globalStyles } from "@/theme/styles";
109
import { useAppTheme } from "@/theme/useAppTheme";
1110
import { ConversationTopic, InboxId } from "@xmtp/react-native-sdk";
@@ -24,7 +23,7 @@ import { useSearchExistingGroupsByGroupName } from "../queries/search-existing-g
2423
import { ConversationSearchResultsListItemGroup } from "./conversation-create-search-results-list-item-group";
2524
import { ConversationSearchResultsListItemUser } from "./conversation-create-search-results-list-item-user";
2625
import { ConversationSearchResultsListItemDm } from "./conversation-create-search-results-list-item-user-dm";
27-
26+
import { useSafeCurrentSender } from "@/features/multi-inbox/multi-inbox.store";
2827
// Because we want a mix of DMs, groups, and profiles
2928
const MAX_INITIAL_RESULTS = 3;
3029

@@ -75,7 +74,7 @@ export function ConversationSearchResultsList() {
7574
(state) => state.searchSelectedUserInboxIds
7675
);
7776

78-
const currentUserInboxId = useSafeCurrentAccountInboxId();
77+
const currentUserInboxId = useSafeCurrentSender().inboxId;
7978

8079
const { data: searchConvosUsersData, isLoading: isSearchingConvosUsers } =
8180
useSearchConvosUsers({

features/conversation/conversation-create/hooks/use-create-conversation-and-send-first-message.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { getCurrentAccount } from "@/features/multi-inbox/multi-inbox.store";
2-
import { getCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
32
import {
43
allowedConsentConversationsQueryKey,
54
conversationMessagesQueryKey,
@@ -157,7 +156,7 @@ export function useCreateConversationAndSendFirstMessage() {
157156
return { conversation, messageId };
158157
},
159158
// onMutate: ({ inboxIds, content }) => {
160-
// const currentAccountInboxId = getCurrentAccountInboxId()!;
159+
// const currentAccountInboxId = getSafeCurrentSender().inboxId;
161160
// const currentAccount = getCurrentAccount()!;
162161

163162
// logger.debug(

features/conversation/conversation-message/conversation-message-context-menu/conversation-message-context-menu-above-message-reactions.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { AnimatedVStack, VStack } from "@/design-system/VStack";
55
import { StaggeredAnimation } from "@/design-system/staggered-animation";
66
import { useConversationMessageById } from "../use-conversation-message";
77
import { messageIsFromCurrentAccountInboxId } from "@/features/conversation/utils/message-is-from-current-user";
8-
import { useCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
98
import { getReactionContent } from "@/utils/xmtpRN/reactions";
109
import { Text } from "@design-system/Text";
1110
import { useAppTheme } from "@theme/useAppTheme";
@@ -19,6 +18,7 @@ import {
1918
import React, { memo, useCallback, useMemo } from "react";
2019
import { EntryAnimationsValues, withSpring } from "react-native-reanimated";
2120
import { MESSAGE_CONTEXT_MENU_ABOVE_MESSAGE_REACTIONS_HEIGHT } from "./conversation-message-context-menu.constants";
21+
import { useSafeCurrentSender } from "@/features/multi-inbox/multi-inbox.store";
2222

2323
export const MessageContextMenuAboveMessageReactions = memo(
2424
function MessageContextMenuAboveMessageReactions({
@@ -42,7 +42,7 @@ export const MessageContextMenuAboveMessageReactions = memo(
4242
}) {
4343
const { theme } = useAppTheme();
4444

45-
const { data: currentUserInboxId } = useCurrentAccountInboxId();
45+
const currentUserInboxId = useSafeCurrentSender().inboxId;
4646

4747
const { message } = useConversationMessageById({
4848
messageId,

features/conversation/conversation-message/conversation-message-reactions/use-conversation-message-reactions-rolled-up.tsx

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
import { useConversationMessageReactions } from "@/features/conversation/conversation-message/conversation-message.utils";
2-
import { isCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
32
import { getInboxProfileSocialsQueryConfig } from "@/queries/useInboxProfileSocialsQuery";
43
import { useQueries } from "@tanstack/react-query";
5-
import {
6-
getPreferredInboxAddress,
7-
getPreferredInboxAvatar,
8-
getPreferredInboxName,
9-
} from "@utils/profile";
4+
105
import { useMemo } from "react";
116
import {
127
RolledUpReactions,
138
SortedReaction,
149
} from "./conversation-message-reactions.types";
1510
import { MessageId } from "@xmtp/react-native-sdk";
11+
import { isCurrentSender } from "@/features/multi-inbox/multi-inbox.store";
1612

1713
export function useConversationMessageReactionsRolledUp(args: {
1814
messageId: MessageId;
@@ -63,7 +59,9 @@ export function useConversationMessageReactionsRolledUp(args: {
6359
const previewCounts = new Map<string, number>();
6460

6561
flatReactions.forEach((reaction) => {
66-
const isOwnReaction = isCurrentAccountInboxId(reaction.senderInboxId);
62+
const isOwnReaction = isCurrentSender({
63+
inboxId: reaction.senderInboxId,
64+
});
6765

6866
if (isOwnReaction) {
6967
userReacted = true;

features/conversation/conversation-message/conversation-message.utils.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { getCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
21
import {
32
getConversationMessagesQueryData,
43
useConversationMessagesQuery,
@@ -8,6 +7,7 @@ import { CoinbaseMessagingPaymentCodec } from "@/utils/xmtpRN/xmtp-content-types
87
import { getMessageContentType } from "@/utils/xmtpRN/xmtp-content-types/xmtp-content-types";
98
import {
109
getCurrentAccount,
10+
getSafeCurrentSender,
1111
useCurrentAccount,
1212
} from "@/features/multi-inbox/multi-inbox.store";
1313
import { TransactionReferenceCodec } from "@xmtp/content-type-transaction-reference";
@@ -202,7 +202,7 @@ export function getCurrentUserAlreadyReactedOnMessage(args: {
202202
emoji: string | undefined; // Specific emoji or just reacted in general
203203
}) {
204204
const { messageId, topic, emoji } = args;
205-
const currentUserInboxId = getCurrentAccountInboxId();
205+
const currentUserInboxId = getSafeCurrentSender().inboxId;
206206
const currentAccount = getCurrentAccount()!;
207207
const messages = getConversationMessagesQueryData({
208208
account: currentAccount,

features/conversation/conversation-messages.tsx

+3-5
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import { useRemoveReactionOnMessage } from "@/features/conversation/hooks/use-re
3131
import { isConversationAllowed } from "@/features/conversation/utils/is-conversation-allowed";
3232
import { isConversationDm } from "@/features/conversation/utils/is-conversation-dm";
3333
import { messageIsFromCurrentAccountInboxId } from "@/features/conversation/utils/message-is-from-current-user";
34-
import { useSafeCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
3534
import { useScreenFocusEffectOnce } from "@/hooks/use-screen-focus-effect-once";
3635
import { useAppStateHandlers } from "@/hooks/useAppStateHandlers";
3736
import { useConversationMessagesQuery } from "@/queries/conversation-messages-query";
@@ -41,7 +40,7 @@ import {
4140
ConversationWithCodecsType,
4241
DecodedMessageWithCodecsType,
4342
} from "@/utils/xmtpRN/xmtp-client/xmtp-client.types";
44-
import { useCurrentAccount } from "@/features/multi-inbox/multi-inbox.store";
43+
import { useSafeCurrentSender } from "@/features/multi-inbox/multi-inbox.store";
4544
import { MessageId } from "@xmtp/react-native-sdk";
4645
import React, { memo, useCallback, useEffect, useMemo, useRef } from "react";
4746
import {
@@ -63,10 +62,9 @@ export const ConversationMessages = memo(function ConversationMessages(props: {
6362
}) {
6463
const { conversation } = props;
6564

66-
const { theme } = useAppTheme();
65+
const { ethereumAddress: currentAccount, inboxId: currentAccountInboxId } =
66+
useSafeCurrentSender();
6767

68-
const currentAccount = useCurrentAccount()!;
69-
const currentAccountInboxId = useSafeCurrentAccountInboxId();
7068
const topic = useCurrentConversationTopic()!;
7169

7270
const refreshingRef = useRef(false);

features/conversation/conversation.store-context.tsx

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { findConversationByInboxIds } from "@/features/conversation/utils/find-conversations-by-inbox-ids";
2-
import { getCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
32
import { captureError } from "@/utils/capture-error";
43
import { ConversationTopic, InboxId, MessageId } from "@xmtp/react-native-sdk";
54
import { createContext, memo, useContext, useEffect, useRef } from "react";
65
import { createStore, useStore } from "zustand";
76
import { subscribeWithSelector } from "zustand/middleware";
7+
import { getSafeCurrentSender } from "../multi-inbox/multi-inbox.store";
88

99
type IConversationStoreProps = {
1010
topic?: ConversationTopic | null;
@@ -41,11 +41,7 @@ export const ConversationStoreProvider = memo(
4141
return;
4242
}
4343

44-
const currentUserInboxId = getCurrentAccountInboxId();
45-
46-
if (!currentUserInboxId) {
47-
throw new Error("No current user inbox id found");
48-
}
44+
const { inboxId: currentUserInboxId } = getSafeCurrentSender();
4945

5046
const conversation = await findConversationByInboxIds({
5147
inboxIds: [

features/conversation/hooks/use-react-on-message.ts

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
import { getCurrentAccount } from "@/features/multi-inbox/multi-inbox.store";
1+
import {
2+
getCurrentAccount,
3+
getSafeCurrentSender,
4+
} from "@/features/multi-inbox/multi-inbox.store";
25
import { getConversationForCurrentAccount } from "@/features/conversation/utils/get-conversation-for-current-account";
3-
import { getCurrentAccountInboxId } from "@/hooks/use-current-account-inbox-id";
46
import {
57
addConversationMessageQuery,
68
refetchConversationMessages,
@@ -34,14 +36,16 @@ export function useReactOnMessage(props: { topic: ConversationTopic }) {
3436
});
3537
},
3638
onMutate: (variables) => {
37-
const currentAccount = getCurrentAccount()!;
38-
const currentUserInboxId = getCurrentAccountInboxId()!;
39+
const {
40+
ethereumAddress: currentEthereumAddress,
41+
inboxId: currentInboxId,
42+
} = getSafeCurrentSender();
3943
const conversation = getConversationForCurrentAccount(topic);
4044

4145
if (conversation) {
4246
// Add the reaction to the message
4347
addConversationMessageQuery({
44-
account: currentAccount,
48+
account: currentEthereumAddress,
4549
topic: conversation.topic,
4650
message: {
4751
id: getRandomId() as MessageId,
@@ -50,7 +54,7 @@ export function useReactOnMessage(props: { topic: ConversationTopic }) {
5054
fallback: variables.reaction.content,
5155
deliveryStatus: MessageDeliveryStatus.PUBLISHED,
5256
topic: conversation.topic,
53-
senderInboxId: currentUserInboxId,
57+
senderInboxId: currentInboxId,
5458
nativeContent: {},
5559
content: () => {
5660
return variables.reaction;

0 commit comments

Comments
 (0)