diff --git a/web/src/app/admin/settings/AnonymousUserPath.tsx b/web/src/app/admin/settings/AnonymousUserPath.tsx index 37b8e7fe3..b430b94d4 100644 --- a/web/src/app/admin/settings/AnonymousUserPath.tsx +++ b/web/src/app/admin/settings/AnonymousUserPath.tsx @@ -1,21 +1,21 @@ "use client"; import useSWR from "swr"; -import { useState } from "react"; +import { useContext, useState } from "react"; import { PopupSpec } from "@/components/admin/connectors/Popup"; import { Button } from "@/components/ui/button"; -import { NEXT_PUBLIC_WEB_DOMAIN } from "@/lib/constants"; import { ClipboardIcon } from "@/components/icons/icons"; import { Input } from "@/components/ui/input"; import { ThreeDotsLoader } from "@/components/Loading"; +import { SettingsContext } from "@/components/settings/SettingsProvider"; export function AnonymousUserPath({ setPopup, }: { setPopup: (popup: PopupSpec) => void; }) { - const fetcher = (url: string) => fetch(url).then((res) => res.json()); + const settings = useContext(SettingsContext); const [customPath, setCustomPath] = useState(null); const { @@ -116,7 +116,7 @@ export function AnonymousUserPath({
- {NEXT_PUBLIC_WEB_DOMAIN}/anonymous/ + {settings?.webDomain}/anonymous/ { navigator.clipboard.writeText( - `${NEXT_PUBLIC_WEB_DOMAIN}/anonymous/${anonymousUserPath}` + `${settings?.webDomain}/anonymous/${anonymousUserPath}` ); setPopup({ message: "Invite link copied!", diff --git a/web/src/app/admin/settings/interfaces.ts b/web/src/app/admin/settings/interfaces.ts index b29ecbd04..f624f12fe 100644 --- a/web/src/app/admin/settings/interfaces.ts +++ b/web/src/app/admin/settings/interfaces.ts @@ -62,4 +62,5 @@ export interface CombinedSettings { customAnalyticsScript: string | null; isMobile?: boolean; webVersion: string | null; + webDomain: string | null; } diff --git a/web/src/app/chat/nrf/NRFPage.tsx b/web/src/app/chat/nrf/NRFPage.tsx index c2433f56a..e7bf4e062 100644 --- a/web/src/app/chat/nrf/NRFPage.tsx +++ b/web/src/app/chat/nrf/NRFPage.tsx @@ -1,5 +1,5 @@ "use client"; -import React, { useState, useEffect, useRef } from "react"; +import React, { useState, useEffect, useRef, useContext } from "react"; import { useUser } from "@/components/user/UserProvider"; import { usePopup } from "@/components/admin/connectors/Popup"; import { @@ -31,11 +31,12 @@ import { useNRFPreferences } from "@/components/context/NRFPreferencesContext"; import { SettingsPanel } from "../../components/nrf/SettingsPanel"; import { ShortcutsDisplay } from "../../components/nrf/ShortcutsDisplay"; import LoginPage from "../../auth/login/LoginPage"; -import { AuthType, NEXT_PUBLIC_WEB_DOMAIN } from "@/lib/constants"; +import { AuthType } from "@/lib/constants"; import { sendSetDefaultNewTabMessage } from "@/lib/extension/utils"; import { ReadonlyRequestCookies } from "next/dist/server/web/spec-extension/adapters/request-cookies"; import { CHROME_MESSAGE } from "@/lib/extension/constants"; import { ApiKeyModal } from "@/components/llm/ApiKeyModal"; +import { SettingsContext } from "@/components/settings/SettingsProvider"; export default function NRFPage({ requestCookies, @@ -56,6 +57,7 @@ export default function NRFPage({ const { isNight } = useNightTime(); const { user } = useUser(); const { ccPairs, documentSets, tags, llmProviders } = useChatContext(); + const settings = useContext(SettingsContext); const { popup, setPopup } = usePopup(); @@ -196,7 +198,7 @@ export default function NRFPage({ } const newHref = - `${NEXT_PUBLIC_WEB_DOMAIN}/chat?send-on-load=true&user-prompt=` + + `${settings?.webDomain}/chat?send-on-load=true&user-prompt=` + encodeURIComponent(userMessage) + filterString; diff --git a/web/src/components/settings/lib.ts b/web/src/components/settings/lib.ts index 0dc771f82..d7407778e 100644 --- a/web/src/components/settings/lib.ts +++ b/web/src/components/settings/lib.ts @@ -6,6 +6,7 @@ import { } from "@/app/admin/settings/interfaces"; import { CUSTOM_ANALYTICS_ENABLED, + HOST_URL, SERVER_SIDE_ONLY__PAID_ENTERPRISE_FEATURES_ENABLED, } from "@/lib/constants"; import { fetchSS } from "@/lib/utilsSS"; @@ -99,6 +100,7 @@ export async function fetchSettingsSS(): Promise { enterpriseSettings, customAnalyticsScript, webVersion, + webDomain: HOST_URL, }; return combinedSettings; diff --git a/web/src/lib/chat/fetchChatData.ts b/web/src/lib/chat/fetchChatData.ts index d094d1db5..9ce566175 100644 --- a/web/src/lib/chat/fetchChatData.ts +++ b/web/src/lib/chat/fetchChatData.ts @@ -175,7 +175,14 @@ export async function fetchChatData(searchParams: { ); const sidebarToggled = requestCookies.get(SIDEBAR_TOGGLED_COOKIE_NAME); - const toggleSidebar = sidebarToggled + // IF user is an anoymous user, we don't want to show the sidebar (they have no access to chat history) + const toggleSidebar = + !user?.is_anonymous_user && + (sidebarToggled + ? sidebarToggled.value.toLocaleLowerCase() == "true" || false + : NEXT_PUBLIC_DEFAULT_SIDEBAR_OPEN); + + sidebarToggled ? sidebarToggled.value.toLocaleLowerCase() == "true" || false : NEXT_PUBLIC_DEFAULT_SIDEBAR_OPEN; diff --git a/web/src/lib/constants.ts b/web/src/lib/constants.ts index d9b3f60b9..f14df3ac5 100644 --- a/web/src/lib/constants.ts +++ b/web/src/lib/constants.ts @@ -89,6 +89,3 @@ export const NEXT_PUBLIC_DELETE_ALL_CHATS_ENABLED = export const NEXT_PUBLIC_ENABLE_CHROME_EXTENSION = process.env.NEXT_PUBLIC_ENABLE_CHROME_EXTENSION?.toLowerCase() === "true"; - -export const NEXT_PUBLIC_WEB_DOMAIN = - process.env.NEXT_PUBLIC_WEB_DOMAIN || "http://127.0.0.1:3000"; diff --git a/web/src/lib/userSS.ts b/web/src/lib/userSS.ts index 1cffb27fd..67363b608 100644 --- a/web/src/lib/userSS.ts +++ b/web/src/lib/userSS.ts @@ -112,6 +112,7 @@ export const getAuthUrlSS = async ( nextUrl: string | null ): Promise => { // Returns the auth url for the given auth type + switch (authType) { case "disabled": return "";