Skip to content

Audit shared-architecture bugs from slopsmith's KNOWN_ISSUES.md against this repo #4

Description

@carochacs

Background

slopsmith-plugin-splitscreen (a sibling repo sharing this plugin's architecture, function names, and CLAUDE.md contract) has a KNOWN_ISSUES.md cataloging 7 UI bugs found in a frontend audit of its screen.js. Because both repos share the same panel lifecycle/state contracts, several of these likely reproduce here unfixed. This repo has since diverged (per-panel names, top-right Pop/Dock, exposed panels API — PR #20), so exact line numbers won't match; each item needs to be independently verified against this repo's current screen.js.

Items to check

  1. Invert state not persisted/restoredpanelToPrefs/prefs-restore path may carry lefty/lyrics but drop inverted, even though pop-out/dock/follower-config code paths thread it through. Repro: toggle Invert, reload or trigger rebuildLayout()/pop+dock — check if Invert silently resets.
  2. Lyrics overlay toggle button not hidden in Lyrics-pane / Jumping-Tab-pane mode — CLAUDE.md says Invert/Lyrics/Tab buttons should be hidden in those modes; check if lyricsBtn specifically is exempted, causing overlay-on-overlay duplication.
  3. Per-panel note detector not torn down/rebuilt across mode/arrangement switches — check if toggleDetect's captured panel.hw goes stale after recreatePanelHighway swaps the highway on lyrics/JT/viz/arrangement transitions, leaving an orphaned detector running.
  4. popOutPanel() missing the _starting-style in-flight guard used by rebuildLayout()/redock — check for a race where a second quick pop-out can rip out a still-building startSplitScreen().
  5. Docking a self-split popup only recovers one sub-panel — check whether the popups tracking structure holds one slot per popup window (not per sub-panel), so docking a popup that split itself into multiple panels loses the others.
  6. Section-map offset can go stale outside the documented sizeCanvases() trigger list (activation, controls-bar toggle, window resize, layout change) — check behavior when the section-map bar's own height/visibility changes independently.
  7. getCurrentTime callback missing null-check on #audio in tab-view wiring, inconsistent with the ternary-guarded pattern used elsewhere for #audio access.

Ask

For each item: confirm whether it reproduces in this repo's current code, and if so file/fix as appropriate (or note here if this repo's PR #20 changes already avoid it).

Reference

slopsmith-plugin-splitscreen KNOWN_ISSUES.md (2026-07-22 audit).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions