mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-08-01 16:58:06 +00:00
chore(web): CI cleanup — declare debugLog global, fix entity-unescape order, drop v3 from UI branding
- Add debugLog to the /* global */ headers of the six JS files that call it (defined in base.html's first inline script) — resolves the wall of "'debugLog' is not defined" ESLint errors failing the Codacy check. - Fix the two js/double-escaping CodeQL alerts in app-shell.js: the entity-unescape chains decoded & before </>, so a value containing a pre-escaped "&lt;" wrongly double-decoded to "<". & now decodes last (standard order). Pre-existing bug, made visible when the inline scripts moved into scannable .js files. - Page title / header drop the "- v3" suffix, matching the de-versioned user-facing URL. The remaining 7 CodeQL alerts are pre-existing patterns newly visible to scanning (CodeQL doesn't see inline template JS): 4 github.com/htmx.org URL-substring checks (the htmx ones match error-message text, not URLs — false positives in context) and 1 innerHTML XSS-through-DOM in the GitHub install flow. Triage/fix deferred to a focused follow-up rather than expanding this PR. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KEZK1P1Q1fu5pcuVrkrCFZ
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
42abf5dadf
commit
49a99c1c75
@@ -1,4 +1,4 @@
|
|||||||
/* global showNotification, updateSystemStats, updateDisplayPreview, htmx */
|
/* global showNotification, updateSystemStats, updateDisplayPreview, htmx, debugLog */
|
||||||
// LED Matrix v3 JavaScript
|
// LED Matrix v3 JavaScript
|
||||||
// Additional helpers for HTMX and Alpine.js integration
|
// Additional helpers for HTMX and Alpine.js integration
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/* global debugLog */
|
||||||
// Early helpers and the app() stub (must run before Alpine init)
|
// Early helpers and the app() stub (must run before Alpine init)
|
||||||
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
||||||
// Helper function to get installed plugins with fallback
|
// Helper function to get installed plugins with fallback
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/* global debugLog */
|
||||||
// SSE wiring + full Alpine app() implementation and tab logic
|
// SSE wiring + full Alpine app() implementation and tab logic
|
||||||
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
||||||
// Assign to window so reconnectSSE() in app.js can reach them.
|
// Assign to window so reconnectSSE() in app.js can reach them.
|
||||||
@@ -1480,9 +1481,9 @@
|
|||||||
unescapedValue = value
|
unescapedValue = value
|
||||||
.replace(/"/g, '"')
|
.replace(/"/g, '"')
|
||||||
.replace(/'/g, "'")
|
.replace(/'/g, "'")
|
||||||
.replace(/&/g, '&')
|
|
||||||
.replace(/</g, '<')
|
.replace(/</g, '<')
|
||||||
.replace(/>/g, '>');
|
.replace(/>/g, '>')
|
||||||
|
.replace(/&/g, '&');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try to parse as JSON
|
// Try to parse as JSON
|
||||||
@@ -2253,9 +2254,9 @@
|
|||||||
unescapedValue = value
|
unescapedValue = value
|
||||||
.replace(/"/g, '"')
|
.replace(/"/g, '"')
|
||||||
.replace(/'/g, "'")
|
.replace(/'/g, "'")
|
||||||
.replace(/&/g, '&')
|
|
||||||
.replace(/</g, '<')
|
.replace(/</g, '<')
|
||||||
.replace(/>/g, '>');
|
.replace(/>/g, '>')
|
||||||
|
.replace(/&/g, '&');
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/* global debugLog */
|
||||||
// Custom feeds table helper functions
|
// Custom feeds table helper functions
|
||||||
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
||||||
function addCustomFeedRow(fieldId, fullKey, maxItems, pluginId) {
|
function addCustomFeedRow(fieldId, fullKey, maxItems, pluginId) {
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/* global debugLog */
|
||||||
// HTMX swap/script-execution configuration and section toggle helpers
|
// HTMX swap/script-execution configuration and section toggle helpers
|
||||||
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
// Extracted from templates/v3/base.html so browsers cache it as a static asset.
|
||||||
// Configure HTMX to evaluate scripts in swapped content and fix insertBefore errors
|
// Configure HTMX to evaluate scripts in swapped content and fix insertBefore errors
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/* global debugLog */
|
||||||
// ─── LocalStorage Safety Wrappers ────────────────────────────────────────────
|
// ─── LocalStorage Safety Wrappers ────────────────────────────────────────────
|
||||||
// Handles environments where localStorage is unavailable or restricted (private browsing, etc.)
|
// Handles environments where localStorage is unavailable or restricted (private browsing, etc.)
|
||||||
const safeLocalStorage = {
|
const safeLocalStorage = {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>LED Matrix Control Panel - v3</title>
|
<title>LED Matrix Control Panel</title>
|
||||||
|
|
||||||
<!-- Debug logging gate: verbose console output is suppressed unless
|
<!-- Debug logging gate: verbose console output is suppressed unless
|
||||||
localStorage.pluginDebug === 'true' (the same switch the plugin
|
localStorage.pluginDebug === 'true' (the same switch the plugin
|
||||||
@@ -302,7 +302,7 @@
|
|||||||
</button>
|
</button>
|
||||||
<h1 class="text-xl font-bold text-gray-900">
|
<h1 class="text-xl font-bold text-gray-900">
|
||||||
<i class="fas fa-tv text-blue-600 mr-2"></i>
|
<i class="fas fa-tv text-blue-600 mr-2"></i>
|
||||||
LED Matrix Control - v3
|
LED Matrix Control
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user