@@ -474,7 +474,17 @@ A **workspace** is a member-facing container running the DevPlace browser editor
|
||||
container runtime above. It is opened from a project's **Workspace** page and reached at
|
||||
`/projects/{slug}/workspace`; the editor itself is proxied at
|
||||
`/projects/{slug}/containers/instances/{uid}/code/`, and an **Editor** button appears on the project
|
||||
page whenever the workspace is running.
|
||||
page whenever the editor is actually reachable.
|
||||
|
||||
**The workspace page reports the editor's real state, live.** A workspace has a *phase* derived on
|
||||
the server from its desired state, its container status and a TCP probe of the editor port:
|
||||
`stopped`, `starting`, `ready`, `stopping`, `crashed` or `suspended`. The page renders the control
|
||||
that matches the phase, so pressing **Start** turns the button into a spinner reading *Starting the
|
||||
editor* and the **Open editor** link appears only once code-server answers, never while the
|
||||
container is still booting. While a workspace is in transition the page polls every two seconds
|
||||
(twenty seconds otherwise) and also receives pushed updates on the owner's private pub/sub topic, so
|
||||
the label changes on its own without a reload; the project page's **Editor** button follows the same
|
||||
readiness rule. The phase, its label and `editor_ready` are part of the workspace JSON.
|
||||
|
||||
The editor is `code-server`, rebranded as DevPlace end to end: the application name, the browser tab
|
||||
icon and PWA icons, the login page styling, and `product.json` all carry DevPlace, and a bundled
|
||||
@@ -487,10 +497,21 @@ coding agent baked into the image, and a plain login shell beside it with the Py
|
||||
Swift toolchains on `PATH`. Both are configurable, and `bash` stays the default profile for
|
||||
terminals the member opens later.
|
||||
|
||||
The workspace opens straight onto the member's files rather than a welcome page, and the editor's
|
||||
own built-in chat assistant is suppressed so `dpc` is the only agent on offer and every token it
|
||||
spends is ledgered against the member's DevPlace account. `dpc`'s own working files (`.dpc/`,
|
||||
`dpc.log`) are in `SYNC_SKIP_NAMES`, so running an agent on every boot never pollutes the project.
|
||||
**The first boot of a workspace opens the DevPlace welcome page** beside the terminals: a webview
|
||||
introducing the workspace and DevPlace Code (its 900k token context, vision, parallel sub-agents,
|
||||
deep research, safety gates and the daily credits it runs on), with example prompts and buttons that
|
||||
focus the agent terminal, start the walkthrough, show the public tunnels and open the workspace
|
||||
settings. It is shown once per workspace and can be reopened with **DevPlace: Show the welcome
|
||||
page**. The editor's own built-in chat assistant and VS Code's own welcome page stay suppressed so
|
||||
`dpc` is the only agent on offer and every token it spends is ledgered against the member's DevPlace
|
||||
account. `dpc`'s own working files (`.dpc/`, `dpc.log`) are in `SYNC_SKIP_NAMES`, so running an
|
||||
agent on every boot never pollutes the project.
|
||||
|
||||
**The terminal panel gets about a third of the window by default.** Every preset is a fixed number
|
||||
of steps up from the panel's minimum height (`normal`, the default, lands at roughly a third of a
|
||||
typical window; `short` at a fifth, `tall` at about half) and `maximized` fills the editor area.
|
||||
A preset is applied on the first boot of a workspace and again whenever it changes; a height the
|
||||
member drags themselves is kept across restarts.
|
||||
|
||||
**Every workspace is trusted.** VS Code Restricted Mode is disabled at the command line and in the
|
||||
seeded settings, so nothing prompts and automatic tasks run. This is a deliberate default with a
|
||||
|
||||
Reference in New Issue
Block a user