TanStack / TanStack/devtools

Devtools breaks react-resizable-panels cursor after remount

Aperta
#526 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
TypeScript
Stelle
499
Fork
100
Merge medio
1g 17h
PR unite (30g)
4

Descrizione

TanStack Devtools version

0.10.12

Framework/Library version

React 19.2.8

Describe the bug and the steps to reproduce it

With TanStack Devtools mounted, remounting a react-resizable-panels Group breaks its hover cursor.

Steps: render Devtools alongside a Group with two Panels and a Separator. Wait for Devtools to load, then change only the Group's key and hover the separator.

Confirmed locally in Electron using these minimal components:

  • Initial mount: resize listener runs before Solid; cursor is ew-resize.
  • After remount: Solid runs first; hover is detected, but cursor stays auto.

Solid's delegated pointermove handler leaves event.currentTarget pointing to <html> instead of document. The resize library then skips cursor styling because currentTarget.defaultView is undefined.

Remounting is normal React behavior. Devtools should not change native event properties for unrelated listeners. Is this best addressed here or upstream in Solid?

Versions: @tanstack/react-devtools 0.10.12, solid-js 1.9.15, react-resizable-panels 4.12.3, React 19.2.8, Electron 44.1.0 (macOS).

Your Minimal, Reproducible Example - (Sandbox Highly Recommended)

https://stackblitz.com/edit/vitejs-vite-eha3ugdo?file=src%2FApp.tsx,package.json&terminal=dev

Screenshots or Videos (Optional)

No response

Do you intend to try to help solve this bug with your own PR?

No, because I do not know how

Terms & Code of Conduct
  • I agree to follow this project's Code of Conduct
  • I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con la riproduzione su StackBlitz, in particolare con src/App.tsx e package.json, e riproduci il malfunzionamento del cursore dopo aver modificato la chiave Group. Segui la gestione degli eventi di Devtools e Solid descritta nell’issue, quindi determina se il fix debba essere apportato qui o upstream. Il lavoro è completato quando il remount lascia funzionante il cursore del separatore senza modificare le proprietà native degli eventi per listener non correlati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
electron, react, typescript
Ambito
desktop, devtools, frontend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.