TanStack / TanStack/devtools

Devtools breaks react-resizable-panels cursor after remount

Ouverte
#526 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
TypeScript
Étoiles
499
Forks
100
Merge moyen
1 j 17 h
PR mergées (30 j)
4

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la reproduction StackBlitz, en particulier src/App.tsx et package.json, et reproduisez l’échec du curseur après avoir modifié la clé Group. Suivez la gestion des événements de Devtools et de Solid décrite dans l’issue, puis déterminez si le fix doit être effectué ici ou upstream. C’est terminé lorsque le remount laisse le curseur du séparateur fonctionner sans modifier les propriétés natives des événements pour les listeners non concernés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
electron, react, typescript
Domaine
desktop, devtools, frontend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.