if(!points.length)$("#performance-sparkline-labels").innerHTML='<span class="axis-label" style="left:0;width:100%;top:45%;text-align:center">No request data for this window yet.</span>';
// --- Performance: themed error-breakdown popup, replacing the old hover tooltip ------------
functionshowErrorBreakdown(host,total,breakdown){letdialog=document.querySelector("#error-breakdown-dialog");if(!dialog){dialog=document.createElement("dialog");dialog.id="error-breakdown-dialog";document.body.append(dialog);}constrows=breakdown.map(item=>`<div class="error-breakdown-row"><span>${escapeHtml(item.status)}</span><span>${item.count.toLocaleString()}</span></div>`).join("");dialog.innerHTML=`<form method="dialog" class="dialog-card compact"><div class="dialog-heading"><div><p class="eyebrow">Performance · Last 24h</p><h2>${escapeHtml(host)}</h2></div><button value="cancel" formnovalidate class="icon-button" aria-label="Close">×</button></div><p class="muted">${total.toLocaleString()} error response${total===1?"":"s"} in the last 24 hours, by status code.</p><div class="error-breakdown-list">${rows}</div><div class="dialog-actions"><button value="cancel" class="button secondary">Close</button></div></form>`;dialog.showModal();}
<divid="update-banner"class="update-banner hidden"role="status"><span>A new version of Site Gateway is available.</span><divclass="update-banner-actions"><buttonid="update-banner-refresh"class="button primary">Refresh</button><buttonid="update-banner-dismiss"class="text-button">Dismiss</button></div></div>
<!-- App scripts: core (app.js) then extended views/admin (features.js) -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.