Skip to content

[3/4] feat(web): sandbox and snapshot management views - #78

Closed
immanuel-peter wants to merge 4 commits into
kvcache-ai:mainfrom
immanuel-peter:feat/web-3-sandboxes-snapshots
Closed

[3/4] feat(web): sandbox and snapshot management views#78
immanuel-peter wants to merge 4 commits into
kvcache-ai:mainfrom
immanuel-peter:feat/web-3-sandboxes-snapshots

Conversation

@immanuel-peter

@immanuel-peter immanuel-peter commented Jul 29, 2026

Copy link
Copy Markdown

What

Add sandbox and snapshot management views: list/detail/create, lifecycle actions (pause/resume/fork/snapshot/kill), and snapshot browse/detail against the Gateway HTTP API.

Why

Sandboxes and snapshots are the core operator workflows and form a natural review boundary once connection/session exists.

Related issue

Part of #6.

Scope and non-goals

In scope

  • Sandbox list/create/detail + server actions
  • Snapshot list/detail
  • Related API modules and UI components

Non-goals

  • Templates, dashboard panels, node views (PR 4)

Design and behavior changes

  • Sandbox state filters send repeated state query params (server rejects comma-joined form; OpenAPI currently documents explode: false — call sites note the mismatch)
  • Lifecycle actions are state-aware and refresh detail after mutation

Compatibility and operations

  • Public API or generated protocol: N/A
  • Configuration or defaults: N/A
  • Snapshot manifest, artifact layout, or storage format: N/A (UI only)
  • Upgrade and rollback: additive UI-only
  • Host requirements, permissions, ports, or dependencies: same as prior stack PRs

Validation

  • Web lint/build

Commands and results:

cd web && pnpm lint && pnpm build  # pass

Skipped checks and reasons:

  • Rust/Go suites: no backend code changes in this slice
  • No Playwright suite yet; flows were previously exercised against a live server on the full reference branch

Risks and reviewer notes

Stack

Merge order: #76#77#78#79

Checklist

  • The PR contains one coherent change and no unrelated formatting or refactoring.
  • New behavior is covered by tests, or I explained why testing is impractical.
  • Logs and examples contain no credentials, tokens, or private registry information.
  • I did not manually edit generated code without updating its source and regenerating it.

immanuel-peter and others added 3 commits July 29, 2026 21:30
Add the Next.js app shell, shadcn UI kit, Compose/Kubernetes web service,
and getting-started docs. Feature routes are stubs until later PRs in the
stack land connection and resource views.

Co-authored-by: Cursor <cursoragent@cursor.com>
Store Gateway URL, API key, and optional admin token in httpOnly session
cookies, validate connectivity through the Next.js connection routes, and
replace the Settings stub with the real form.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the sandbox/snapshot stubs with list, detail, create, and
lifecycle actions against the Gateway HTTP API.

Co-authored-by: Cursor <cursoragent@cursor.com>
Refuse redirect-following with auth headers, require a fresh API key when
the Gateway URL changes, and return JSON errors from connection routes
instead of unhandled 500s.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants