From 948f28c77e99b31b72d25f5c5132c5a19d3063bf Mon Sep 17 00:00:00 2001 From: hosted-fornet Date: Fri, 26 Dec 2025 09:28:18 -0800 Subject: [PATCH] attempt to improve backwards compat --- hyperdrive/packages/app-store/downloads/src/lib.rs | 1 + .../packages/hypermap-cacher/binding-cacher/src/lib.rs | 6 ++++++ .../packages/hypermap-cacher/hypermap-cacher/src/lib.rs | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/hyperdrive/packages/app-store/downloads/src/lib.rs b/hyperdrive/packages/app-store/downloads/src/lib.rs index 044def476..e3aa42a87 100644 --- a/hyperdrive/packages/app-store/downloads/src/lib.rs +++ b/hyperdrive/packages/app-store/downloads/src/lib.rs @@ -105,6 +105,7 @@ type ManualDownloads = HashMap<(PackageId, String), ManualDownloadStatus>; #[derive(Debug, Serialize, Deserialize)] pub struct State { // persisted metadata about which packages we are mirroring + #[serde(default)] mirroring: HashSet, // note, pending auto_updates are not persisted. } diff --git a/hyperdrive/packages/hypermap-cacher/binding-cacher/src/lib.rs b/hyperdrive/packages/hypermap-cacher/binding-cacher/src/lib.rs index 497dc3306..d026da31e 100644 --- a/hyperdrive/packages/hypermap-cacher/binding-cacher/src/lib.rs +++ b/hyperdrive/packages/hypermap-cacher/binding-cacher/src/lib.rs @@ -49,6 +49,10 @@ const DEFAULT_NODES: &[&str] = &[ #[cfg(feature = "simulation-mode")] const DEFAULT_NODES: &[&str] = &["fake.os"]; +fn default_nodes() -> Vec { + DEFAULT_NODES.iter().map(|s| s.to_string()).collect() +} + // Internal representation of LogsMetadata, similar to WIT but for Rust logic. #[derive(Serialize, Deserialize, Debug, Clone)] struct LogsMetadataInternal { @@ -105,7 +109,9 @@ struct State { block_batch_size: u64, is_cache_timer_live: bool, drive_path: String, + #[serde(default)] is_providing: bool, + #[serde(default = "default_nodes")] nodes: Vec, #[serde(skip)] is_starting: bool, diff --git a/hyperdrive/packages/hypermap-cacher/hypermap-cacher/src/lib.rs b/hyperdrive/packages/hypermap-cacher/hypermap-cacher/src/lib.rs index 08483465f..cc98c1549 100644 --- a/hyperdrive/packages/hypermap-cacher/hypermap-cacher/src/lib.rs +++ b/hyperdrive/packages/hypermap-cacher/hypermap-cacher/src/lib.rs @@ -46,6 +46,10 @@ const DEFAULT_NODES: &[&str] = &[ #[cfg(feature = "simulation-mode")] const DEFAULT_NODES: &[&str] = &["fake.os"]; +fn default_nodes() -> Vec { + DEFAULT_NODES.iter().map(|s| s.to_string()).collect() +} + // Internal representation of LogsMetadata, similar to WIT but for Rust logic. #[derive(Serialize, Deserialize, Debug, Clone)] struct LogsMetadataInternal { @@ -102,7 +106,9 @@ struct State { block_batch_size: u64, is_cache_timer_live: bool, drive_path: String, + #[serde(default)] is_providing: bool, + #[serde(default = "default_nodes")] nodes: Vec, #[serde(skip)] is_starting: bool,