Skip to content

feat(app-server): enforce managed remote control disable - #27961

Merged
apanasenko-oai merged 4 commits into
mainfrom
codex/managed-remote-control-requirement
Jun 13, 2026
Merged

feat(app-server): enforce managed remote control disable#27961
apanasenko-oai merged 4 commits into
mainfrom
codex/managed-remote-control-requirement

Conversation

@apanasenko-oai

@apanasenko-oai apanasenko-oai commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Why

Managed deployments need a reliable deny gate for remote control. Persisted enablement and explicit startup requests currently remain able to start the transport, while the removed features.remote_control key is intentionally only a compatibility no-op.

This adds a dedicated requirement that administrators can use to force remote control off without deleting the user's persisted preference. Removing the requirement and restarting restores the prior choice.

What Changed

  • Added top-level allow_remote_control requirements parsing, sourced layer precedence, debug output, and configRequirements/read exposure as allowRemoteControl.
  • Added a typed transport policy captured from the startup requirements snapshot. Managed disable forces the initial state to disabled and prevents enrollment, refresh, connection, and persisted-preference mutation.
  • Rejected every remoteControl/* RPC before parameter deserialization with JSON-RPC -32600 and remote control is disabled by managed requirements.
  • Preserved the existing disabled status notification and the previous behavior when the requirement is true or omitted.
  • Regenerated app-server protocol schemas and documented the new requirement.

Verification

  • Confirmed all remote-control RPCs, including a malformed request, return the managed-policy error while the initial status notification remains disabled.
  • Confirmed explicit ephemeral startup and persisted enablement make no backend connection and leave the SQLite preference unchanged.
  • Confirmed allow_remote_control = true does not enable or block remote control and configRequirements/read returns allowRemoteControl: false for the deny policy.

Related issue: N/A (managed-policy hardening).

@apanasenko-oai
apanasenko-oai marked this pull request as ready for review June 12, 2026 22:01
@apanasenko-oai
apanasenko-oai requested a review from a team as a code owner June 12, 2026 22:01
@chatgpt-codex-connector

Copy link
Copy Markdown
Contributor

Codex Review: Something went wrong. Try again later by commenting “@codex review”.

An unknown error occurred
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@apanasenko-oai

Copy link
Copy Markdown
Contributor Author

@codex

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a1f9d5e195

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/debug_config.rs
@apanasenko-oai

Copy link
Copy Markdown
Contributor Author

@codex

@chatgpt-codex-connector

Copy link
Copy Markdown
Contributor

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: 69a4db6028

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/app-server/src/message_processor.rs Outdated
Comment thread codex-rs/app-server/tests/common/test_app_server.rs Outdated

@owenlin0 owenlin0 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another small thing

Comment thread codex-rs/app-server/src/request_processors/remote_control_processor.rs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d391816016

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/app-server/src/lib.rs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f4ef520440

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +97 to +99
fn deserialize_client_request(
request: &JSONRPCRequest,
) -> Result<ClientRequest, JSONRPCErrorError> {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3 Badge Inline single-use client request helper

This extracts deserialize_client_request, but the only caller is the replacement below, so it adds an extra abstraction for a single use. The repo guidance asks not to add small helpers that are referenced only once; keeping this inline avoids the churn. guidance

Useful? React with 👍 / 👎.

@apanasenko-oai
apanasenko-oai merged commit b9dc3b7 into main Jun 13, 2026
31 checks passed
@apanasenko-oai
apanasenko-oai deleted the codex/managed-remote-control-requirement branch June 13, 2026 03:10
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants