Skip to content

WIP: Cloud editing MVP#8912

Draft
ericpgreen2 wants to merge 2 commits intomainfrom
ericgreen/cloud-editing-mvp
Draft

WIP: Cloud editing MVP#8912
ericpgreen2 wants to merge 2 commits intomainfrom
ericgreen/cloud-editing-mvp

Conversation

@ericpgreen2
Copy link
Contributor

@ericpgreen2 ericpgreen2 commented Feb 23, 2026

This is an MVP / work-in-progress. Not ready for production. Sharing for visibility.

Cloud editing lets users edit Rill projects directly in the browser. Clicking "Edit" on a project spins up a dev deployment, and the user gets the same file explorer, code editor, and workspace views they'd see in Rill Developer — but running in the cloud.

What's here:

  • "Edit" button on project pages creates a dev deployment via CreateDevDeployment API
  • Polls deployment status until running, then fetches runtime credentials
  • EditSessionToolbar with "Push to production" (git commit + push) and "End session" (teardown)
  • EditSessionTimeoutBanner warns on approaching inactivity timeout
  • Single-editor lock prevents concurrent editing (enforced server-side)
  • workspaceRoutePrefix store lets shared web-common components build correct paths in both web-local (/files/...) and web-admin (/<org>/<project>/-/edit/files/...)
  • WorkspaceDispatcher extracted from web-local into web-common for reuse
  • SvelteKit routes for files/, explore/, canvas/ under the edit route group
  • Edit layout renders Navigation sidebar + workspace views directly (no iframe)
  • Parent RuntimeProvider skipped on edit routes to avoid runtime store conflicts
  • Fix: concurrent map write crash in auth/claims.go
  • Fix: ReadInstance permission added to dev deployment JWTs for Data Explorer
  • Fix: deferred file content fetch until runtime credentials are available

Known gaps / not yet implemented:

  • Branch deploy UI / review workflow
  • AI generation and source import modals don't use workspaceRoute yet (~10 files deferred)
  • No automated tests for edit session flows
  • Error recovery if dev deployment provisioning fails

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!

Developed in collaboration with Claude Code

…r lock

- Add edit session feature in web-admin with iframe-based Rill Developer embed
- Add "Edit" tab to ProjectTabs (gated on `manageDev` permission)
- Add `/<org>/<project>/-/edit/` route for the edit session view
- Add single-editor lock in `CreateDeployment` to prevent concurrent edit sessions
- Edit session auto-creates a dev deployment, polls for readiness, fetches
  credentials, and embeds web-local in an iframe
- Toolbar provides "Push to production" (git push) and "End session" (teardown)
- Timeout warning banner shown 10 minutes before session expiry
- Create workspace routing abstraction (`workspaceRoutePrefix` store) so
  shared web-common components build correct paths in both web-local and
  web-admin edit sessions
- Extract `WorkspaceDispatcher` component (resource kind to workspace mapping)
  from web-local into web-common for reuse
- Update ~15 web-common navigation/file-explorer files to use routing helpers
  instead of hardcoded paths
- Add SvelteKit routes for edit session: files, explore, canvas
- Refactor edit layout to render Navigation sidebar + WorkspaceDispatcher
  instead of iframe
- Skip parent RuntimeProvider on edit routes to prevent runtime store conflicts
  between production and dev deployment credentials
- Fix concurrent map write crash in `auth/claims.go` (copy Attrs map instead
  of mutating shared instance)
- Add `ReadInstance` permission to dev deployment JWTs so Data Explorer works
- Fix `ProjectGlobalStatusIndicator` crash from dev deployment response shape
- Defer file content fetch until runtime credentials are available (fixes 404
  on full page refresh)
@ericpgreen2 ericpgreen2 changed the title WIP: Cloud editing MVP — native editing surface WIP: Cloud editing MVP Feb 23, 2026
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