From b4771d1b397ea97a2cea27e8019724bd2cae4e27 Mon Sep 17 00:00:00 2001 From: Yuri Karamian Date: Tue, 10 Feb 2026 00:51:42 +0100 Subject: [PATCH] v1.0.2 - Update banner, smart updater, install type detection --- package.json | 2 +- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- src-tauri/src/commands.rs | 13 +++++++++++ src-tauri/src/lib.rs | 1 + src-tauri/tauri.conf.json | 2 +- src/lib/api.ts | 4 ++++ src/lib/components/SettingsPanel.svelte | 29 ++++++++++++++++++++++++- src/lib/components/TitleBar.svelte | 27 ++++++++++++++++++++++- src/lib/stores/app.ts | 20 +++++++++++++++++ src/routes/+layout.svelte | 10 +++++++-- 11 files changed, 104 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 2cd2887..1a7f250 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "helixnotes", "private": true, "license": "AGPL-3.0-or-later", - "version": "1.0.1", + "version": "1.0.2", "type": "module", "scripts": { "dev": "vite dev", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 7c72845..fd9dee4 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1778,7 +1778,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "helixnotes" -version = "1.0.1" +version = "1.0.2" dependencies = [ "chrono", "dirs", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index dd7be63..fd3a7da 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "helixnotes" -version = "1.0.1" +version = "1.0.2" description = "Local-first markdown note-taking app" authors = ["HelixNotes"] license = "AGPL-3.0-or-later" diff --git a/src-tauri/src/commands.rs b/src-tauri/src/commands.rs index aacce3d..6e68341 100644 --- a/src-tauri/src/commands.rs +++ b/src-tauri/src/commands.rs @@ -1341,3 +1341,16 @@ fn save_app_config(config: &AppConfig) -> Result<(), String> { std::fs::write(path, data).map_err(|e| e.to_string())?; Ok(()) } + +// ── Install Type Detection ── + +#[tauri::command] +pub fn get_install_type() -> String { + if cfg!(target_os = "windows") { + "windows".to_string() + } else if std::env::var("APPIMAGE").is_ok() { + "appimage".to_string() + } else { + "native".to_string() + } +} diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index d620592..09eeaa3 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -94,6 +94,7 @@ pub fn run() { commands::set_ai_settings, commands::test_ai_connection, commands::ai_ask, + commands::get_install_type, ]); if close_to_tray { diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 5c1b776..5bb5154 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "productName": "HelixNotes", - "version": "1.0.1", + "version": "1.0.2", "identifier": "com.helixnotes.app", "build": { "frontendDist": "../build", diff --git a/src/lib/api.ts b/src/lib/api.ts index 3ba8689..13c13d8 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -309,3 +309,7 @@ export async function aiAsk( ): Promise { return invoke("ai_ask", { action, text, customPrompt, requestId }); } + +export async function getInstallType(): Promise { + return invoke("get_install_type"); +} diff --git a/src/lib/components/SettingsPanel.svelte b/src/lib/components/SettingsPanel.svelte index 69c0ece..2be4d80 100644 --- a/src/lib/components/SettingsPanel.svelte +++ b/src/lib/components/SettingsPanel.svelte @@ -1,5 +1,5 @@