chore: rebrand from Kon/Corbie to Magnotia
Replace all instances of the legacy product names "Kon" and "Corbie" with "Magnotia" across user-facing copy, code identifiers, package names, bundle ids, file paths, and documentation. Preserves the unrelated "konsole" (KDE terminal) reference and the parent CORBEL company name. - Renames 10 Rust crates (kon-* → magnotia-*) and the tauri binary - Updates package.json, tauri.conf.json (productName + identifier) - Renames CSS classes (kon-rh-* → magnotia-rh-*) and animations - Renames brand and roadmap docs - Regenerates Cargo.lock and package-lock.json Verified: svelte-check passes; pure-rust crates compile under new names.
This commit is contained in:
@@ -4,12 +4,12 @@ use serde::Serialize;
|
||||
|
||||
use crate::types::ModelId;
|
||||
|
||||
/// Structured error type for Kon.
|
||||
/// Structured error type for Magnotia.
|
||||
///
|
||||
/// Implements `Serialize` so errors can be sent to the frontend as
|
||||
/// structured JSON rather than opaque strings.
|
||||
#[derive(Debug, thiserror::Error, Serialize)]
|
||||
pub enum KonError {
|
||||
pub enum MagnotiaError {
|
||||
#[error("model not found: {0}")]
|
||||
ModelNotFound(ModelId),
|
||||
|
||||
@@ -57,4 +57,4 @@ fn serialize_io_error<S: serde::Serializer>(
|
||||
s.serialize_str(&err.to_string())
|
||||
}
|
||||
|
||||
pub type Result<T> = std::result::Result<T, KonError>;
|
||||
pub type Result<T> = std::result::Result<T, MagnotiaError>;
|
||||
|
||||
@@ -19,7 +19,7 @@ pub struct CpuInfo {
|
||||
}
|
||||
|
||||
/// Runtime-detected CPU feature flags relevant to the speech-to-text
|
||||
/// and LLM backends Kon ships. All whisper.cpp / llama.cpp / ggml
|
||||
/// and LLM backends Magnotia ships. All whisper.cpp / llama.cpp / ggml
|
||||
/// kernels degrade roughly two tiers without AVX2, which is why we
|
||||
/// surface it separately: when AVX2 is absent, the UI should warn the
|
||||
/// user that performance will be a fraction of what they would see
|
||||
|
||||
@@ -7,7 +7,7 @@ pub mod process_watch;
|
||||
pub mod recommendation;
|
||||
pub mod types;
|
||||
|
||||
pub use error::{KonError, Result};
|
||||
pub use error::{MagnotiaError, Result};
|
||||
pub use types::{
|
||||
AudioSamples, DownloadProgress, EngineName, Megabytes, ModelId, Segment, Transcript,
|
||||
TranscriptionOptions,
|
||||
|
||||
@@ -19,7 +19,7 @@ impl AppPaths {
|
||||
}
|
||||
|
||||
pub fn database_path(&self) -> PathBuf {
|
||||
self.app_data_dir.join("kon.db")
|
||||
self.app_data_dir.join("magnotia.db")
|
||||
}
|
||||
|
||||
pub fn recordings_dir(&self) -> PathBuf {
|
||||
@@ -67,7 +67,7 @@ fn resolve_app_data_dir() -> PathBuf {
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
let local_app_data = std::env::var("LOCALAPPDATA").unwrap_or_else(|_| ".".to_string());
|
||||
return PathBuf::from(local_app_data).join("kon");
|
||||
return PathBuf::from(local_app_data).join("magnotia");
|
||||
}
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
@@ -76,28 +76,28 @@ fn resolve_app_data_dir() -> PathBuf {
|
||||
return PathBuf::from(home)
|
||||
.join("Library")
|
||||
.join("Application Support")
|
||||
.join("Kon");
|
||||
.join("Magnotia");
|
||||
}
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
let home = std::env::var("HOME").unwrap_or_else(|_| "/tmp".to_string());
|
||||
let legacy = PathBuf::from(&home).join(".kon");
|
||||
let legacy = PathBuf::from(&home).join(".magnotia");
|
||||
if legacy.exists() {
|
||||
return legacy;
|
||||
}
|
||||
if let Ok(xdg) = std::env::var("XDG_DATA_HOME") {
|
||||
if !xdg.is_empty() {
|
||||
return PathBuf::from(xdg).join("kon");
|
||||
return PathBuf::from(xdg).join("magnotia");
|
||||
}
|
||||
}
|
||||
PathBuf::from(home).join(".local").join("share").join("kon")
|
||||
PathBuf::from(home).join(".local").join("share").join("magnotia")
|
||||
}
|
||||
|
||||
#[cfg(not(any(target_os = "windows", target_os = "macos", target_os = "linux")))]
|
||||
{
|
||||
let home = std::env::var("HOME").unwrap_or_else(|_| "/tmp".to_string());
|
||||
PathBuf::from(home).join(".kon")
|
||||
PathBuf::from(home).join(".magnotia")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,16 +110,16 @@ mod tests {
|
||||
#[test]
|
||||
fn derives_all_paths_from_one_base() {
|
||||
let paths = AppPaths {
|
||||
app_data_dir: PathBuf::from("/tmp/kon-test"),
|
||||
app_data_dir: PathBuf::from("/tmp/magnotia-test"),
|
||||
};
|
||||
assert_eq!(paths.database_path(), PathBuf::from("/tmp/kon-test/kon.db"));
|
||||
assert_eq!(paths.database_path(), PathBuf::from("/tmp/magnotia-test/magnotia.db"));
|
||||
assert_eq!(
|
||||
paths.speech_model_dir(&ModelId::new("whisper-base-en")),
|
||||
PathBuf::from("/tmp/kon-test/models/whisper-base-en")
|
||||
PathBuf::from("/tmp/magnotia-test/models/whisper-base-en")
|
||||
);
|
||||
assert_eq!(
|
||||
paths.llm_models_dir(),
|
||||
PathBuf::from("/tmp/kon-test/models/llm")
|
||||
PathBuf::from("/tmp/magnotia-test/models/llm")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ mod tests {
|
||||
fn parakeet_is_top_recommendation_when_hardware_supports_it() {
|
||||
// Any machine that fits Parakeet in RAM should see it ranked first —
|
||||
// Parakeet-TDT is English-only but beats Whisper on English at lower
|
||||
// latency, so it's Kon's default recommendation when eligible.
|
||||
// latency, so it's Magnotia's default recommendation when eligible.
|
||||
// (Users on non-English languages adjust manually — handled at the
|
||||
// settings-UI level, not at the scoring level for now.)
|
||||
let profile = profile_with_ram(Megabytes(16384));
|
||||
|
||||
Reference in New Issue
Block a user