From 292c78b193bf876e65ab76dc17e3b395e1a704f9 Mon Sep 17 00:00:00 2001 From: Weves Date: Sun, 3 Dec 2023 03:20:58 -0800 Subject: [PATCH] Always pull latest data when visiting main search page --- web/src/app/admin/personas/[personaId]/page.tsx | 5 +---- web/src/app/page.tsx | 6 ++++++ web/src/components/Modal.tsx | 9 ++++++++- web/src/components/WelcomeModal.tsx | 7 +------ 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/web/src/app/admin/personas/[personaId]/page.tsx b/web/src/app/admin/personas/[personaId]/page.tsx index bd6301a28..bb8ffed08 100644 --- a/web/src/app/admin/personas/[personaId]/page.tsx +++ b/web/src/app/admin/personas/[personaId]/page.tsx @@ -1,13 +1,10 @@ import { ErrorCallout } from "@/components/ErrorCallout"; import { fetchSS } from "@/lib/utilsSS"; -import { FaRobot } from "react-icons/fa"; import { Persona } from "../interfaces"; import { PersonaEditor } from "../PersonaEditor"; import { DocumentSet } from "@/lib/types"; -import { RobotIcon } from "@/components/icons/icons"; import { BackButton } from "@/components/BackButton"; -import { Card, Title, Text, Divider, Button } from "@tremor/react"; -import { FiTrash } from "react-icons/fi"; +import { Card, Title } from "@tremor/react"; import { DeletePersonaButton } from "./DeletePersonaButton"; export default async function Page({ diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index 43a26b914..0f0ced427 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -10,8 +10,14 @@ import { cookies } from "next/headers"; import { SearchType } from "@/lib/search/interfaces"; import { Persona } from "./admin/personas/interfaces"; import { WelcomeModal } from "@/components/WelcomeModal"; +import { unstable_noStore as noStore } from "next/cache"; export default async function Home() { + // Disable caching so we always get the up to date connector / document set / persona info + // importantly, this prevents users from adding a connector, going back to the main page, + // and then getting hit with a "No Connectors" popup + noStore(); + const tasks = [ getAuthDisabledSS(), getCurrentUserSS(), diff --git a/web/src/components/Modal.tsx b/web/src/components/Modal.tsx index 16fa070dc..6847a6d37 100644 --- a/web/src/components/Modal.tsx +++ b/web/src/components/Modal.tsx @@ -2,9 +2,15 @@ interface ModalProps { children: JSX.Element | string; title?: JSX.Element | string; onOutsideClick?: () => void; + className?: string; } -export function Modal({ children, title, onOutsideClick }: ModalProps) { +export function Modal({ + children, + title, + onOutsideClick, + className, +}: ModalProps) { return (
event.stopPropagation()} > diff --git a/web/src/components/WelcomeModal.tsx b/web/src/components/WelcomeModal.tsx index 366182831..9814332c4 100644 --- a/web/src/components/WelcomeModal.tsx +++ b/web/src/components/WelcomeModal.tsx @@ -7,13 +7,8 @@ import { useState } from "react"; import { FiX } from "react-icons/fi"; export function WelcomeModal() { - const [isClosed, setIsClosed] = useState(false); - if (isClosed) { - return null; - } - return ( - +

Welcome to Danswer 🎉