diff --git a/.env.production b/.env.production
index 51b07589..2f24a002 100644
--- a/.env.production
+++ b/.env.production
@@ -1,9 +1,9 @@
# Production Environment Configuration
# Frontend URL (production server)
-VITE_FRONTEND_BASE_URL=https://optical-dev.oliver.solution/semblance
+VITE_FRONTEND_BASE_URL=https://optical-dev.oliver.solutions/semblance
# Backend API URL (production server)
-VITE_API_BASE_URL=https://optical-dev.oliver.solution/semblance_back/api
+VITE_API_BASE_URL=https://optical-dev.oliver.solutions/semblance_back/api
# WebSocket path (production server)
VITE_WEBSOCKET_PATH=/semblance_back/socket.io/
@@ -11,8 +11,8 @@ VITE_WEBSOCKET_PATH=/semblance_back/socket.io/
# MSAL Authentication (production server)
VITE_MSAL_TENANT_ID=e519c2e6-bc6d-4fdf-8d9c-923c2f002385
VITE_MSAL_CLIENT_ID=7e9b250a-d984-4fba-8e1c-a0622242a595
-VITE_MSAL_REDIRECT_URI=https://optical-dev.oliver.solution/semblance/
-VITE_MSAL_POST_LOGOUT_REDIRECT_URI=https://optical-dev.oliver.solution/semblance/
+VITE_MSAL_REDIRECT_URI=https://optical-dev.oliver.solutions/semblance/
+VITE_MSAL_POST_LOGOUT_REDIRECT_URI=https://optical-dev.oliver.solutions/semblance/
# Local login (username/password) - disable for production
VITE_ENABLE_LOCAL_LOGIN=false
\ No newline at end of file
diff --git a/CLAUDE.md b/CLAUDE.md
index 494e6662..8f09a1f6 100755
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -110,9 +110,9 @@ The application automatically adapts based on environment variables:
**Production Mode:**
- Base path: `/semblance/`
-- API base: `https://optical-dev.oliver.solution/semblance_back/api`
+- API base: `https://optical-dev.oliver.solutions/semblance_back/api`
- WebSocket path: `/semblance_back/socket.io/`
-- MSAL redirect: `https://optical-dev.oliver.solution/semblance`
+- MSAL redirect: `https://optical-dev.oliver.solutions/semblance`
### Setup Instructions
1. **For local development**: Copy `.env.development` to `.env`
diff --git a/README.md b/README.md
index fc6a352a..881c395c 100755
--- a/README.md
+++ b/README.md
@@ -186,9 +186,9 @@ The `llm_service.py` module provides a unified interface across multiple AI prov
| Setting | Development | Production |
|---|---|---|
| **Base Path** | `/` | `/semblance/` |
-| **API Base URL** | `/api` (proxied to `:5137`) | `https://optical-dev.oliver.solution/semblance_back/api` |
+| **API Base URL** | `/api` (proxied to `:5137`) | `https://optical-dev.oliver.solutions/semblance_back/api` |
| **WebSocket Path** | `/socket.io/` | `/semblance_back/socket.io/` |
-| **MSAL Redirect** | `http://localhost:5173/` | `https://optical-dev.oliver.solution/semblance` |
+| **MSAL Redirect** | `http://localhost:5173/` | `https://optical-dev.oliver.solutions/semblance` |
| **Local Login** | Enabled | Disabled |
Environment files:
diff --git a/backend/app/__init__.py b/backend/app/__init__.py
index e9a11f13..5ac804a4 100755
--- a/backend/app/__init__.py
+++ b/backend/app/__init__.py
@@ -94,7 +94,7 @@ def create_app():
# Initialize extensions — restrict CORS to known origins
_allowed_origins = os.environ.get(
'CORS_ALLOWED_ORIGINS',
- 'https://optical-dev.oliver.solution'
+ 'https://optical-dev.oliver.solutions'
)
_origins = [o.strip() for o in _allowed_origins.split(',')]
app = cors(app, allow_origin=_origins, allow_methods=["GET", "POST", "PUT", "DELETE", "OPTIONS"])
diff --git a/backend/scripts/generate_architecture_doc.py b/backend/scripts/generate_architecture_doc.py
index a02fec16..eccc32c7 100644
--- a/backend/scripts/generate_architecture_doc.py
+++ b/backend/scripts/generate_architecture_doc.py
@@ -624,7 +624,7 @@ DIAGRAMS = {
"deployment_architecture": """graph TB
User["User Browser"]
- subgraph Production["Production Server (optical-dev.oliver.solution)"]
+ subgraph Production["Production Server (optical-dev.oliver.solutions)"]
Nginx["Nginx
Reverse Proxy"]
subgraph Static["Static Assets"]
@@ -1232,7 +1232,7 @@ def build_chapter_2(rendered):
e.append(h2("Deployment Topology", "ch2_deploy"))
e.append(p(
- "In production, the application is deployed at optical-dev.oliver.solution behind an "
+ "In production, the application is deployed at optical-dev.oliver.solutions behind an "
"Nginx reverse proxy that routes requests to either the static frontend assets or the backend "
"application server."
))
@@ -1248,11 +1248,11 @@ def build_chapter_2(rendered):
["Setting", "Development", "Production"],
[
["Base Path", "/", "/semblance/"],
- ["API Base URL", "/api", "https://optical-dev.oliver.solution/semblance_back/api"],
+ ["API Base URL", "/api", "https://optical-dev.oliver.solutions/semblance_back/api"],
["WebSocket Path", "/socket.io/", "/semblance_back/socket.io/"],
["Frontend Port", "5173 (Vite dev server)", "Static assets via Nginx"],
["Backend Port", "5137 (Hypercorn)", "5137 (proxied via Nginx)"],
- ["MSAL Redirect", "http://localhost:5173/", "https://optical-dev.oliver.solution/semblance"],
+ ["MSAL Redirect", "http://localhost:5173/", "https://optical-dev.oliver.solutions/semblance"],
],
col_widths=[110, (CONTENT_WIDTH - 118) / 2, (CONTENT_WIDTH - 118) / 2],
))
diff --git a/deploy.sh b/deploy.sh
index 0ebc3ee0..76f58cb4 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -71,5 +71,5 @@ docker compose ps
echo ""
echo "======================================"
echo "Deployment complete!"
-echo " https://optical-dev.oliver.solution/semblance/"
+echo " https://optical-dev.oliver.solutions/semblance/"
echo "======================================"
diff --git a/src/services/websocketService.ts b/src/services/websocketService.ts
index 06c85b38..eb40dcea 100755
--- a/src/services/websocketService.ts
+++ b/src/services/websocketService.ts
@@ -175,7 +175,7 @@ export function getWebSocketUrl(): string {
const urlParams = new URLSearchParams(window.location.search);
if (urlParams.get('direct') === '1') {
console.log('🔧 USING DIRECT WEBSOCKET CONNECTION (bypassing Apache)');
- return 'https://optical-dev.oliver.solution:5137';
+ return 'https://optical-dev.oliver.solutions:5137';
}
// For production with Apache proxy, use the current origin