Skip to content

Commit

Permalink
feat: pull the message list after sending the message successfully #918
Browse files Browse the repository at this point in the history
… (#1364)

### What problem does this PR solve?

feat: pull the message list after sending the message successfully #918

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
  • Loading branch information
cike8899 committed Jul 4, 2024
1 parent 745e98e commit dec3bf7
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 23 deletions.
14 changes: 11 additions & 3 deletions web/src/hooks/flow-hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,17 @@ export const useFetchFlowList = (): { data: IFlow[]; loading: boolean } => {
return { data, loading };
};

export const useFetchFlow = (): { data: IFlow; loading: boolean } => {
export const useFetchFlow = (): {
data: IFlow;
loading: boolean;
refetch: () => void;
} => {
const { id } = useParams();
const { data, isFetching: loading } = useQuery({
const {
data,
isFetching: loading,
refetch,
} = useQuery({
queryKey: ['flowDetail'],
initialData: {} as IFlow,
queryFn: async () => {
Expand All @@ -92,7 +100,7 @@ export const useFetchFlow = (): { data: IFlow; loading: boolean } => {
},
});

return { data, loading };
return { data, loading, refetch };
};

export const useSetFlow = () => {
Expand Down
10 changes: 6 additions & 4 deletions web/src/pages/flow/canvas/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,12 @@ function FlowCanvas({ chatDrawerVisible, hideChatDrawer }: IProps) {
visible={drawerVisible}
hideModal={hideDrawer}
></FlowDrawer>
<ChatDrawer
visible={chatDrawerVisible}
hideModal={hideChatDrawer}
></ChatDrawer>
{chatDrawerVisible && (
<ChatDrawer
visible={chatDrawerVisible}
hideModal={hideChatDrawer}
></ChatDrawer>
)}
</div>
);
}
Expand Down
2 changes: 1 addition & 1 deletion web/src/pages/flow/chat/drawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const ChatDrawer = ({ visible, hideModal }: IModalProps<any>) => {
onClose={hideModal}
open={visible}
getContainer={false}
width={470}
width={window.innerWidth > 1278 ? '30%' : 470}
mask={false}
// zIndex={10000}
>
Expand Down
28 changes: 13 additions & 15 deletions web/src/pages/flow/chat/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,19 +48,15 @@ export const useSelectCurrentMessages = () => {

const addNewestAnswer = useCallback((answer: IAnswer) => {
setCurrentMessages((pre) => {
const latestMessage = pre?.at(-1);

if (latestMessage) {
return [
...pre.slice(0, -1),
{
...latestMessage,
content: answer.answer,
reference: answer.reference,
},
];
}
return pre;
return [
...pre.slice(0, -1),
{
id: uuid(),
role: MessageType.Assistant,
content: answer.answer,
reference: answer.reference,
},
];
});
}, []);

Expand Down Expand Up @@ -97,7 +93,7 @@ export const useSendMessage = (
) => {
const { id: flowId } = useParams();
const { handleInputChange, value, setValue } = useHandleMessageInputChange();
const { data: flowDetail } = useFetchFlow();
const { data: flowDetail, refetch } = useFetchFlow();
const messages = flowDetail.dsl.messages;

const { send, answer, done } = useSendMessageWithSse(api.runCanvas);
Expand All @@ -118,9 +114,11 @@ export const useSendMessage = (
// cancel loading
setValue(message);
removeLatestMessage();
} else {
refetch(); // pull the message list after sending the message successfully
}
},
[flowId, removeLatestMessage, setValue, send],
[flowId, removeLatestMessage, setValue, send, refetch],
);

const handleSendMessage = useCallback(
Expand Down

0 comments on commit dec3bf7

Please sign in to comment.