Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ import { useSetSelectedModel } from '@open-webui-react-native/mobile/shared/feat
import { View, AppFlashList } from '@open-webui-react-native/mobile/shared/ui/ui-kit';
import { ChatScreenParams } from '@open-webui-react-native/mobile/shared/utils/navigation';
import {
Chat,
chatApi,
History as ChatHistory,
Message,
patchChatQueryData,
prepareCompleteChatPayload,
} from '@open-webui-react-native/shared/data-access/api';
import { Role } from '@open-webui-react-native/shared/data-access/common';
Expand Down Expand Up @@ -131,6 +133,18 @@ export default function ChatMessagesList({
const handleContinueResponsePress = (messageId: string): void => {
if (!modelId) return;

patchChatQueryData(chatId, {
chat: {
history: {
messages: {
[messageId]: {
done: false,
},
},
},
} as Chat,
});

const completePayload = prepareCompleteChatPayload({
chatId,
messages,
Expand All @@ -146,7 +160,11 @@ export default function ChatMessagesList({
const message = history?.messages[item.id];
if (!message) return null;

const isLast = item.id === history?.lastAssistantMessage?.id;
const lastAssistantMessageInUIList = [...messages]
.reverse()
.find((m) => history?.messages[m.id]?.role === Role.ASSISTANT);

const isLast = item.id === lastAssistantMessageInUIList?.id;

return item.role === Role.ASSISTANT ? (
<AiMessageActions
Expand Down
1 change: 1 addition & 0 deletions libs/shared/data-access/api/src/lib/chats/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ function useGet(

return result;
},
staleTime: 5000, //NOTE Needs to avoid simultaneous requests for the same chat
...options,
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export function patchChatMessagesWithCompletion(
const { chat } = oldData;
const { messages, history } = chat;

const lastMessage = messages[messages.length - 1];
const lastMessage = history.messages[history.currentId];
if (lastMessage.role !== Role.ASSISTANT) return oldData;

const updatedLastMessage: Message = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ export const patchChatQueryData = (chatId: string, partialData: Partial<ChatResp
return undefined;
}

return merge({}, draft, partialData);
return new ChatResponse(merge(draft, partialData));
});
};
Loading