Dashboard tile drag: pointerdown-time engine snapshot can disagree with live engine reads mid-gesture
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- typescript
- Bereich
- frontend
Rechercherichtung
Lies src/ui/dashboard-tile-gestures.ts, insbesondere wireTileDrag und seinen Modulkommentar, und führe dann die Charakterisierungsfälle in tests/unit/dashboard.test.ts und tests/unit/dashboard-tile-gestures.test.ts aus. Das Issue dokumentiert eine bestehende Inkonsistenz der Engine während einer Geste, lässt das gewünschte Verhalten jedoch außerhalb des Scopes; zum Abschluss ist eine Entscheidung der Maintainer erforderlich, gefolgt von einer abgestimmten Implementierung und aktualisierten Tests.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
In src/ui/dashboard-tile-gestures.ts's wireTileDrag, a drag gesture snapshots the active engine once, at pointerdown, into liveReflow (line 393: const liveReflow = deps.activeEngine() === 'grafana-grid';), which then governs the reflow/hit-test path for the rest of that one gesture. By contrast, deps.renderedSurface(tileId) — used for drop-target styling (setDrop, lines 449 and 451) and home-rect capture (beginMove, line 505) — is read live on every call; dashboard.ts's own implementation of that dependency re-checks its current engine each time, not just at gesture start. An engine flip mid-drag (e.g. an unrelated change-layout command dispatched while a move is active — nothing cancels an in-flight gesture on a command) makes the two disagree: the gesture keeps following whichever reflow path was active at pointerdown, while surface lookups made during the same gesture see the new engine.
Pinned by: the app-level characterization test "an engine flip mid-drag leaves the gesture on its GESTURE-START reflow path, not the live engine's" in tests/unit/dashboard.test.ts's "tile gesture concurrency characterization" block, and directly at the controller-unit level by "activeEngine() is read fresh at POINTERDOWN (not memoized at controller construction), and stays frozen for the rest of that one gesture while renderedSurface() keeps reading live" in tests/unit/dashboard-tile-gestures.test.ts.
Pre-existing latent inconsistency predating #589 (#593 refactor umbrella); wave 2's extraction preserved it verbatim (documented in the module's own doc comment, lines 17-26) rather than "fixing" it during a pure structural move. Out of scope here — filing for a deliberate follow-up decision.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 8
- Forks
- 2
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Altinity/altinity-sql-browser
-
inbox
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Altinity/altinity-sql-browser#605 ·
-
inbox
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Altinity/altinity-sql-browser#509 ·
-
inbox
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Altinity/altinity-sql-browser#489 ·
-
flamegraphOffenenhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Altinity/altinity-sql-browser#684 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
Altinity/altinity-sql-browser#680 · 2 Kommentare ·
Alle Issues in Altinity/altinity-sql-browser
Ähnliche Issues
-
Documentation Link TypoOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 83/100
Zettlr/Zettlr#6610 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Feil lovtekst i bekreftelsen når leder melder unntak fra oppfølgingsplanEvtl. vergeben @AudunSorheim hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
navikt/syfo-oppfolgingsplan-frontend#1110 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
db-ux-design-system/core-web#8461 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Cannot run an integration on windows when power shell is selected as the default profile terminalOffenPriority/Blocker Type/Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
wso2/product-integrator#2767 ·
Maintainer antworten meist innerhalb von 1 Tag