Fix Transcript UI (#51136)

This commit is contained in:
Naman Kumar 2023-04-26 17:49:39 +05:30 committed by GitHub
parent 929659f94b
commit 955c25e37e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 4 deletions

View File

@ -29,6 +29,7 @@ export interface ClientInit {
export interface Client {
readonly transcript: Transcript
readonly isMessageInProgress: boolean
submitMessage: (text: string) => Promise<void>
executeRecipe: (
recipeId: string,
@ -129,7 +130,12 @@ export async function createClient({
}
return {
transcript,
get transcript() {
return transcript
},
get isMessageInProgress() {
return isMessageInProgress
},
submitMessage(text: string) {
return executeRecipe('chat-question', { humanChatInput: text })
},

View File

@ -81,8 +81,7 @@ export const Transcript: React.FunctionComponent<
<div ref={transcriptContainerRef} className={classNames(className, styles.container)}>
{transcript.map(
(message, index) =>
message?.displayText &&
(!messageInProgress || index !== transcript.length - 1) && (
message?.displayText && (
<TranscriptItem
// eslint-disable-next-line react/no-array-index-key
key={index}

View File

@ -150,7 +150,17 @@ export const useChatStoreState = create<CodyChatStore>((set, get): CodyChatStore
}
const setTranscript = async (transcript: Transcript): Promise<void> => {
set({ transcript: transcript.toChat() })
const { client } = get()
if (!client || isErrorLike(client)) {
return
}
const messages = transcript.toChat()
if (client.isMessageInProgress) {
messages.pop()
}
set({ transcript: messages })
if (transcript.isEmpty) {
return