Summary
The header toolbar in index.html contains duplicate id="btn-debugger-toggle" elements and an unclosed button tag that breaks toolbar structure.
This causes the Analytics and Workspaces buttons to be nested inside malformed markup, resulting in unstable DOM structure and inconsistent event binding for debugger console controls.
Steps to Reproduce
- Open DevShell in the browser (or via Electron)
- Inspect the header using browser DevTools
- Observe the DOM structure around lines 42–60 in
index.html
- Note that:
- The first debugger button (line ~42) has no closing
</button> tag
- The Analytics button is nested as a child of an unclosed button element
- A second
<button id="btn-debugger-toggle"> appears around line ~60
- Two elements share the same ID
- Click the debugger toggle button — depending on browser DOM repair behavior, only one instance may bind correctly
- Open the browser console and verify:
document.querySelectorAll('#btn-debugger-toggle').length
Expected result:
Actual result:
Proposed Fix
- Remove or properly close the first debugger button (lines 42–44 in
index.html)
- Keep only the second, complete debugger toggle button (lines 60–71)
- Ensure all toolbar buttons are direct children of
.header-right, not nested inside malformed tags
- Verify in
app.js that the debugger toggle handler around line 3496 (init()) binds correctly to the unique button ID
Impact
-
DOM Fragility
Browser DOM repair algorithms may silently fix the structure differently across browsers, causing inconsistent behavior.
-
Event Binding Instability
JavaScript event listeners bound by ID may attach to the wrong element or fail silently.
-
Toolbar Accessibility
Screen readers and accessibility tools may encounter malformed semantic structure.
-
Developer Confusion
Future maintainers debugging the toolbar may waste time tracking duplicate IDs and repaired DOM structures.
-
Debugger Console Reliability
The debugger toggle button is critical for accessing console/debug tooling; unreliable binding reduces usability.
Labels
bug
type:ui
gssoc:approved
Assignee Request
Please assign this issue to @siddu-k — I’d like to work on it as part of GSSoC'26.
Summary
The header toolbar in
index.htmlcontains duplicateid="btn-debugger-toggle"elements and an unclosed button tag that breaks toolbar structure.This causes the Analytics and Workspaces buttons to be nested inside malformed markup, resulting in unstable DOM structure and inconsistent event binding for debugger console controls.
Steps to Reproduce
index.html</button>tag<button id="btn-debugger-toggle">appears around line ~60Expected result:
Actual result:
Proposed Fix
index.html).header-right, not nested inside malformed tagsapp.jsthat the debugger toggle handler around line 3496 (init()) binds correctly to the unique button IDImpact
DOM Fragility
Browser DOM repair algorithms may silently fix the structure differently across browsers, causing inconsistent behavior.
Event Binding Instability
JavaScript event listeners bound by ID may attach to the wrong element or fail silently.
Toolbar Accessibility
Screen readers and accessibility tools may encounter malformed semantic structure.
Developer Confusion
Future maintainers debugging the toolbar may waste time tracking duplicate IDs and repaired DOM structures.
Debugger Console Reliability
The debugger toggle button is critical for accessing console/debug tooling; unreliable binding reduces usability.
Labels
bugtype:uigssoc:approvedAssignee Request
Please assign this issue to @siddu-k — I’d like to work on it as part of GSSoC'26.