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 got-feedBack#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 got-feedBack#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

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions