fix(settings): make the generation budget reachable and honest (#1797)
The compute-time error told users to raise a generation timeout that had no control anywhere in the app — the only knob was an environment variable, and on Windows the docs explicitly warn against the usual way of setting one. Both budgets are now editable in Settings under Performance & Device, persisted and applied on the next start. Two defects found in review and fixed here rather than shipped: an explicit universal budget silently overrode a separately saved CPU budget, so the CPU row would have looked like it worked and done nothing; and a value already set in the environment shadowed the saved preference while the panel still reported success. A shadowed row now says so instead. Long-input warnings also fire on Apple Silicon, which gets the accelerated budget and was the device in one of the duplicate reports. Fixes #1787. Closes the reports tracked in #1774 and #1778.
This commit is contained in:
@@ -557,8 +557,21 @@ them to fail faster on a small machine.
|
||||
|
||||
CPU-only hosts use a bounded 600-second generation floor because correct CPU
|
||||
synthesis can take longer than the accelerated five-minute budget. Override it
|
||||
with `OMNIVOICE_CPU_GENERATE_TIMEOUT_S`; an explicit higher
|
||||
or lower `OMNIVOICE_GENERATE_TIMEOUT_S` always wins.
|
||||
with `OMNIVOICE_CPU_GENERATE_TIMEOUT_S` — an explicit value here always
|
||||
governs CPU-family generation, independent of `OMNIVOICE_GENERATE_TIMEOUT_S`.
|
||||
Setting *only* `OMNIVOICE_GENERATE_TIMEOUT_S` still governs CPU hosts too, the
|
||||
same as it always has (a quick way to lower the watchdog everywhere with one
|
||||
var); it only stops doing so once you also set an explicit
|
||||
`OMNIVOICE_CPU_GENERATE_TIMEOUT_S`, which then takes precedence for CPU jobs.
|
||||
|
||||
Both budgets are also editable from **Settings → Performance & Device →
|
||||
Compute-time budget** — no env var or config file needed. A value saved there
|
||||
persists across restarts but only takes effect on the *next* backend restart
|
||||
(the running process already read the old value at startup), which the panel
|
||||
states — and if an external env var (shell profile, `.env`, Docker `-e`,
|
||||
systemd unit, …) is already providing the same key, the panel says so instead,
|
||||
since that external value keeps winning on every future restart too, not just
|
||||
this one.
|
||||
|
||||
**Two things changed here** ([#1190](https://github.com/debpalash/VoiceStudio/issues/1190)):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user