Skip to content

Commit 9ea12e7

Browse files
Sujay JayakarConvex, Inc.
authored andcommitted
Clear out component state on old push (#30715)
GitOrigin-RevId: 6b5d4bc7ac57e914edda6081b76c89a7d25fdd11
1 parent 7370f87 commit 9ea12e7

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

crates/application/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1798,6 +1798,8 @@ impl<RT: Runtime> Application<RT> {
17981798
)
17991799
.await?;
18001800

1801+
ComponentConfigModel::new(tx).disable_components().await?;
1802+
18011803
Ok((
18021804
ConfigMetadataAndSchema {
18031805
config_metadata,

crates/model/src/components/config.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,6 +755,23 @@ impl<'a, RT: Runtime> ComponentConfigModel<'a, RT> {
755755

756756
Ok(())
757757
}
758+
759+
pub async fn disable_components(&mut self) -> anyhow::Result<()> {
760+
let components = BootstrapComponentsModel::new(self.tx)
761+
.load_all_components()
762+
.await?;
763+
for component in components {
764+
if component.component_type.is_root() {
765+
continue;
766+
}
767+
if component.state == ComponentState::Unmounted {
768+
continue;
769+
}
770+
tracing::warn!("Unmounting component: {:?}", &*component);
771+
self.unmount_component(&component).await?;
772+
}
773+
Ok(())
774+
}
758775
}
759776

760777
fn tree_diff_children<'a>(

0 commit comments

Comments
 (0)