Skip to content

Commit 07eddd3

Browse files
committed
memoization and so on
1 parent ab3e075 commit 07eddd3

File tree

2 files changed

+18
-30
lines changed

2 files changed

+18
-30
lines changed

web/src/app/chat/ChatPage.tsx

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,25 +158,16 @@ export function ChatPage({
158158
// Useful for determining which session has been loaded (i.e. still on `new, empty session` or `previous session`)
159159
const loadedIdSessionRef = useRef<number | null>(existingChatSessionId);
160160

161-
// Assistants
162-
const { visibleAssistants, hiddenAssistants: _ } = classifyAssistants(
163-
user,
164-
availableAssistants
165-
);
166-
167-
const [finalAssistants, setFinalAssistants] = useState(visibleAssistants);
168-
169-
useEffect(() => {
170-
const { visibleAssistants: updatedVisibleAssistants } = classifyAssistants(
161+
// Assistants in order
162+
const { finalAssistants } = useMemo(() => {
163+
const { visibleAssistants, hiddenAssistants: _ } = classifyAssistants(
171164
user,
172165
availableAssistants
173166
);
174-
setFinalAssistants(
175-
user
176-
? orderAssistantsForUser(updatedVisibleAssistants, user)
177-
: updatedVisibleAssistants
178-
);
179-
console.log(orderAssistantsForUser(updatedVisibleAssistants, user));
167+
const finalAssistants = user
168+
? orderAssistantsForUser(visibleAssistants, user)
169+
: visibleAssistants;
170+
return { finalAssistants };
180171
}, [user, availableAssistants]);
181172

182173
const existingChatSessionAssistantId = selectedChatSession?.persona_id;

web/src/app/chat/modal/configuration/AssistantsTab.tsx

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,25 +44,22 @@ export function AssistantsTab({
4444
})
4545
);
4646

47-
function handleDragEnd(event: DragEndEvent) {
47+
async function handleDragEnd(event: DragEndEvent) {
4848
const { active, over } = event;
4949

5050
if (over && active.id !== over.id) {
51-
setAssistants((items) => {
52-
const oldIndex = items.findIndex(
53-
(item) => item.id.toString() === active.id
54-
);
55-
const newIndex = items.findIndex(
56-
(item) => item.id.toString() === over.id
57-
);
58-
const updatedAssistants = arrayMove(items, oldIndex, newIndex);
51+
const oldIndex = assistants.findIndex(
52+
(item) => item.id.toString() === active.id
53+
);
54+
const newIndex = assistants.findIndex(
55+
(item) => item.id.toString() === over.id
56+
);
57+
const updatedAssistants = arrayMove(assistants, oldIndex, newIndex);
5958

60-
updateUserAssistantList(updatedAssistants.map((a) => a.id));
61-
62-
return updatedAssistants;
63-
});
59+
setAssistants(updatedAssistants);
60+
await updateUserAssistantList(updatedAssistants.map((a) => a.id));
61+
refreshUser();
6462
}
65-
refreshUser();
6663
}
6764

6865
return (

0 commit comments

Comments
 (0)