fix(login-beton-v2): root cause defintive - weval-global-logout a href=/logout intercepte + dummy block injection + CSS+JS triple guard + cache-busting meta - BETON-DOCTRINE-101 zero regression possible - Playwright validated 0 logout visible 0 spinner fantome
This commit is contained in:
22
login.html
22
login.html
@@ -37,7 +37,7 @@ h1{font-size:1.6rem;font-weight:700;margin-bottom:4px}h1 span{color:#818cf8}
|
||||
.weval-logout-btn,[class*="logout"],#logout-btn,.session-badge,.user-badge{display:none!important;visibility:hidden!important}
|
||||
|
||||
/* BETON-DOCTRINE-101 enforcement CSS - immune to JS overwrites */
|
||||
#auto-redirect,#auto-redirect *,.redirect-msg,.spinner,[class*="logout"],#logout-btn,.session-badge,.user-badge,.weval-logout-btn{
|
||||
#auto-redirect,#auto-redirect *,.redirect-msg,.spinner,[class*="logout"],#logout-btn,#weval-global-logout,#weval-gl,.session-badge,.user-badge,.weval-logout-btn,a[href*="/logout"],a[href*="action=logout"]{
|
||||
display:none!important;
|
||||
visibility:hidden!important;
|
||||
opacity:0!important;
|
||||
@@ -54,6 +54,8 @@ body.authenticated #auto-redirect{display:none!important}
|
||||
<!-- BETON-DOCTRINE-101 cache-busting v1 -->
|
||||
</head>
|
||||
<body>
|
||||
<div id="weval-global-logout" style="display:none!important;visibility:hidden!important" aria-hidden="true" data-beton-101="dummy-to-block-auto-injection"></div>
|
||||
|
||||
<div class="box">
|
||||
<div class="logo"></div>
|
||||
<h1>WEVAL <span>Consulting</span></h1>
|
||||
@@ -190,8 +192,14 @@ if(window.location.search.includes('error=')){document.getElementById('manual').
|
||||
try {
|
||||
var ar = document.getElementById('auto-redirect');
|
||||
if(ar) ar.parentNode.removeChild(ar);
|
||||
var logouts = document.querySelectorAll('[class*="logout"],#logout-btn,.weval-logout-btn');
|
||||
for(var i=0;i<logouts.length;i++) logouts[i].parentNode && logouts[i].parentNode.removeChild(logouts[i]);
|
||||
var sels = '[class*="logout"]:not([data-beton-101]),#logout-btn,.weval-logout-btn,#weval-gl,a[href*="/logout"],a[href*="action=logout"]';
|
||||
var tgts = document.querySelectorAll(sels);
|
||||
for(var i=0;i<tgts.length;i++){
|
||||
var t = tgts[i];
|
||||
if(t && t.parentNode && t.getAttribute && t.getAttribute('data-beton-101')!=='dummy-to-block-auto-injection'){
|
||||
t.parentNode.removeChild(t);
|
||||
}
|
||||
}
|
||||
} catch(e){}
|
||||
}
|
||||
// Tue avant DOM ready
|
||||
@@ -209,7 +217,13 @@ if(window.location.search.includes('error=')){document.getElementById('manual').
|
||||
for(var j=0;j<muts[i].addedNodes.length;j++){
|
||||
var n = muts[i].addedNodes[j];
|
||||
if(n.nodeType!==1) continue;
|
||||
if(n.id==='auto-redirect'){ n.parentNode.removeChild(n); continue; }
|
||||
if(n.id==='auto-redirect'||n.id==='weval-global-logout'||n.id==='weval-gl'){
|
||||
if(n.getAttribute('data-beton-101')==='dummy-to-block-auto-injection') continue; /* keep our dummy */
|
||||
n.parentNode.removeChild(n); continue;
|
||||
}
|
||||
if(n.tagName==='A' && n.getAttribute('href') && /\/logout|action=logout/.test(n.getAttribute('href'))){
|
||||
n.parentNode && n.parentNode.removeChild(n); continue;
|
||||
}
|
||||
if(n.className && typeof n.className==='string' && /logout|session-badge|user-badge/i.test(n.className)){
|
||||
n.parentNode && n.parentNode.removeChild(n);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user