mirror of
https://github.com/openai/codex.git
synced 2026-11-09 20:50:33 +00:00
Keep settings operations bound to their committed snapshot (#40645)
## Why Post-commit work can overlap with another settings write. Reading the session again afterward could make a settings operation report or use the later state instead of the state that it committed. ## What changed - Return the committed configuration and `ThreadSettingsSnapshot` from session settings updates. - Use that commit result when creating a turn and emitting `ThreadSettingsApplied`, while retaining current-state snapshots for synthesized fork history. - Route turn-start updates through the shared settings update path. ## Testing Add coverage for standalone and turn-start updates that pause after committing, restore different settings concurrently, and verify that each operation keeps its original configuration and notification snapshot. GitOrigin-RevId: cee5be9536d2840170893e6eb0c64cd039fb0a96
This commit is contained in:
committed by
copyberry
parent
a95391160a
commit
4e883ce36e
@@ -589,6 +589,12 @@ impl SessionConfiguration {
|
||||
}
|
||||
}
|
||||
|
||||
/// The configuration and public snapshot published by one settings commit.
|
||||
pub(crate) struct SessionSettingsCommit {
|
||||
pub(crate) configuration: SessionConfiguration,
|
||||
pub(crate) snapshot: ThreadSettingsSnapshot,
|
||||
}
|
||||
|
||||
#[derive(Default, Clone)]
|
||||
pub(crate) struct SessionSettingsUpdate {
|
||||
pub(crate) environments: Option<TurnEnvironmentSelections>,
|
||||
|
||||
Reference in New Issue
Block a user