From f40559b180e806033cf9381374680d39badf1e05 Mon Sep 17 00:00:00 2001 From: timothycarambat Date: Thu, 8 May 2025 08:34:37 -0700 Subject: [PATCH] fix null entry on new workspace --- .../ChatPromptHistory/PromptHistoryItem/index.jsx | 5 +++-- .../ChatPromptSettings/ChatPromptHistory/index.jsx | 4 ++-- server/models/promptHistory.js | 14 +++++--------- server/models/workspace.js | 1 + 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/PromptHistoryItem/index.jsx b/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/PromptHistoryItem/index.jsx index 34a5c764..63f969c5 100644 --- a/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/PromptHistoryItem/index.jsx +++ b/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/PromptHistoryItem/index.jsx @@ -1,9 +1,10 @@ import { DotsThreeVertical } from "@phosphor-icons/react"; -import moment from "moment"; import { useRef, useState, useEffect } from "react"; import PromptHistory from "@/models/promptHistory"; -import truncate from "truncate"; import { useTranslation } from "react-i18next"; +import moment from "moment"; +import truncate from "truncate"; + const MAX_PROMPT_LENGTH = 200; // chars export default function PromptHistoryItem({ diff --git a/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/index.jsx b/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/index.jsx index 0c23f70c..bfd21d1c 100644 --- a/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/index.jsx +++ b/frontend/src/pages/WorkspaceSettings/ChatSettings/ChatPromptSettings/ChatPromptHistory/index.jsx @@ -1,10 +1,10 @@ import { useEffect, useState, forwardRef } from "react"; -import PromptHistory from "@/models/promptHistory"; +import { useTranslation } from "react-i18next"; import { X } from "@phosphor-icons/react"; +import PromptHistory from "@/models/promptHistory"; import PromptHistoryItem from "./PromptHistoryItem"; import * as Skeleton from "react-loading-skeleton"; import "react-loading-skeleton/dist/skeleton.css"; -import { useTranslation } from "react-i18next"; export default forwardRef(function ChatPromptHistory( { show, workspaceSlug, onRestore, onClose }, diff --git a/server/models/promptHistory.js b/server/models/promptHistory.js index ca60c8a1..3b8f0b79 100644 --- a/server/models/promptHistory.js +++ b/server/models/promptHistory.js @@ -5,9 +5,9 @@ const PromptHistory = { try { const history = await prisma.prompt_history.create({ data: { - workspaceId, - prompt, - modifiedBy, + workspaceId: Number(workspaceId), + prompt: String(prompt), + modifiedBy: !!modifiedBy ? Number(modifiedBy) : null, }, }); return { history, message: null }; @@ -32,9 +32,7 @@ const PromptHistory = { if (!workspaceId) return []; try { const history = await prisma.prompt_history.findMany({ - where: { - workspaceId, - }, + where: { workspaceId: Number(workspaceId) }, ...(limit !== null ? { take: limit } : {}), ...(orderBy !== null ? { orderBy } @@ -79,9 +77,7 @@ const PromptHistory = { delete: async function (clause = {}) { try { - await prisma.prompt_history.deleteMany({ - where: clause, - }); + await prisma.prompt_history.deleteMany({ where: clause }); return true; } catch (error) { console.error(error.message); diff --git a/server/models/workspace.js b/server/models/workspace.js index 1f21a272..c195b176 100644 --- a/server/models/workspace.js +++ b/server/models/workspace.js @@ -449,6 +449,7 @@ const Workspace = { _trackWorkspacePromptChange: async function (prevData, newData, user = null) { if ( !!newData?.openAiPrompt && // new prompt is set + !!prevData?.openAiPrompt && // previous prompt was not null (default) prevData?.openAiPrompt !== this.defaultPrompt && // previous prompt was not default newData?.openAiPrompt !== prevData?.openAiPrompt // previous and new prompt are not the same )