Skip to content

A queries-only bundle import no longer produces a Dashboard (favourite/membership decoupling in #427) #448

Description

@BorisTyshkevich

Behaviour change from #427, flagged rather than folded in.

What changed

Before #427, importing a portable bundle that contained queries but no dashboards produced a Dashboard: addImportedFavoriteTiles(null, …) (src/workspace/import-planner.ts, removed in #427) minted the compatibility Dashboard from every spec.favorite === true panel query and gave each one a tile.

examples/iceberg-install.json is exactly that shape — 0 dashboards, 6 queries — so importing it used to hand the user a populated Dashboard.

#427 severed favourite from membership: a favourite is now a Library preference with no Dashboard meaning, so a queries-only import lands every query in the Library and creates no Dashboard at all. That is the correct end state (planImportQueries no longer touches any Dashboard, and every stored Dashboard comes through byte-identically), but it removes a route that existed.

Why it is deferred

The replacement route is #428: drag a Library query onto a Dashboard's Panels group, or use the keyboard-accessible Add to dashboard… equivalent, which creates an independent panel-role copy and a tile. Until #428 lands there is no in-app way to get a panel onto a Dashboard from a queries-only bundle — the user has to author the Dashboard by hand or import a bundle that carries one.

What to decide

  1. Is the Add Library drag assignment to Dashboard panels and variables #428 gap acceptable as an interim state, or does the import flow need an explicit "add these to a dashboard" step of its own?
  2. Should a queries-only import offer to create a Dashboard explicitly (a checkbox in the import dialog), now that it can no longer be inferred from a flag?
  3. examples/iceberg-install.json may want a Dashboard authored into it, so the shipped demo keeps working as documented in docs/ICEBERG-CATALOG-EXPLORER-DEMO.md.

Not folded into #427 because it is a product question about the import UX, and #427's own scope explicitly excludes assignment (that is #428's).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestinboxFiled mid-task; not yet triaged into the roadmap

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions