Browse Source

Fix issue #4780: [Bug]: Initial query is not cleared after submission (#4781)

OpenHands 1 year ago
parent
commit
83ccb74d36

+ 17 - 0
frontend/__tests__/initial-query.test.tsx

@@ -0,0 +1,17 @@
+import { describe, it, expect } from "vitest";
+import store from "../src/store";
+import { setInitialQuery, clearInitialQuery } from "../src/state/initial-query-slice";
+
+describe("Initial Query Behavior", () => {
+  it("should clear initial query when clearInitialQuery is dispatched", () => {
+    // Set up initial query in the store
+    store.dispatch(setInitialQuery("test query"));
+    expect(store.getState().initalQuery.initialQuery).toBe("test query");
+
+    // Clear the initial query
+    store.dispatch(clearInitialQuery());
+
+    // Verify initial query is cleared
+    expect(store.getState().initalQuery.initialQuery).toBeNull();
+  });
+});

+ 2 - 0
frontend/src/routes/_oh.app.tsx

@@ -36,6 +36,7 @@ import ListIcon from "#/assets/list-type-number.svg?react";
 import { createChatMessage } from "#/services/chatService";
 import {
   clearFiles,
+  clearInitialQuery,
   clearSelectedRepository,
   setImportedProjectZip,
 } from "#/state/initial-query-slice";
@@ -256,6 +257,7 @@ function App() {
     dispatch(clearMessages());
     dispatch(clearTerminal());
     dispatch(clearJupyter());
+    dispatch(clearInitialQuery()); // Clear initial query when navigating to /app
     startSocketConnection();
   });
 

+ 4 - 0
frontend/src/state/initial-query-slice.ts

@@ -30,6 +30,9 @@ export const selectedFilesSlice = createSlice({
     setInitialQuery(state, action: PayloadAction<string>) {
       state.initialQuery = action.payload;
     },
+    clearInitialQuery(state) {
+      state.initialQuery = null;
+    },
     setSelectedRepository(state, action: PayloadAction<string | null>) {
       state.selectedRepository = action.payload;
     },
@@ -47,6 +50,7 @@ export const {
   removeFile,
   clearFiles,
   setInitialQuery,
+  clearInitialQuery,
   setSelectedRepository,
   clearSelectedRepository,
   setImportedProjectZip,