mirror of
https://github.com/openai/codex.git
synced 2026-09-20 12:47:38 +00:00
## Why `codex app-server daemon update` previously required a latest-channel installation, leaving pinned and local managed packages unable to return to production updates through that command. ## What changed - Allow explicit updates to restore managed packages to the latest stable release while preserving the automatic-update preference. Extend legacy migration to local and pinned packages when the published installer and release support it. - Bind restoration to the selected release with a single-use updater authorization and installer guards. Scheduled updates and ordinary updater socket requests continue to respect pins. - Restart a running daemon when its selected package changes, even if the binary and version are identical; leave stopped daemons stopped. - Reject incompatible production packages before selecting them, resolve Windows junction targets for ownership checks, and show the restoration command after installing a pinned CLI package. ## Testing Extend daemon and installer tests to cover local-package migration, restoration with automatic updates enabled or disabled, same-binary package restarts, stopped-daemon preservation, selection races, incompatible releases, and socket requests that must not undo pins. GitOrigin-RevId: d64520c1190b5c7bac084fb4a1b6b24998b08dfa
19 lines
750 B
Rust
19 lines
750 B
Rust
use super::*;
|
|
|
|
#[test]
|
|
fn running_daemon_replacement_prompt() {
|
|
let request = InstallRequest {
|
|
source: "/cli/package".into(),
|
|
version: "0.0.0".into(),
|
|
destination: "/home/packages/app-server-daemon".into(),
|
|
installed_version: Some("0.152.0".into()),
|
|
restart_required: true,
|
|
};
|
|
insta::assert_snapshot!(describe_install(&request), @r"
|
|
Replace installed daemon version 0.152.0 with CLI version 0.0.0 from /cli/package.
|
|
The daemon package will be installed in /home/packages/app-server-daemon.
|
|
The selected package will be pinned. Run `codex app-server daemon update` to return to production updates.
|
|
The running daemon will restart; active or queued work may be interrupted.
|
|
");
|
|
}
|