mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
[codex] isolate plugin/list from config serialization queue (#22437)
## Summary - move `plugin/list` from the shared `config` read queue onto a dedicated `plugin-list` shared-read queue - move `plugin/read` onto that same dedicated shared-read queue as well - keep the existing scheduler behavior unchanged - allow plugin list/read operations to proceed independently of config-family writes, accepting temporary stale or transient read errors during concurrent mutations ## Validation - `just fmt` - `cargo test -p codex-app-server-protocol`
This commit is contained in:
committed by
GitHub
Unverified
parent
842ac74b9c
commit
7fbd342fb3
@@ -621,12 +621,12 @@ client_request_definitions! {
|
||||
},
|
||||
PluginList => "plugin/list" {
|
||||
params: v2::PluginListParams,
|
||||
serialization: global_shared_read("config"),
|
||||
serialization: global_shared_read("plugin-read"),
|
||||
response: v2::PluginListResponse,
|
||||
},
|
||||
PluginRead => "plugin/read" {
|
||||
params: v2::PluginReadParams,
|
||||
serialization: global("config"),
|
||||
serialization: global_shared_read("plugin-read"),
|
||||
response: v2::PluginReadResponse,
|
||||
},
|
||||
PluginSkillRead => "plugin/skill/read" {
|
||||
@@ -1690,7 +1690,24 @@ mod tests {
|
||||
};
|
||||
assert_eq!(
|
||||
plugin_list.serialization_scope(),
|
||||
Some(ClientRequestSerializationScope::GlobalSharedRead("config"))
|
||||
Some(ClientRequestSerializationScope::GlobalSharedRead(
|
||||
"plugin-read"
|
||||
))
|
||||
);
|
||||
|
||||
let plugin_read = ClientRequest::PluginRead {
|
||||
request_id: request_id(),
|
||||
params: v2::PluginReadParams {
|
||||
marketplace_path: Some(absolute_path("/tmp/marketplace")),
|
||||
remote_marketplace_name: None,
|
||||
plugin_name: "plugin-a".to_string(),
|
||||
},
|
||||
};
|
||||
assert_eq!(
|
||||
plugin_read.serialization_scope(),
|
||||
Some(ClientRequestSerializationScope::GlobalSharedRead(
|
||||
"plugin-read"
|
||||
))
|
||||
);
|
||||
|
||||
let plugin_uninstall = ClientRequest::PluginUninstall {
|
||||
|
||||
Reference in New Issue
Block a user