From 13d55601ce7626e1f2cd9471f9f04335d40a62e8 Mon Sep 17 00:00:00 2001 From: Aliaksandr Kezik Date: Wed, 14 Feb 2024 12:43:10 +0100 Subject: [PATCH 1/2] fix(chat): fix automigration icons (Issue #265) --- .../utils/app/data/storages/api-storage.ts | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/apps/chat/src/utils/app/data/storages/api-storage.ts b/apps/chat/src/utils/app/data/storages/api-storage.ts index eb7fd5e419..d071941605 100644 --- a/apps/chat/src/utils/app/data/storages/api-storage.ts +++ b/apps/chat/src/utils/app/data/storages/api-storage.ts @@ -7,12 +7,14 @@ import { throwError, } from 'rxjs'; +import { regenerateConversationId } from '@/src/utils/app/conversation'; import { ApiEntityStorage } from '@/src/utils/app/data/storages/api/api-entity-storage'; import { constructPath } from '@/src/utils/app/file'; import { generateNextName } from '@/src/utils/app/folders'; +import { addGeneratedPromptId } from '@/src/utils/app/prompts'; import { Conversation, ConversationInfo } from '@/src/types/chat'; -import { Entity } from '@/src/types/common'; +import { BackendResourceType, Entity } from '@/src/types/common'; import { FolderInterface, FoldersAndEntities } from '@/src/types/folder'; import { Prompt, PromptInfo } from '@/src/types/prompt'; import { DialStorage } from '@/src/types/storage'; @@ -35,12 +37,12 @@ export class ApiStorage implements DialStorage { entity: T, entities: T[], apiStorage: ApiEntityStorage, + entityType: BackendResourceType, ): Observable { let retries = 0; const retry = ( entity: T, - entities: T[], apiStorage: ApiEntityStorage, ): Observable => apiStorage.createEntity(entity).pipe( @@ -49,7 +51,7 @@ export class ApiStorage implements DialStorage { retries++; const defaultName = - 'messages' in entity + entityType === BackendResourceType.CONVERSATION ? DEFAULT_CONVERSATION_NAME : DEFAULT_PROMPT_NAME; const newName = generateNextName( @@ -59,18 +61,22 @@ export class ApiStorage implements DialStorage { ); const updatedEntity = { ...entity, - id: constructPath(entity.folderId, newName), name: newName, }; - return retry(updatedEntity, entities, apiStorage); + const updatedEntityWithRegeneratedId = + entityType === BackendResourceType.CONVERSATION + ? regenerateConversationId(updatedEntity as Conversation) + : addGeneratedPromptId(updatedEntity as Prompt); + + return retry(updatedEntityWithRegeneratedId as T, apiStorage); } return throwError(() => err); }), ); - return retry(entity, entities, apiStorage); + return retry(entity, apiStorage); } getConversationsFolders(path?: string): Observable { @@ -127,6 +133,7 @@ export class ApiStorage implements DialStorage { conv, [...conversations, ...apiConversations], this._conversationApiStorage, + BackendResourceType.CONVERSATION, ), ), ), @@ -169,6 +176,7 @@ export class ApiStorage implements DialStorage { prompt, [...prompts, ...apiPrompts], this._promptApiStorage, + BackendResourceType.PROMPT, ), ), ), From b3ff5e669de4b85b4caca3ca4412ebbb3146fb0b Mon Sep 17 00:00:00 2001 From: Aliaksandr Kezik Date: Wed, 14 Feb 2024 12:44:49 +0100 Subject: [PATCH 2/2] remove import --- apps/chat/src/utils/app/data/storages/api-storage.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/chat/src/utils/app/data/storages/api-storage.ts b/apps/chat/src/utils/app/data/storages/api-storage.ts index d071941605..e4ebe3b876 100644 --- a/apps/chat/src/utils/app/data/storages/api-storage.ts +++ b/apps/chat/src/utils/app/data/storages/api-storage.ts @@ -9,7 +9,6 @@ import { import { regenerateConversationId } from '@/src/utils/app/conversation'; import { ApiEntityStorage } from '@/src/utils/app/data/storages/api/api-entity-storage'; -import { constructPath } from '@/src/utils/app/file'; import { generateNextName } from '@/src/utils/app/folders'; import { addGeneratedPromptId } from '@/src/utils/app/prompts';