Add streaming ASR partial transcripts and reset hosts to env default
- Stream partial transcripts to the client during dictation for live feedback - Use OpenAI semantic VAD instead of manual commit intervals for better word boundaries - Append silence tail on finish to flush final utterance through VAD - Skip committing silence-only audio tails - Reset hosts to env-defined daemon when env var is present, overriding stored state
This commit is contained in:
@@ -329,6 +329,14 @@ function migrateLegacyToHostProfile(legacy: LegacyDaemonProfile): HostProfile {
|
||||
|
||||
async function loadDaemonRegistryFromStorage(): Promise<HostProfile[]> {
|
||||
try {
|
||||
// When env vars define a default daemon, always reset to that daemon only.
|
||||
// This ensures the app uses the configured daemon regardless of stored state.
|
||||
const envDefaults = parseEnvDaemonDefaults();
|
||||
if (envDefaults.length > 0) {
|
||||
await AsyncStorage.setItem(REGISTRY_STORAGE_KEY, JSON.stringify(envDefaults));
|
||||
return envDefaults;
|
||||
}
|
||||
|
||||
const stored = await AsyncStorage.getItem(REGISTRY_STORAGE_KEY);
|
||||
if (stored) {
|
||||
const parsed = JSON.parse(stored) as unknown;
|
||||
@@ -390,12 +398,6 @@ async function loadDaemonRegistryFromStorage(): Promise<HostProfile[]> {
|
||||
}
|
||||
}
|
||||
|
||||
const envDefaults = parseEnvDaemonDefaults();
|
||||
if (envDefaults.length > 0) {
|
||||
await AsyncStorage.setItem(REGISTRY_STORAGE_KEY, JSON.stringify(envDefaults));
|
||||
return envDefaults;
|
||||
}
|
||||
|
||||
// No implicit localhost fallback: a fresh install starts with zero hosts.
|
||||
return [];
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user