diff --git a/changelog.md b/changelog.md index 018a6e85..0c4a1ca9 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,20 @@ -## v3.0.1 +## v3.0.14 -Changes since v3.0.0: -* fix(core): resolve variable shadowing in magic mount execution -* chore(release): bump version to v3.0.0 [skip ci] \ No newline at end of file +Changes since v3.0.12: +* chore: bump to v3.0.14 +* chore: bump to v3.0.12 +* chore: make cargo clippy happy +* xtask: refactor version retrieval +* feat: Add directory review +* opt: Optimize umount logic +* chore: removed useless code +* feat: Avoid duplicate commits and umounts +* feat: Avoid having the same subdirectory and parent directory during umount. +* refactor(core/storage): unify stale image cleanup logic +* refactor(overlayfs): implement hierarchical mounting to bypass layer limits +* chore: completely remove backup +* xtask: dropped ksusig +* xtask: fix pnpm command error +* Revert "feat: drop armv7 surpport" +* workflow: remove ksusig +* fix: fix pnpm build \ No newline at end of file diff --git a/module/module.prop b/module/module.prop index 6b0d4d1a..f19a330c 100644 --- a/module/module.prop +++ b/module/module.prop @@ -1,8 +1,8 @@ id=meta-hybrid metamodule=1 name=Hybrid Mount -version=v3.0.1 -versionCode=144 +version=v3.0.14 +versionCode=148 author=Hybrid Mount Developers updateJson=https://raw.githubusercontent.com/YuzakiKokuban/meta-hybrid_mount/master/update.json description=Waiting for daemon... \ No newline at end of file diff --git a/notify b/notify index 018ae126..81ac1e80 100755 Binary files a/notify and b/notify differ diff --git a/src/core/storage.rs b/src/core/storage.rs index ef716b53..80212f6d 100644 --- a/src/core/storage.rs +++ b/src/core/storage.rs @@ -119,14 +119,16 @@ pub fn setup( disable_umount: bool, ) -> Result { if img_path.exists() - && let Err(e) = fs::remove_file(img_path) { - log::warn!("Failed to remove old ext4 image: {}", e); - } + && let Err(e) = fs::remove_file(img_path) + { + log::warn!("Failed to remove old ext4 image: {}", e); + } let erofs_path = img_path.with_extension("erofs"); if erofs_path.exists() - && let Err(e) = fs::remove_file(&erofs_path) { - log::warn!("Failed to remove old erofs image: {}", e); - } + && let Err(e) = fs::remove_file(&erofs_path) + { + log::warn!("Failed to remove old erofs image: {}", e); + } if is_mounted(mnt_base) { let _ = umount(mnt_base, UnmountFlags::DETACH); diff --git a/tools/notify/Cargo.lock b/tools/notify/Cargo.lock index 21f2ede5..44004832 100644 --- a/tools/notify/Cargo.lock +++ b/tools/notify/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.101" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "async-stream" @@ -1293,9 +1293,9 @@ dependencies = [ [[package]] name = "tgbot" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0212214ba5db8a369e2853900248792d2b19737dda88ecabbb2e31ef85a1d752" +checksum = "bca7831e7e6d1103c9578da2f10f9aa8ec56f63ca83ee643d1dd9151728c6587" dependencies = [ "async-stream", "bytes", diff --git a/tools/notify/Cargo.toml b/tools/notify/Cargo.toml index 8a313f67..9c17badf 100644 --- a/tools/notify/Cargo.toml +++ b/tools/notify/Cargo.toml @@ -9,7 +9,7 @@ edition = "2024" [workspace] [dependencies] -anyhow = "1.0.101" +anyhow = "1.0.102" serde_json = "1.0.149" -tgbot = "0.41.0" +tgbot = "0.42.0" tokio = { version = "1.49.0", features = ["full"] } diff --git a/update.json b/update.json index e6efdea5..2a8cea52 100644 --- a/update.json +++ b/update.json @@ -1,6 +1,6 @@ { - "version": "v3.0.1", - "versionCode": 144, - "zipUrl": "https://github.com/Hybrid-Mount/meta-hybrid_mount/releases/download/v3.0.1/Meta-Hybrid-v3.0.1.zip", + "version": "v3.0.14", + "versionCode": 148, + "zipUrl": "https://github.com/Hybrid-Mount/meta-hybrid_mount/releases/download/v3.0.14/Meta-Hybrid-3.0.14-1176.zip", "changelog": "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/master/changelog.md" } diff --git a/webui/src/lib/constants_gen.ts b/webui/src/lib/constants_gen.ts index 12f26f87..43b74fb8 100644 --- a/webui/src/lib/constants_gen.ts +++ b/webui/src/lib/constants_gen.ts @@ -8,3 +8,4 @@ export const RUST_PATHS = { DAEMON_LOG: "/data/adb/meta-hybrid/daemon.log", } as const; export const BUILTIN_PARTITIONS = ["system", "vendor", "product", "system_ext", "odm", "oem", "apex"] as const; +export const IS_RELEASE = false; diff --git a/webui/src/routes/InfoTab.tsx b/webui/src/routes/InfoTab.tsx index 1d6c6bdf..03c52bbb 100644 --- a/webui/src/routes/InfoTab.tsx +++ b/webui/src/routes/InfoTab.tsx @@ -3,10 +3,11 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { createSignal, onMount, Show, For, createMemo } from "solid-js"; +import { createSignal, onMount, Show, For } from "solid-js"; import { store } from "../lib/store"; import { API } from "../lib/api"; import { ICONS } from "../lib/constants"; +import { IS_RELEASE } from "../lib/constants_gen"; import "./InfoTab.css"; import Skeleton from "../components/Skeleton"; import "@material/web/button/filled-tonal-button.js"; @@ -48,9 +49,7 @@ export default function InfoTab() { let donateDialogRef: HTMLElement | undefined; let qrDialogRef: HTMLElement | undefined; - const isDev = createMemo(() => { - return !/^v\d+\.\d+\.\d+$/.test(version()); - }); + const isDev = () => !IS_RELEASE; onMount(async () => { try { @@ -391,4 +390,4 @@ export default function InfoTab() { ); -} +} \ No newline at end of file diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 9da274fc..c59a6f6c 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -122,7 +122,7 @@ fn build_full(release: bool, skip_webui: bool, target_arch: Option) -> Res let version = get_version()?; if !skip_webui { println!(":: Building WebUI..."); - build_webui(&version)?; + build_webui(&version, release)?; } let archs_to_build = if let Some(selected) = target_arch { @@ -173,8 +173,8 @@ fn build_full(release: bool, skip_webui: bool, target_arch: Option) -> Res Ok(()) } -fn build_webui(version: &str) -> Result<()> { - generate_webui_constants(version)?; +fn build_webui(version: &str, is_release: bool) -> Result<()> { + generate_webui_constants(version, is_release)?; let webui_dir = Path::new("webui"); let pnpm = if cfg!(windows) { "pnpm.cmd" } else { "pnpm" }; let status = Command::new(pnpm) @@ -194,11 +194,12 @@ fn build_webui(version: &str) -> Result<()> { Ok(()) } -fn generate_webui_constants(version: &str) -> Result<()> { +fn generate_webui_constants(version: &str, is_release: bool) -> Result<()> { let path = Path::new("webui/src/lib/constants_gen.ts"); let content = format!( r#" export const APP_VERSION = "{version}"; +export const IS_RELEASE = {is_release}; export const RUST_PATHS = {{ CONFIG: "/data/adb/meta-hybrid/config.toml", MODE_CONFIG: "/data/adb/meta-hybrid/module_mode.conf",