From 9d7e4f0ca308db5d7895f223e7ba00b9b5d7418e Mon Sep 17 00:00:00 2001 From: Daniel Bedeleanu Date: Mon, 13 Apr 2026 22:15:57 +0300 Subject: [PATCH] Build [v1.9.11] (The Convergence: Manual Login & Runtime Discovery) --- frontend/VERSION.json | 2 +- frontend/app/login/page.tsx | 90 ++++++++++++++++++++++++++----------- frontend/entrypoint.sh | 11 +++++ 3 files changed, 75 insertions(+), 28 deletions(-) diff --git a/frontend/VERSION.json b/frontend/VERSION.json index a03c3eca..b2e4784a 100644 --- a/frontend/VERSION.json +++ b/frontend/VERSION.json @@ -1 +1 @@ -{"version": "1.9.9", "last_build": "2026-04-13-2157", "codename": "DirectAccess", "commit": "a2f6cab4"} +{"version": "1.9.10", "last_build": "2026-04-13-2207", "codename": "AccessRecovery", "commit": "bdf6d605"} diff --git a/frontend/app/login/page.tsx b/frontend/app/login/page.tsx index 48e290d5..999dbb44 100644 --- a/frontend/app/login/page.tsx +++ b/frontend/app/login/page.tsx @@ -88,37 +88,56 @@ export default function LoginPage() {

Identity Check

-

Select operator profile or use enterprise login

+

Select operator profile or use direct login

{!selectedUserForLogin && !isEnterprise ? ( <> - {users.map(user => ( - - ))} -
+ {users.length > 0 ? ( + <> + {users.map(user => ( + + ))} + + ) : ( +
+ Connectivity issues? Use manual login below. +
+ )} + +
+
@@ -180,10 +199,26 @@ export default function LoginPage() {

Logging in as

-

{selectedUserForLogin.username}

+

{selectedUserForLogin.username || "Manual Input"}

+ {!selectedUserForLogin.username && ( +
+ +
+ + setSelectedUserForLogin({...selectedUserForLogin, username: e.target.value})} + className="w-full bg-slate-800/50 border border-slate-800 focus:border-primary rounded-2xl py-4 pl-12 pr-4 text-white focus:outline-none transition-all placeholder:text-slate-700 font-mono" + placeholder="Admin" + /> +
+
+ )} +
@@ -209,9 +244,10 @@ export default function LoginPage() { )}
- {users.length === 0 && ( -
- Initializing users... + {/* Progress bar hint */} + {users.length === 0 && !selectedUserForLogin && !isEnterprise && ( +
+
)}
diff --git a/frontend/entrypoint.sh b/frontend/entrypoint.sh index 241d6335..0fba3e45 100644 --- a/frontend/entrypoint.sh +++ b/frontend/entrypoint.sh @@ -14,6 +14,17 @@ if [ -d "/app/logs" ]; then chown -R nextjs:nodejs /app/logs fi +# Generate network.json for frontend runtime discovery +echo "🐳 [Docker] Generating public/network.json..." +cat < /app/public/network.json +{ + "SERVER_IP": "${SERVER_IP:-localhost}", + "BACKEND_PORT": ${BACKEND_PORT:-8000}, + "BACKEND_SSL_PORT": ${BACKEND_SSL_PORT:-8908} +} +EOF +chown nextjs:nodejs /app/public/network.json + # Hand off to the application server as the nextjs user echo "🐳 [Docker] Starting Next.js standalone server as nextjs user..." exec su-exec nextjs node server.js