v0.3.6-alpha.0 (#2680)

* v0.3.6-alpha.0

* show welcome on fresh install
This commit is contained in:
Aiden McClelland
2024-07-23 12:18:17 -06:00
committed by GitHub
parent a535fc17c3
commit 019142efc9
10 changed files with 53 additions and 35 deletions

View File

@@ -13,18 +13,19 @@ use crate::Error;
mod v0_3_5;
mod v0_3_5_1;
mod v0_3_5_2;
mod v0_3_6;
mod v0_3_6_alpha_0;
pub type Current = v0_3_6::Version;
pub type Current = v0_3_6_alpha_0::Version;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone)]
#[serde(untagged)]
#[allow(non_camel_case_types)]
enum Version {
LT0_3_5(LTWrapper<v0_3_5::Version>),
V0_3_5(Wrapper<v0_3_5::Version>),
V0_3_5_1(Wrapper<v0_3_5_1::Version>),
V0_3_5_2(Wrapper<v0_3_5_2::Version>),
V0_3_6(Wrapper<v0_3_6::Version>),
V0_3_6_alpha_0(Wrapper<v0_3_6_alpha_0::Version>),
Other(exver::Version),
}
@@ -44,7 +45,7 @@ impl Version {
Version::V0_3_5(Wrapper(x)) => x.semver(),
Version::V0_3_5_1(Wrapper(x)) => x.semver(),
Version::V0_3_5_2(Wrapper(x)) => x.semver(),
Version::V0_3_6(Wrapper(x)) => x.semver(),
Version::V0_3_6_alpha_0(Wrapper(x)) => x.semver(),
Version::Other(x) => x.clone(),
}
}
@@ -212,6 +213,19 @@ pub async fn init(
mut progress: PhaseProgressTrackerHandle,
) -> Result<(), Error> {
progress.start();
db.mutate(|db| {
db.as_public_mut()
.as_server_info_mut()
.as_version_mut()
.map_mutate(|v| {
Ok(if v == exver::Version::new([0, 3, 6], []) {
v0_3_6_alpha_0::Version::new().semver()
} else {
v
})
})
})
.await?; // TODO: remove before releasing 0.3.6
let version = Version::from_exver_version(
db.peek()
.await
@@ -231,7 +245,7 @@ pub async fn init(
Version::V0_3_5(v) => v.0.migrate_to(&Current::new(), &db, &mut progress).await?,
Version::V0_3_5_1(v) => v.0.migrate_to(&Current::new(), &db, &mut progress).await?,
Version::V0_3_5_2(v) => v.0.migrate_to(&Current::new(), &db, &mut progress).await?,
Version::V0_3_6(v) => v.0.migrate_to(&Current::new(), &db, &mut progress).await?,
Version::V0_3_6_alpha_0(v) => v.0.migrate_to(&Current::new(), &db, &mut progress).await?,
Version::Other(_) => {
return Err(Error::new(
eyre!("Cannot downgrade"),