Skip to content

Commit 567554a

Browse files
authored
Merge pull request #2725 from daostack/dev
Sprint 39
2 parents 98aab31 + c4a2fb7 commit 567554a

File tree

45 files changed

+1422
-971
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1422
-971
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@
175175
"identity-obj-proxy": "^3.0.0",
176176
"jest": "^27.5.1",
177177
"jest-extended": "^2.0.0",
178+
"jest-fetch-mock": "^3.0.3",
178179
"lint-staged": ">=10",
179180
"prettier": "^2.1.1",
180181
"prop-types": "^15.8.1",

src/pages/OldCommon/components/CommonDetailContainer/MembersComponent/CommonMemberComponent.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,13 @@ const CommonMember: FC<CommonMemberProps> = ({
122122
</div>
123123
</div>
124124
</div>
125-
<div className="members__section__common-member-date">
126-
{joinedAt
127-
.toDate()
128-
.toLocaleDateString("en-US", { month: "short", day: "numeric" })}
129-
</div>
125+
{joinedAt && joinedAt.toDate && (
126+
<div className="members__section__common-member-date">
127+
{joinedAt
128+
?.toDate()
129+
.toLocaleDateString("en-US", { month: "short", day: "numeric" })}
130+
</div>
131+
)}
130132
<MemberDropdown
131133
notMemberCircles={notMemberCircles}
132134
memberName={memberName}

src/pages/OldCommon/components/CommonDetailContainer/MembersComponent/MembersComponent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const MembersComponent: FC<MembersComponentProps> = ({ common }) => {
3939
() =>
4040
[...commonMembers].sort(
4141
(commonMember, prevCommonMember) =>
42-
prevCommonMember.joinedAt.seconds - commonMember.joinedAt.seconds,
42+
prevCommonMember.joinedAt?.seconds - commonMember.joinedAt?.seconds,
4343
),
4444
[commonMembers],
4545
);

src/pages/OldCommon/hooks/useCommonMember.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ export const useCommonMember = (options: Options = {}): Return => {
141141
loading: false,
142142
fetched: true,
143143
data: {
144+
commonId,
144145
...commonMember,
145146
...generateCirclesDataForCommonMember(
146147
governance.circles,
@@ -189,7 +190,7 @@ export const useCommonMember = (options: Options = {}): Return => {
189190
}
190191
}
191192
},
192-
[state, userId],
193+
[state, userId, commonId],
193194
);
194195

195196
const setCommonMember = useCallback(

src/pages/OldCommon/hooks/useCommonMembers.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { useCallback, useRef, useState } from "react";
22
import { useDispatch, useSelector } from "react-redux";
3+
import { trace } from "firebase/performance";
34
import { CommonService, Logger, UserService } from "@/services";
45
import { store } from "@/shared/appConfig";
56
import { LoadingState } from "@/shared/interfaces";
@@ -10,6 +11,7 @@ import {
1011
selectUserStates,
1112
} from "@/store/states";
1213
import { useDeepCompareEffect } from "react-use";
14+
import { perf } from "@/shared/utils/firebase";
1315

1416
interface Options {
1517
commonId?: string;
@@ -111,6 +113,9 @@ export const useCommonMembers = ({ commonId }: Options): Return => {
111113

112114
(async () => {
113115
try {
116+
const useCommonMembersTrace = trace(perf, 'useCommonMembers');
117+
useCommonMembersTrace.start();
118+
114119
const cachedUserStates = selectUserStates()(store.getState());
115120
const hasUsersFromCache = commonMembers.some(
116121
({ userId }) => cachedUserStates[userId]?.data,
@@ -136,7 +141,7 @@ export const useCommonMembers = ({ commonId }: Options): Return => {
136141

137142
const user = cachedUserStates[commonMember.userId]?.data;
138143

139-
return user ? [...acc, { ...commonMember, user }] : acc;
144+
return user ? [...acc, { ...commonMember, user, commonId }] : acc;
140145
}, []);
141146

142147
return {
@@ -173,7 +178,7 @@ export const useCommonMembers = ({ commonId }: Options): Return => {
173178
({ uid }) => uid === commonMember.userId,
174179
);
175180

176-
return user ? [...acc, { ...commonMember, user }] : acc;
181+
return user ? [...acc, { ...commonMember, user, commonId }] : acc;
177182
}, []);
178183

179184
return {
@@ -183,6 +188,7 @@ export const useCommonMembers = ({ commonId }: Options): Return => {
183188
};
184189
});
185190
dispatch(cacheActions.updateUserStates(fetchedUsers));
191+
useCommonMembersTrace.stop();
186192
} catch (err) {
187193
Logger.error(err);
188194
setState((prevState) => ({
@@ -192,7 +198,7 @@ export const useCommonMembers = ({ commonId }: Options): Return => {
192198
}));
193199
}
194200
})();
195-
}, [commonMembersState.data]);
201+
}, [commonMembersState.data, commonId]);
196202

197203
return {
198204
...state,

src/pages/common/components/ChatComponent/ChatComponent.tsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,15 @@ export default function ChatComponent({
206206
chatChannelId: chatChannel?.id || "",
207207
participants: chatChannel?.participants,
208208
});
209-
const users = chatChannel ? chatUsers : discussionUsers;
210-
const discussionMessages = chatChannel
211-
? chatMessagesData.data
212-
: discussionMessagesData.data || [];
209+
const users = useMemo(
210+
() => (chatChannel ? chatUsers : discussionUsers),
211+
[chatUsers, discussionUsers, chatChannel],
212+
);
213+
const discussionMessages = useMemo(
214+
() =>
215+
chatChannel ? chatMessagesData.data : discussionMessagesData.data || [],
216+
[chatChannel, chatMessagesData.data, discussionMessagesData.data],
217+
);
213218
const isFetchedDiscussionMessages =
214219
discussionMessagesData.fetched || chatMessagesData.fetched;
215220
const areInitialMessagesLoading = isChatChannel

src/pages/common/components/CommonTabPanels/components/MembersTab/components/Members/Members.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const MembersComponent: FC<MembersComponentProps> = (props) => {
3030
() =>
3131
[...commonMembers].sort(
3232
(commonMember, prevCommonMember) =>
33-
prevCommonMember.joinedAt.seconds - commonMember.joinedAt.seconds,
33+
prevCommonMember.joinedAt?.seconds - commonMember.joinedAt?.seconds,
3434
),
3535
[commonMembers],
3636
);

0 commit comments

Comments
 (0)