mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-09-15 12:50:42 -07:00
- Add model folder migration with byte-level progress tracking (backend + UI) - Custom models directory support via VOICEBOX_MODELS_DIR env var passed to sidecar - Hardcoded model descriptions displayed in model detail cards - Open model folder button in storage location row - Remove 'not downloaded' badge from model cards - Fix server settings scroll offset for audio player - Fix shell open permission to allow file paths - Add normalize toggle to generation settings
33 lines
1022 B
TypeScript
33 lines
1022 B
TypeScript
import type { PlatformLifecycle } from '@/platform/types';
|
|
|
|
class WebLifecycle implements PlatformLifecycle {
|
|
onServerReady?: () => void;
|
|
|
|
async startServer(_remote = false, _modelsDir?: string | null): Promise<string> {
|
|
// Web assumes server is running externally
|
|
// Return a default URL - this should be configured via env vars
|
|
const serverUrl = import.meta.env.VITE_SERVER_URL || 'http://localhost:17493';
|
|
this.onServerReady?.();
|
|
return serverUrl;
|
|
}
|
|
|
|
async stopServer(): Promise<void> {
|
|
// No-op for web - server is managed externally
|
|
}
|
|
|
|
async restartServer(_modelsDir?: string | null): Promise<string> {
|
|
// No-op for web - server is managed externally
|
|
return import.meta.env.VITE_SERVER_URL || 'http://localhost:17493';
|
|
}
|
|
|
|
async setKeepServerRunning(_keep: boolean): Promise<void> {
|
|
// No-op for web
|
|
}
|
|
|
|
async setupWindowCloseHandler(): Promise<void> {
|
|
// No-op for web - no window close handling needed
|
|
}
|
|
}
|
|
|
|
export const webLifecycle = new WebLifecycle();
|