From 268cd7d7b51523169815e361b99efb30a35c3a39 Mon Sep 17 00:00:00 2001 From: Keith Stevens Date: Wed, 11 Jan 2023 19:32:52 +0900 Subject: [PATCH 1/4] Forwarding the real task id in backend interactions and ensure the labeling task works --- .../contract/oasst_api_contract_tests.cy.ts | 1 + website/src/components/Tasks/LabelTask.tsx | 3 +-- website/src/lib/oasst_api_client.ts | 15 +++++---------- website/src/pages/api/update_task.ts | 7 ++++--- website/src/pages/tasks/random.tsx | 6 +++--- 5 files changed, 14 insertions(+), 18 deletions(-) diff --git a/website/cypress/contract/oasst_api_contract_tests.cy.ts b/website/cypress/contract/oasst_api_contract_tests.cy.ts index 47d43c34..cf1c7506 100644 --- a/website/cypress/contract/oasst_api_contract_tests.cy.ts +++ b/website/cypress/contract/oasst_api_contract_tests.cy.ts @@ -33,6 +33,7 @@ describe("Contract test for Oasst API", function () { await oasstApiClient.interactTask( "text_reply_to_message", task.id, + "321", "1", { text: "Test" }, { diff --git a/website/src/components/Tasks/LabelTask.tsx b/website/src/components/Tasks/LabelTask.tsx index 04a9c1d3..db7c0641 100644 --- a/website/src/components/Tasks/LabelTask.tsx +++ b/website/src/components/Tasks/LabelTask.tsx @@ -13,9 +13,8 @@ export const LabelTask = ({ taskType, onReplyChanged, }: TaskSurveyProps<{ text: string; labels: { [k: string]: number }; message_id: string }>) => { - const [sliderValues, setSliderValues] = useState([]); - const valid_labels = task.valid_labels; + const [sliderValues, setSliderValues] = useState(new Array(valid_labels.length).fill(0)); useEffect(() => { onReplyChanged({ content: { labels: {}, text: task.reply, message_id: task.message_id }, state: "DEFAULT" }); diff --git a/website/src/lib/oasst_api_client.ts b/website/src/lib/oasst_api_client.ts index 6a5ca58e..670640ad 100644 --- a/website/src/lib/oasst_api_client.ts +++ b/website/src/lib/oasst_api_client.ts @@ -1,10 +1,5 @@ import { JWT } from "next-auth/jwt"; -declare global { - // eslint-disable-next-line no-var - var oasstApiClient: OasstApiClient | undefined; -} - export class OasstError { message: string; errorCode: number; @@ -106,6 +101,7 @@ export class OasstApiClient { // This is a raw Json type, so we can't use it to strongly type the task. async interactTask( updateType: string, + taskId: string, messageId: string, userMessageId: string, content: object, @@ -118,6 +114,7 @@ export class OasstApiClient { display_name: userToken.name || userToken.email, auth_method: "local", }, + task_id: taskId, message_id: messageId, user_message_id: userMessageId, ...content, @@ -131,8 +128,6 @@ export class OasstApiClient { } } -export const oasstApiClient = - globalThis.oasstApiClient || new OasstApiClient(process.env.FASTAPI_URL, process.env.FASTAPI_KEY); -if (process.env.NODE_ENV !== "production") { - globalThis.oasstApiClient = oasstApiClient; -} +const oasstApiClient = new OasstApiClient(process.env.FASTAPI_URL, process.env.FASTAPI_KEY); + +export { oasstApiClient }; diff --git a/website/src/pages/api/update_task.ts b/website/src/pages/api/update_task.ts index 7d166e85..96808820 100644 --- a/website/src/pages/api/update_task.ts +++ b/website/src/pages/api/update_task.ts @@ -20,8 +20,8 @@ const handler = withoutRole("banned", async (req, res, token) => { // Accept the task so that we can complete it, this will probably go away soon. const registeredTask = await prisma.registeredTask.findUniqueOrThrow({ where: { id: frontendId } }); const task = registeredTask.task as Prisma.JsonObject; - const id = task.id as string; - await oasstApiClient.ackTask(id, registeredTask.id); + const taskId = task.id as string; + await oasstApiClient.ackTask(taskId, registeredTask.id); // Log the interaction locally to create our user_post_id needed by the Task // Backend. @@ -38,8 +38,9 @@ const handler = withoutRole("banned", async (req, res, token) => { let newTask; try { - newTask = await oasstApiClient.interactTask(update_type, frontendId, interaction.id, content, token); + newTask = await oasstApiClient.interactTask(update_type, taskId, frontendId, interaction.id, content, token); } catch (err) { + console.error(JSON.stringify(err)); return res.status(500).json(err); } diff --git a/website/src/pages/tasks/random.tsx b/website/src/pages/tasks/random.tsx index e61fe325..1a4f65a2 100644 --- a/website/src/pages/tasks/random.tsx +++ b/website/src/pages/tasks/random.tsx @@ -9,16 +9,16 @@ const RandomTask = () => { const { tasks, isLoading, trigger, reset } = useGenericTaskAPI("random"); useEffect(() => { - if (tasks.length == 0) { + if (tasks.length === 0) { reset(); } - }, [tasks]); + }, [tasks, reset]); if (isLoading) { return ; } - if (tasks.length == 0) { + if (tasks.length === 0) { return No tasks found...; } From 0a5e4d4b2b2b03c05e02ae9f7c2fb01ddf12953b Mon Sep 17 00:00:00 2001 From: Keith Stevens Date: Wed, 11 Jan 2023 19:40:42 +0900 Subject: [PATCH 2/4] Ensure prisma generate happens when building the frontend --- .github/workflows/build-frontend.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-frontend.yaml b/.github/workflows/build-frontend.yaml index ccb64539..33b8fa1c 100644 --- a/.github/workflows/build-frontend.yaml +++ b/.github/workflows/build-frontend.yaml @@ -25,4 +25,5 @@ jobs: cache: "npm" cache-dependency-path: website/package-lock.json - run: npm ci + - run: npx prisma generate - run: npm run build From 7f47ada3bae3d61bc183794aa1974d00888edad8 Mon Sep 17 00:00:00 2001 From: Keith Stevens Date: Wed, 11 Jan 2023 19:43:56 +0900 Subject: [PATCH 3/4] Revert "Ensure prisma generate happens when building the frontend" This reverts commit 0a5e4d4b2b2b03c05e02ae9f7c2fb01ddf12953b. --- .github/workflows/build-frontend.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-frontend.yaml b/.github/workflows/build-frontend.yaml index 33b8fa1c..ccb64539 100644 --- a/.github/workflows/build-frontend.yaml +++ b/.github/workflows/build-frontend.yaml @@ -25,5 +25,4 @@ jobs: cache: "npm" cache-dependency-path: website/package-lock.json - run: npm ci - - run: npx prisma generate - run: npm run build From 14f64594246a2e77d8f060431b42c444d2931adc Mon Sep 17 00:00:00 2001 From: Keith Stevens Date: Wed, 11 Jan 2023 19:54:55 +0900 Subject: [PATCH 4/4] Deleted unused useEffect --- website/src/pages/tasks/random.tsx | 7 ------- 1 file changed, 7 deletions(-) diff --git a/website/src/pages/tasks/random.tsx b/website/src/pages/tasks/random.tsx index 1a4f65a2..330b7b48 100644 --- a/website/src/pages/tasks/random.tsx +++ b/website/src/pages/tasks/random.tsx @@ -1,6 +1,5 @@ import { Container } from "@chakra-ui/react"; import Head from "next/head"; -import { useEffect } from "react"; import { LoadingScreen } from "src/components/Loading/LoadingScreen"; import { Task } from "src/components/Tasks/Task"; import { useGenericTaskAPI } from "src/hooks/tasks/useGenericTaskAPI"; @@ -8,12 +7,6 @@ import { useGenericTaskAPI } from "src/hooks/tasks/useGenericTaskAPI"; const RandomTask = () => { const { tasks, isLoading, trigger, reset } = useGenericTaskAPI("random"); - useEffect(() => { - if (tasks.length === 0) { - reset(); - } - }, [tasks, reset]); - if (isLoading) { return ; }