diff --git a/rust/agama-manager/src/actions.rs b/rust/agama-manager/src/actions.rs index 86c55b232c..3808a77dc6 100644 --- a/rust/agama-manager/src/actions.rs +++ b/rust/agama-manager/src/actions.rs @@ -298,16 +298,6 @@ impl SetConfigAction { match &product { Some(product) => { - self.progress - .call(progress::message::Next::new(Scope::Manager)) - .await?; - self.software - .call(software::message::SetConfig::new( - Arc::clone(product), - config.software.clone(), - )) - .await?; - self.progress .call(progress::message::Next::new(Scope::Manager)) .await?; @@ -329,6 +319,16 @@ impl SetConfigAction { config.bootloader.clone(), )) .await?; + + self.progress + .call(progress::message::Next::new(Scope::Manager)) + .await?; + self.software + .call(software::message::SetConfig::new( + Arc::clone(product), + config.software.clone(), + )) + .await?; } None => { diff --git a/rust/agama-software/src/service.rs b/rust/agama-software/src/service.rs index ff642c294c..6ffcb4ae96 100644 --- a/rust/agama-software/src/service.rs +++ b/rust/agama-software/src/service.rs @@ -492,7 +492,14 @@ impl MessageHandler for Service { async fn handle(&mut self, message: message::SetResolvables) -> Result<(), Error> { self.selection.set(&message.id, message.resolvables); if self.product.is_some() { + // calculate the wanted state self.calculate_wanted_state().await?; + + // and then update the proposal (in a separate task). + // FIXME: it is perhaps too much, as it only needs to run the solver. + // However, given that ZyppServer only runs one message at a time, the requests + // will be queued, so it should be a safe operation. + self.update_proposal().await?; } Ok(()) } diff --git a/rust/package/agama.changes b/rust/package/agama.changes index e23e5ad50e..c7fa576f0c 100644 --- a/rust/package/agama.changes +++ b/rust/package/agama.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Mar 13 12:22:07 UTC 2026 - Imobach Gonzalez Sosa + +- Update the software proposal after changing the resolvables list (bsc#1259533). + ------------------------------------------------------------------- Fri Mar 13 10:54:49 UTC 2026 - Josef Reidinger