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:
@@ -7,9 +7,9 @@ use tokio::sync::{mpsc as tokio_mpsc, Mutex as AsyncMutex};
|
||||
use tokio::task::JoinHandle;
|
||||
|
||||
use crate::commands::security::ensure_main_window;
|
||||
use kon_audio::{DeviceInfo, MicrophoneCapture, WavWriter};
|
||||
use kon_core::constants::WHISPER_SAMPLE_RATE;
|
||||
use kon_core::types::AudioSamples;
|
||||
use magnotia_audio::{DeviceInfo, MicrophoneCapture, WavWriter};
|
||||
use magnotia_core::constants::WHISPER_SAMPLE_RATE;
|
||||
use magnotia_core::types::AudioSamples;
|
||||
|
||||
const MAX_NATIVE_CAPTURE_RETURN_SAMPLES: usize = WHISPER_SAMPLE_RATE as usize * 60 * 10;
|
||||
|
||||
@@ -360,8 +360,8 @@ pub fn resolve_recording_path(
|
||||
/// collisions, which `SystemTime::now()` alone cannot guarantee
|
||||
/// (two calls in the same clock tick can return identical nanos).
|
||||
///
|
||||
/// Format: `kon-<secs>-<nanos_in_sec>-<counter>.wav`, e.g.
|
||||
/// `kon-1776828000-123456789-0000.wav`.
|
||||
/// Format: `magnotia-<secs>-<nanos_in_sec>-<counter>.wav`, e.g.
|
||||
/// `magnotia-1776828000-123456789-0000.wav`.
|
||||
fn recording_filename() -> String {
|
||||
let duration = std::time::SystemTime::now()
|
||||
.duration_since(std::time::UNIX_EPOCH)
|
||||
@@ -369,11 +369,11 @@ fn recording_filename() -> String {
|
||||
let secs = duration.as_secs();
|
||||
let nanos = duration.subsec_nanos();
|
||||
let counter = RECORDING_COUNTER.fetch_add(1, std::sync::atomic::Ordering::Relaxed);
|
||||
format!("kon-{secs}-{nanos:09}-{counter:04}.wav")
|
||||
format!("magnotia-{secs}-{nanos:09}-{counter:04}.wav")
|
||||
}
|
||||
|
||||
/// Process-lifetime monotonic counter for `recording_filename`. Starts
|
||||
/// at 0 on each Kon launch; wall-clock secs/nanos still advance across
|
||||
/// at 0 on each Magnotia launch; wall-clock secs/nanos still advance across
|
||||
/// restarts, so cross-launch collisions are already impossible — the
|
||||
/// counter is the last-mile guarantee against within-launch same-tick
|
||||
/// collisions.
|
||||
@@ -408,11 +408,11 @@ mod tests {
|
||||
#[test]
|
||||
fn recording_filename_has_expected_shape() {
|
||||
let name = recording_filename();
|
||||
assert!(name.starts_with("kon-"));
|
||||
assert!(name.starts_with("magnotia-"));
|
||||
assert!(name.ends_with(".wav"));
|
||||
// Shape: kon-<digits>-<9 digits>-<>=4 digits>.wav
|
||||
// Shape: magnotia-<digits>-<9 digits>-<>=4 digits>.wav
|
||||
let rest = name
|
||||
.strip_prefix("kon-")
|
||||
.strip_prefix("magnotia-")
|
||||
.and_then(|s| s.strip_suffix(".wav"))
|
||||
.expect("shape prefix/suffix");
|
||||
let parts: Vec<&str> = rest.split('-').collect();
|
||||
@@ -519,7 +519,7 @@ pub async fn persist_audio_samples(
|
||||
|
||||
tokio::task::spawn_blocking(move || {
|
||||
let audio = AudioSamples::mono_16khz(samples);
|
||||
kon_audio::write_wav(&path_clone, &audio).map_err(|e| e.to_string())
|
||||
magnotia_audio::write_wav(&path_clone, &audio).map_err(|e| e.to_string())
|
||||
})
|
||||
.await
|
||||
.map_err(|e| e.to_string())??;
|
||||
|
||||
Reference in New Issue
Block a user