Skip to content

Tooltip hover stops responding after repeated hovers, recovers on click #174

@vitchor

Description

@vitchor

When using EmbeddingAtlas (JS/npm), the tooltip on hover stops appearing after hovering over several points in succession. The tooltip works initially, but after ~10-15 hover events it stops responding entirely. Clicking on a point restores the tooltip, and hover works again temporarily before getting stuck once more.

Demo (using the wine review example)

demo.mov

Steps to reproduce

  1. Create an EmbeddingAtlas instance with ~200 data points

  2. Hover over points in the scatter plot — tooltip appears correctly

  3. Continue moving between points, hovering quickly

  4. After a number of hovers, the tooltip stops appearing

  5. Click on any point — tooltip reappears

  6. Resume hovering — it works again briefly, then stops again

Expected behavior

Tooltip should consistently appear on hover regardless of how many points have been hovered previously.

Suspected cause

Looking at throttleTooltip in packages/component/src/lib/utils.ts, the running flag is set to true before await func(input) and reset to false after. If the async function (selectionFromPoint, which queries DuckDB) throws an error that isn't caught by the try/catch, or if the promise hangs, running stays true and all subsequent hover inputs are queued in next but never executed.

The click path bypasses the throttle (directly calling setTooltip/setSelection), which is why clicking "unsticks" it.

Environment

  • embedding-atlas v0.18.1
  • Browser: Chrome (macOS)
  • Using EmbeddingAtlas JS component with wasmConnector (DuckDB WASM)

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