From fa2b6699406d894f938c1cdf195d90bfde6507fa Mon Sep 17 00:00:00 2001
From: Timothy Carambat <rambat1010@gmail.com>
Date: Fri, 9 Jun 2023 12:59:22 -0700
Subject: [PATCH] resolves #14 (#15)

---
 clean.sh                                      |  3 ++-
 frontend/src/components/Modals/Keys.jsx       | 25 ++++++-------------
 frontend/src/components/Modals/Password.jsx   |  4 ++-
 frontend/src/utils/constants.js               |  2 +-
 server/.env.example                           |  2 +-
 server/endpoints/system.js                    | 12 ++++-----
 .../pinecone/PINECONE_SETUP.md                |  2 ++
 7 files changed, 22 insertions(+), 28 deletions(-)

diff --git a/clean.sh b/clean.sh
index e93aba6a2..966cc1773 100644
--- a/clean.sh
+++ b/clean.sh
@@ -1,2 +1,3 @@
 # Easily kill process on port because sometimes nodemon fails to reboot
-kill -9 $(lsof -t -i tcp:5000)
\ No newline at end of file
+kill -9 $(lsof -t -i tcp:5000) &
+kill -9 $(lsof -t -i tcp:3001) # if running default for MacOS Monterey
diff --git a/frontend/src/components/Modals/Keys.jsx b/frontend/src/components/Modals/Keys.jsx
index 2ef844592..cffd40a89 100644
--- a/frontend/src/components/Modals/Keys.jsx
+++ b/frontend/src/components/Modals/Keys.jsx
@@ -1,5 +1,5 @@
 import React, { useState, useEffect } from "react";
-import { X } from "react-feather";
+import { AlertCircle, X } from "react-feather";
 import System from "../../models/system";
 
 const noop = () => false;
@@ -16,8 +16,6 @@ export default function KeysModal({ hideModal = noop }) {
     fetchKeys();
   }, []);
 
-  const allSettingsValid =
-    !!settings && Object.values(settings).every((val) => !!val);
   return (
     <div class="fixed top-0 left-0 right-0 z-50 w-full p-4 overflow-x-hidden overflow-y-auto md:inset-0 h-[calc(100%-1rem)] h-full bg-black bg-opacity-50 flex items-center justify-center">
       <div
@@ -48,20 +46,13 @@ export default function KeysModal({ hideModal = noop }) {
               </div>
             ) : (
               <div className="w-full flex flex-col gap-y-4">
-                {allSettingsValid ? (
-                  <div className="bg-green-300 p-4 rounded-lg border border-green-600 text-green-700 w-full">
-                    <p>All system settings are defined. You are good to go!</p>
-                  </div>
-                ) : (
-                  <div className="bg-red-300 p-4 rounded-lg border border-red-600 text-red-700 w-full text-sm">
-                    <p>
-                      ENV setttings are missing - this software will not
-                      function fully.
-                      <br />
-                      After updating restart the server.
-                    </p>
-                  </div>
-                )}
+                <div className="bg-orange-300 p-4 rounded-lg border border-orange-600 text-orange-700 w-full items-center flex gap-x-2">
+                  <AlertCircle className="h-8 w-8" />
+                  <p>
+                    Ensure all fields are green before attempting to use
+                    AnythingLLM or it may not function as expected!
+                  </p>
+                </div>
                 <ShowKey
                   name="OpenAI API Key"
                   value={settings?.OpenAiKey ? "*".repeat(20) : ""}
diff --git a/frontend/src/components/Modals/Password.jsx b/frontend/src/components/Modals/Password.jsx
index 67f554f84..1a0fb1966 100644
--- a/frontend/src/components/Modals/Password.jsx
+++ b/frontend/src/components/Modals/Password.jsx
@@ -88,7 +88,9 @@ export function usePasswordModal() {
       if (import.meta.env.DEV) {
         setRequiresAuth(false);
       } else {
-        const currentToken = window.localStorage.getItem("anythingllm_authtoken");
+        const currentToken = window.localStorage.getItem(
+          "anythingllm_authtoken"
+        );
         const settings = await System.keys();
         const requiresAuth = settings?.RequiresAuth || false;
 
diff --git a/frontend/src/utils/constants.js b/frontend/src/utils/constants.js
index 0a15df4ad..af209d884 100644
--- a/frontend/src/utils/constants.js
+++ b/frontend/src/utils/constants.js
@@ -1,2 +1,2 @@
 export const API_BASE =
-  import.meta.env.VITE_API_BASE || "http://localhost:5000";
+  import.meta.env.VITE_API_BASE || "http://localhost:3001";
diff --git a/server/.env.example b/server/.env.example
index 3934fd6a2..3a7bf9c0b 100644
--- a/server/.env.example
+++ b/server/.env.example
@@ -1,4 +1,4 @@
-SERVER_PORT=5000
+SERVER_PORT=3001
 OPEN_AI_KEY=
 OPEN_MODEL_PREF='gpt-3.5-turbo'
 CACHE_VECTORS="true"
diff --git a/server/endpoints/system.js b/server/endpoints/system.js
index 1d225d0bf..350afcf9d 100644
--- a/server/endpoints/system.js
+++ b/server/endpoints/system.js
@@ -48,13 +48,11 @@ function systemEndpoints(app) {
     try {
       const { password } = reqBody(request);
       if (password !== process.env.AUTH_TOKEN) {
-        response
-          .status(402)
-          .json({
-            valid: false,
-            token: null,
-            message: "Invalid password provided",
-          });
+        response.status(402).json({
+          valid: false,
+          token: null,
+          message: "Invalid password provided",
+        });
         return;
       }
 
diff --git a/server/utils/vectorDbProviders/pinecone/PINECONE_SETUP.md b/server/utils/vectorDbProviders/pinecone/PINECONE_SETUP.md
index 38b641017..86033f086 100644
--- a/server/utils/vectorDbProviders/pinecone/PINECONE_SETUP.md
+++ b/server/utils/vectorDbProviders/pinecone/PINECONE_SETUP.md
@@ -5,9 +5,11 @@
 ### How to get started
 
 **Requirements**
+
 - Pinecone account (free or paid)
 
 **Instructions**
+
 - Create an index on your Pinecone account. Name can be anything eg: `my-primary-index`
 - Metric `cosine`
 - Dimensions `1536` since we use OpenAI for embeddings
-- 
GitLab