FIX: l99-fullscreen nav loads ALL pages in iframe including WEVIA Chat

This commit is contained in:
WEVIA-Bot
2026-04-06 04:43:29 +02:00
parent 32e6cdfc15
commit 537f5ec475
7 changed files with 35 additions and 42 deletions

View File

@@ -1 +1 @@
{"timestamp":"2026-04-06 02:42:17","scan_ms":8975,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"7 models"}],"docker":[{"name":"authentik-db","status":"Up 33 hours"},{"name":"authentik-redis","status":"Up 33 hours"},{"name":"authentik-server","status":"Up 7 hours (healthy)"},{"name":"authentik-worker","status":"Up 7 hours (healthy)"},{"name":"chatwoot-redis","status":"Up 30 hours"},{"name":"langfuse","status":"Up 39 hours"},{"name":"loki","status":"Up 29 hours"},{"name":"mattermost","status":"Up 4 days (healthy)"},{"name":"n8n","status":"Up 4 days"},{"name":"node-exporter","status":"Up 2 days"},{"name":"plausible-db","status":"Up 3 days"},{"name":"plausible-events","status":"Up 3 days"},{"name":"plausible","status":"Up 29 hours"},{"name":"prometheus","status":"Up 32 hours"},{"name":"qdrant","status":"Up 4 days"},{"name":"searxng","status":"Up 39 minutes"},{"name":"twenty-redis","status":"Up 4 days"},{"name":"twenty","status":"Up 4 days"},{"name":"uptime-kuma","status":"Up 2 hours (healthy)"},{"name":"vaultwarden","status":"Up 4 days (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 2 days"},{"name":"listmonk","status":"Up 2 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 12 days"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":23}}
{"timestamp":"2026-04-06 02:43:28","scan_ms":8066,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"7 models"}],"docker":[{"name":"authentik-db","status":"Up 33 hours"},{"name":"authentik-redis","status":"Up 33 hours"},{"name":"authentik-server","status":"Up 7 hours (healthy)"},{"name":"authentik-worker","status":"Up 7 hours (healthy)"},{"name":"chatwoot-redis","status":"Up 30 hours"},{"name":"langfuse","status":"Up 39 hours"},{"name":"loki","status":"Up 29 hours"},{"name":"mattermost","status":"Up 4 days (healthy)"},{"name":"n8n","status":"Up 4 days"},{"name":"node-exporter","status":"Up 2 days"},{"name":"plausible-db","status":"Up 3 days"},{"name":"plausible-events","status":"Up 3 days"},{"name":"plausible","status":"Up 29 hours"},{"name":"prometheus","status":"Up 32 hours"},{"name":"qdrant","status":"Up 4 days"},{"name":"searxng","status":"Up 40 minutes"},{"name":"twenty-redis","status":"Up 4 days"},{"name":"twenty","status":"Up 4 days"},{"name":"uptime-kuma","status":"Up 2 hours (healthy)"},{"name":"vaultwarden","status":"Up 4 days (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 2 days"},{"name":"listmonk","status":"Up 2 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 12 days"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":23}}

View File

@@ -1,10 +1,10 @@
{
"ts": "2026-04-06T02:41:45+00:00",
"ts": "2026-04-06T02:43:22+00:00",
"hostname": "LAPTOP-VE75QUHF",
"cpu": "94%",
"ram": "92% (16GB)",
"cpu": "100%",
"ram": "90% (16GB)",
"disk": "?",
"uptime": "5d12h09m",
"uptime": "5d12h11m",
"user": "Yace",
"ip": "41.250.130.125",
"agent_version": "2.0"

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
{"ts": "20260406_044113", "version": "3.2", "score": 100, "pass": 153, "fail": 0, "total": 153, "elapsed": 37.8, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 10, "fail": 0}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": []}
{"ts": "20260406_044231", "version": "3.2", "score": 100, "pass": 153, "fail": 0, "total": 153, "elapsed": 39.1, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 10, "fail": 0}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": []}

File diff suppressed because one or more lines are too long

View File

@@ -7,47 +7,40 @@
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{background:#0f172a;font-family:Inter,system-ui,sans-serif;overflow:hidden}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(15,23,42,0.95);border-bottom:1px solid #1e293b;backdrop-filter:blur(10px)}
.nav .logo{color:#818cf8;font-weight:800;font-size:14px;margin-right:8px}
.nav a{padding:6px 14px;border-radius:6px;font-size:11px;font-weight:600;text-decoration:none;color:#fff;transition:.2s}
.nav a:hover{opacity:0.85;transform:scale(1.03)}
.nav a.l99m{background:#6366f1}
.nav a.l99c{background:#8b5cf6}
.nav a.report{background:#a855f7}
.nav a.monitor{background:#ec4899}
.nav a.cyber{background:#f43f5e}
.nav a.chat{background:linear-gradient(135deg,#22c55e,#10b981)}
.nav a.sov{background:#f59e0b;color:#000}
.nav a.admin{background:#64748b}
.nav .right{margin-left:auto;display:flex;gap:6px;align-items:center}
.nav .status{color:#22c55e;font-size:10px;font-weight:700}
iframe{position:fixed;top:44px;left:0;right:0;bottom:0;width:100%;height:calc(100vh - 44px);border:none}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(15,23,42,0.97);border-bottom:1px solid #1e293b}
.nav .logo{color:#818cf8;font-weight:800;font-size:13px;margin-right:6px}
.nav a{padding:5px 12px;border-radius:6px;font-size:10px;font-weight:600;text-decoration:none;color:#fff;transition:.2s;cursor:pointer}
.nav a:hover{opacity:0.85}
.nav a.active{outline:2px solid #fff}
.l99m{background:#6366f1}.l99c{background:#8b5cf6}.rep{background:#a855f7}
.mon{background:#ec4899}.arch{background:#f43f5e}.adm{background:#64748b}
.chat{background:linear-gradient(135deg,#22c55e,#10b981)}
.sov{background:#f59e0b;color:#000!important}
.right{margin-left:auto;display:flex;gap:6px;align-items:center}
.status{color:#22c55e;font-size:10px;font-weight:700}
iframe{position:fixed;top:40px;left:0;right:0;bottom:0;width:100%;height:calc(100vh - 40px);border:none}
</style>
</head>
<body>
<div class="nav">
<span class="logo">L99</span>
<a href="/l99-saas.html" class="l99m">Mission Control</a>
<a href="/l99.html" class="l99c">L99 Classic</a>
<a href="/realtime-monitor.html" class="monitor">Monitor</a>
<a href="/architecture.html" class="cyber">Architecture</a>
<a href="/admin.html" class="admin">Admin</a>
<a href="/wevia.html" class="chat">WEVIA Chat</a>
<a href="/sovereign-claude.html" class="sov">Sovereign</a>
<div class="right">
<span class="status">ALIVE</span>
</div>
<a class="l99m active" data-src="/l99-saas.html">Mission</a>
<a class="l99c" data-src="/l99.html">Classic</a>
<a class="mon" data-src="/realtime-monitor.html">Monitor</a>
<a class="arch" data-src="/architecture.html">Architecture</a>
<a class="adm" data-src="/admin.html">Admin</a>
<a class="chat" data-src="/wevia.html">WEVIA Chat</a>
<a class="sov" data-src="/sovereign-claude.html">Sovereign</a>
<div class="right"><span class="status">ALIVE</span></div>
</div>
<iframe src="/l99-saas.html" id="main"></iframe>
<script>
// Quick nav: click nav links load in iframe instead of navigating
document.querySelectorAll('.nav a').forEach(a => {
document.querySelectorAll('.nav a[data-src]').forEach(a=>{
a.addEventListener('click',e=>{
if(a.href.includes('wevia.html')) return; // Open chat in new tab
e.preventDefault();
document.getElementById('main').src = a.href;
document.querySelectorAll('.nav a').forEach(b => b.style.outline='none');
a.style.outline='2px solid #fff';
document.getElementById('main').src=a.dataset.src;
document.querySelectorAll('.nav a').forEach(b=>b.classList.remove('active'));
a.classList.add('active');
});
});
</script>