-
-
@robin Please consider offering feedback for this.
UI: “Open in Web IDE” + reconnect to existing ACTIVE workspace.
I'm not sure if it should be the active workspace. Maybe using existing workspace data or something like that, but here's where I'm really not sure which direction to take.
-
Currently there is no plan for this yet as this can be quite complex. AI helps but I need time to review carefully...
I'd rather keep it a backlog for future direction.
-
I understand, I think the need for this is partially ameliorated by the ability to have guided autonomous AI agents running OpenCode.
| Type |
New Feature
|
| Priority |
Normal
|
| Assignee | |
| Labels |
No labels
|
Issue Votes (0)
Summary
Add a browser-based VS Code Web IDE for OneDev Workspaces: a workspace template that runs
code-server, plus an authenticated reverse proxy under the OneDev origin so users can open/edit code in the browser without installing a local editor.This continues the architecture discussion from OD-2765. Scope is browser Web IDE only (no local VS Code / remote-SSH attach).
Goals
coder/code-server(MIT, Open VSX by default, FOSS-durable; architecture remains image-agnostic soopenvscode-servercan be an alternate template).{project}/~workspaces/{n}/ide/**) with HTTP + WebSocket support, gated by OneDev session auth / project workspace permissions.ACTIVEworkspace when one already exists.Non-goals
vscode://tunnel into the workspace.Architecture (agreed direction)
Why Workspaces (not Job Executors)
CI jobs are batch-oriented (timeouts, run-to-completion, teardown). Job services are sidecar DNS only — not browser-routed. Workspaces already provide long-lived containers, port mappings, git auth via workspace tokens, and UI entry points.
CORS
Path-based same-origin proxy under OneDev means a dedicated CORS layer is not required for the IDE itself. Prefer this over linking raw executor host ports (cross-origin).
Suggested implementation roadmap
WorkspaceSpectemplate (code-server,containerPorts), document using existing port-mapping menu.ACTIVEworkspace.Key touch points (indicative)
WorkspaceSpec/ template + workspace settings UIServerDockerProvisioner(and EE remote/K8s provisioners)DefaultWorkspaceService/WorkspaceRuntimeBaseUrlMappermountPersistence
MVP: reuse existing
Workspaceentity (no schema change). Optional later: idle timeout / last-activity fields.References