Skip to content

Clerk should provide a viewer for IDeref that shows a spinner until the value resolves #769

@latacora-paul

Description

@latacora-paul

Discussion in Slack:

https://clojurians.slack.com/archives/C035GRLJEP8/p1757520307603569

I think the key points are:

  • Accept any IDeref (like a future or promise)
  • Attempt to wait on the value for a short period of time (~100ms?) before opting to use the spinner instead until it resolves
  • If the IDeref itself returns a viewer, then show that viewer when the value resolves, else use the default viewer for the data type
  • Statements lower in a notebook should continue to render even if earlier cells are waiting on the IDeref to resolve

I'm not opinionated about the specifics of the spinner, just looking for a way to load an entire notebook quickly even if some earlier cells take longer to compute and give an indication to the user about what's still in progress.

My specific use case:

A notebook full of db queries and graphs of the results that might run quickly or take a long time. It's an improved user experience if the entire notebook opens and queries that are fast render quickly without being delayed by earlier slower ones.

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