feat: personal canvas dashboards for Rill Cloud#9509
Draft
nishantmonu51 wants to merge 1 commit into
Draft
Conversation
Lets project members (including viewers) create owner-only canvas dashboards in Rill Cloud, stored as virtual files in the admin DB. Gated by the new `personal_canvases` feature flag and the new `create_personal_canvases` project permission. Backend - New generic admin RPCs `Create/Edit/Delete/Copy/Get/ListPersonalVirtualFile` with a `PersonalVirtualFileType` enum (canvas in phase 1; extends to reports/alerts without new RPCs) - Per-type lookup table in `admin/server/personal_virtual_files.go` drives path layout, YAML validation, and required permission - `FindVirtualFilesByPrefix` for owner-scoped listing - Migration 0094 grants `create_personal_canvases` to roles with read_prod - `builtInCanvasSecurityRule` enforces owner-only access on admin-managed canvases (deny-by-default for non-owners) - New `CanvasSpec.annotations` field carries `admin_owner_user_id` and `admin_managed` through parse/reconcile - New runtime AI tool `create_personal_canvas` so the agent can build a canvas for the current user in Rill Developer Frontend - `VirtualFilePersistence` extends `FileArtifact`, overriding the new `putBlob` / `fetchBlob` hooks to route through the admin RPCs - `PersonalCanvasWorkspace` reuses `CanvasBuilder`, `CanvasEditor`, and `VisualCanvasEditing` from web-common for parity with Rill Developer's visual editor (add widget, resize, inspector panel, code/visual toggle, save-as-default) - `WorkspaceHeader` gains a `showBreadcrumbs` prop so cloud hosts can hide the file-tree breadcrumbs that only make sense locally - New project home section lists the caller's personal canvases with a "create from blank or copy" dialog - "Done editing" flushes pending edits, invalidates the canvas resource cache, and returns to the preview Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lets project members (including viewers) create owner-only canvas dashboards in Rill Cloud, stored as virtual files in the admin DB. Gated by the new
personal_canvasesfeature flag and the newcreate_personal_canvasesproject permission.Backend
Create/Edit/Delete/Copy/Get/ListPersonalVirtualFilewith aPersonalVirtualFileTypeenum (canvas in phase 1; extends to reports/alerts without new RPCs)admin/server/personal_virtual_files.godrives path layout, YAML validation, and required permissionFindVirtualFilesByPrefixfor owner-scoped listingcreate_personal_canvasesto roles with read_prodbuiltInCanvasSecurityRuleenforces owner-only access on admin-managed canvases (deny-by-default for non-owners)CanvasSpec.annotationsfield carriesadmin_owner_user_idandadmin_managedthrough parse/reconcilecreate_personal_canvasso the agent can build a canvas for the current user in Rill DeveloperFrontend
VirtualFilePersistenceextendsFileArtifact, overriding the newputBlob/fetchBlobhooks to route through the admin RPCsPersonalCanvasWorkspacereusesCanvasBuilder,CanvasEditor, andVisualCanvasEditingfrom web-common for parity with Rill Developer's visual editor (add widget, resize, inspector panel, code/visual toggle, save-as-default)WorkspaceHeadergains ashowBreadcrumbsprop so cloud hosts can hide the file-tree breadcrumbs that only make sense locallyINSERT DESCRIPTION HERE
Checklist: