Skip to content

fix: use unvalidated spec as fallback for canvas#9186

Open
djbarnwal wants to merge 1 commit intomainfrom
fix/canvas-unvalidated-spec
Open

fix: use unvalidated spec as fallback for canvas#9186
djbarnwal wants to merge 1 commit intomainfrom
fix/canvas-unvalidated-spec

Conversation

@djbarnwal
Copy link
Copy Markdown
Member

Previously, if any canvas component had an invalid spec, the entire canvas dashboard became inaccessible in Rill Developer because ResolveCanvas returned early when canvas.state.validSpec was nil. This broke the editing workflow where a user intentionally changes a metrics_view (causing a transient error state) before selecting the correct fields.

  • Fall back to the unvalidated spec in ResolveCanvas when validSpec is nil, so the canvas shell remains accessible during mid-edit error states
  • Apply the same fallback for component renderer properties in BaseChart, CanvasPivot, and BaseCanvasComponent
  • Fall back to spec.renderer when reading component type in canvas-entity.ts and BaseChart/CanvasPivot, fixing a blank inspector panel when clicking a broken component

The error/loading banner UX in CanvasInitialization.svelte is unchanged — it still uses validSpec to drive reconcile error messaging correctly. This matches the fallback pattern already used in ResolveTransitiveAccess (reconcilers/canvas.go:169-172).

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

@djbarnwal djbarnwal requested a review from begelundmuller April 4, 2026 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant