Skip to content

Bug: App.tsx uses incorrect SolidJS cleanup patterns for event listeners #127

@ysdede

Description

@ysdede

Summary

Two listener cleanup paths in App.tsx still use React-style return cleanup semantics that SolidJS does not execute.

Current evidence (master)

  • src/App.tsx:194-204 returns a function from createEffect after adding a keydown listener.
  • src/App.tsx:212-265 returns a function from onMount after adding a resize listener.

In SolidJS, cleanup must be registered via onCleanup(...) inside the reactive scope.

Why this matters

  • Re-opening the context/settings panel can accumulate keydown listeners.
  • The resize listener may survive component disposal.

CodeRabbit references

Acceptance criteria

  • Replace returned cleanup functions with onCleanup(...) in both locations.
  • Ensure only one active keydown handler exists while panel is open.
  • Ensure resize handler is removed when component unmounts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomerspriority:highImportant next work, impacts stability/performance/usability

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions