diff --git a/apps/chat-e2e/src/ui/webElements/conversationToCompare.ts b/apps/chat-e2e/src/ui/webElements/conversationToCompare.ts index 0b0af8a14..5ea253fb6 100644 --- a/apps/chat-e2e/src/ui/webElements/conversationToCompare.ts +++ b/apps/chat-e2e/src/ui/webElements/conversationToCompare.ts @@ -55,7 +55,7 @@ export class ConversationToCompare extends BaseElement { public async selectCompareConversation( name: string, - { isHttpMethodTriggered = true }: { isHttpMethodTriggered?: boolean } = {}, + { isHttpMethodTriggered = false }: { isHttpMethodTriggered?: boolean } = {}, ) { if (isHttpMethodTriggered) { const respPromise = this.page.waitForResponse( diff --git a/apps/chat-e2e/src/ui/webElements/entityTree/sidebar/baseSideBarConversationTree.ts b/apps/chat-e2e/src/ui/webElements/entityTree/sidebar/baseSideBarConversationTree.ts index 1c2c81fc2..dfc81c30e 100644 --- a/apps/chat-e2e/src/ui/webElements/entityTree/sidebar/baseSideBarConversationTree.ts +++ b/apps/chat-e2e/src/ui/webElements/entityTree/sidebar/baseSideBarConversationTree.ts @@ -6,7 +6,7 @@ export class BaseSideBarConversationTree extends SideBarEntitiesTree { public async selectConversation( name: string, indexOrOptions?: number | { exactMatch: boolean; index?: number }, - { isHttpMethodTriggered = true }: { isHttpMethodTriggered?: boolean } = {}, + { isHttpMethodTriggered = false }: { isHttpMethodTriggered?: boolean } = {}, ) { const conversationToSelect = this.getTreeEntity(name, indexOrOptions); if (isApiStorageType && isHttpMethodTriggered) { diff --git a/apps/chat/src/store/conversations/conversations.epics.ts b/apps/chat/src/store/conversations/conversations.epics.ts index 568f0da4f..66a1342f8 100644 --- a/apps/chat/src/store/conversations/conversations.epics.ts +++ b/apps/chat/src/store/conversations/conversations.epics.ts @@ -3092,6 +3092,10 @@ const updateLastConversationSettingsEpic: AppEpic = (action$, state$) => })), switchMap(({ lastConversation }) => forkJoin({ + oldTemperature: of((lastConversation as Conversation)?.temperature), + wasAlreadyUploaded: of( + lastConversation?.status === UploadStatus.LOADED, + ), lastConversation: lastConversation && lastConversation.status !== UploadStatus.LOADED && @@ -3108,15 +3112,30 @@ const updateLastConversationSettingsEpic: AppEpic = (action$, state$) => : of(lastConversation as Conversation), }), ), - switchMap(({ lastConversation }) => { - // don't save for temp empty conversation to be able to reset settings by "New conversation" - return lastConversation && !isEntityIdLocal(lastConversation) - ? of( - ConversationsActions.setLastConversationSettings({ - temperature: lastConversation.temperature, - }), - ) - : EMPTY; + switchMap(({ lastConversation, oldTemperature, wasAlreadyUploaded }) => { + if ( + !lastConversation || + // don't save for temp empty conversation to be able to reset settings by "New conversation" + isEntityIdLocal(lastConversation) || + // don't save if already uploaded and nothing changed + (wasAlreadyUploaded && oldTemperature === lastConversation.temperature) + ) { + return EMPTY; + } + + return concat( + of( + ConversationsActions.setLastConversationSettings({ + temperature: lastConversation.temperature, + }), + ), + of( + ConversationsActions.uploadConversationsByIdsSuccess({ + setIds: new Set(lastConversation.id), + conversations: [lastConversation], + }), + ), + ); }), );