From c7cc319629e692f392df9397f213b7e1911efa96 Mon Sep 17 00:00:00 2001 From: Willy Douhard Date: Thu, 13 Jun 2024 15:32:20 +0200 Subject: [PATCH] add IS_SUBMOUNT --- backend/chainlit/server.py | 21 ++++++++++++--------- backend/chainlit/utils.py | 1 + 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/backend/chainlit/server.py b/backend/chainlit/server.py index b4bb04b545..31b3c0864f 100644 --- a/backend/chainlit/server.py +++ b/backend/chainlit/server.py @@ -63,6 +63,7 @@ from watchfiles import awatch ROOT_PATH = os.environ.get("CHAINLIT_ROOT_PATH", "") +IS_SUBMOUNT = os.environ.get("CHAINLIT_SUBMOUNT", "") == "true" @asynccontextmanager @@ -114,7 +115,7 @@ async def watch_files_for_changes(): logger.error(f"Error reloading module: {e}") await asyncio.sleep(1) - await socket.emit("reload", {}) + await sio.emit("reload", {}) break @@ -170,22 +171,24 @@ def get_build_dir(local_target: str, packaged_target: str): app = FastAPI(lifespan=lifespan) -app.add_middleware( - CORSMiddleware, - allow_origins=config.project.allow_origins, - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], +sio = socketio.AsyncServer( + cors_allowed_origins=[] if IS_SUBMOUNT else "*", async_mode="asgi" ) -sio = socketio.AsyncServer(cors_allowed_origins=[], async_mode="asgi") - combined_asgi_app = socketio.ASGIApp( sio, app, socketio_path=f"{ROOT_PATH}/ws/socket.io" if ROOT_PATH else "/ws/socket.io", ) +app.add_middleware( + CORSMiddleware, + allow_origins=config.project.allow_origins, + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + router = APIRouter(prefix=ROOT_PATH) app.mount( diff --git a/backend/chainlit/utils.py b/backend/chainlit/utils.py index 50e9a93b51..46578658ab 100644 --- a/backend/chainlit/utils.py +++ b/backend/chainlit/utils.py @@ -116,6 +116,7 @@ def check_file(target: str): def mount_chainlit(app: FastAPI, target: str, path="/chainlit"): os.environ["CHAINLIT_ROOT_PATH"] = path + os.environ["CHAINLIT_SUBMOUNT"] = "true" from chainlit.config import config, load_module from chainlit.server import combined_asgi_app as chainlit_app