Skip to content

Persistence is the environment's field, not a session kind - #192

Merged
vitramir merged 2 commits into
mainfrom
persistent-shells-environment-setting
Aug 14, 2026
Merged

Persistence is the environment's field, not a session kind#192
vitramir merged 2 commits into
mainfrom
persistent-shells-environment-setting

Conversation

@vitramir

Copy link
Copy Markdown
Contributor
  • Environment.persistent_shells, and the field on the create and update requests.
  • RunnerEnvironment.persistent_shells and persistent_shells on the runner session message.
  • SHELL_ATTACH retained as a deprecated alias.

console-app/#147 does not build until this is on the BSR.

SHELL_ATTACH is removed and its number reserved. Whether a shell outlives its
connection is not something a caller asks for: SHELL takes shell_id and
shell_cwd, and the workload decides whether the shell they name survives.

Environment gains persistent_shells, defaulting to true. Create and Update take
it as optional so an unset field means "leave it alone" rather than "off".

Workload gains persistent_shells, resolved from the environment at start. The
Terminal Proxy reads it from a call it already makes; nothing else needs to
resolve an environment to answer the question.
Reserving a deleted enum value does not satisfy the breaking check, and it
should not: a client still sending SHELL_ATTACH mid-rollout deserves a working
shell rather than an InvalidArgument. The value stays, marked deprecated, and
the proxy treats it as SHELL -- which now means the same thing, since the
workload decides whether the shell persists.
@vitramir
vitramir requested a review from a team as a code owner August 14, 2026 02:55
@github-actions

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow buf-pr / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedAug 14, 2026, 2:55 AM

@vitramir
vitramir merged commit fc82395 into main Aug 14, 2026
2 checks passed
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