2842 Commits
Author SHA1 Message Date
Palash Debnath d6f034c754 fix: preserve numeric dialogue across mixed subtitle cue boundaries 2026-09-17 12:15:36 +05:30
Palash Debnath f840303549 Merge branch 'fix/review-2152' into fix/review-2143 2026-09-17 12:14:19 +05:30
Palash Debnath fc98d07b39 fix: integrate current main and finish review requirements for #2066 2026-09-17 12:10:32 +05:30
Palash Debnath 637e24d8a1 fix: integrate current main and finish review requirements for #2085 2026-09-17 12:10:27 +05:30
Palash Debnath 08e5d0d5cd fix: integrate current main and finish review requirements for #2084 2026-09-17 12:10:23 +05:30
Palash Debnath c52fdd263f fix: integrate current main and finish review requirements for #2074 2026-09-17 12:10:19 +05:30
Palash Debnath 2a3257be78 fix: integrate current main and finish review requirements for #2075 2026-09-17 12:10:15 +05:30
Palash Debnath 7d77f1532b fix: integrate current main and finish review requirements for #2106 2026-09-17 12:10:10 +05:30
Palash Debnath 519cc9c1c9 fix: integrate current main and finish review requirements for #2083 2026-09-17 12:10:07 +05:30
Palash Debnath 4273f8149b fix: integrate current main and finish review requirements for #2072 2026-09-17 12:10:02 +05:30
Palash Debnath 65a535a638 fix: integrate current main and finish review requirements for #2080 2026-09-17 12:09:57 +05:30
Palash Debnath b5e9e1bf58 Merge remote-tracking branch 'origin/main' into fix/review-2066 2026-09-17 12:08:09 +05:30
Palash Debnath dad6bb1cef Merge remote-tracking branch 'origin/main' into fix/review-2085 2026-09-17 12:08:01 +05:30
Palash Debnath 904d90d6a7 Merge remote-tracking branch 'origin/main' into fix/review-2084 2026-09-17 12:07:56 +05:30
Palash Debnath 583189a478 Merge remote-tracking branch 'origin/main' into fix/review-2152 2026-09-17 12:07:52 +05:30
Palash Debnath 58eba1e0cd Merge remote-tracking branch 'origin/main' into fix/review-2143 2026-09-17 12:07:48 +05:30
Palash Debnath 52962e47c6 Merge remote-tracking branch 'origin/main' into fix/review-2077 2026-09-17 12:07:40 +05:30
Palash Debnath 6772ad363f Merge remote-tracking branch 'origin/main' into fix/review-2074 2026-09-17 12:07:31 +05:30
Palash Debnath 63a8bf4165 Merge remote-tracking branch 'origin/main' into fix/review-2075 2026-09-17 12:07:27 +05:30
Palash Debnath f3da7b0ef3 Merge remote-tracking branch 'origin/main' into fix/review-2106 2026-09-17 12:07:22 +05:30
Palash Debnath 552711b1d8 Merge remote-tracking branch 'origin/main' into fix/review-2111 2026-09-17 12:07:11 +05:30
Palash Debnath eca0972511 Merge remote-tracking branch 'origin/main' into fix/review-2109 2026-09-17 12:07:07 +05:30
Palash Debnath 1685f6aba9 Merge remote-tracking branch 'origin/main' into fix/review-2072 2026-09-17 12:06:58 +05:30
Palash Debnath c780744b11 docs: document sibling media tool resolution and credit contributor 2026-09-17 12:06:32 +05:30
Palash Debnath aeb0c4ea6a Merge remote-tracking branch 'origin/main' into fix/review-2107 2026-09-17 12:06:01 +05:30
sean park e35f066a9b docs(changelog): note the CTranslate2 exec-stack repair and the PyTorch Whisper OOM ladder (#2165) 2026-09-17 13:37:00 +09:00
sean park 67c61fe357 fix(asr): repair CTranslate2's exec-stack request instead of only routing around it (#692)
ctranslate2 <=4.4.0 marks its native library's stack RWE; kernels that
refuse the request fail the dlopen, taking whisperx, faster-whisper and
Argos translation down. main learned to detect and fall back; this also
fixes the library: core.execstack clears the one ELF bit in place on
first probe (Linux-only, memoized, never raises), so the engines load
normally on hardened kernels. Argos's probe moves to
argostranslate.translate so it cannot advertise an engine whose every
request 500s, and the dub route returns one actionable 400.

Also: pytorch-whisper survives a CUDA OOM at transcribe time by
stepping the batch down (16->4->1, 8->2->1 with word timestamps) and
finishing on CPU rather than dropping the chunk.
2026-09-17 13:19:30 +09:00
rollroyces 50c6bfbd01 fix(dub): drop redundant blank-input branch; expand docstring
Addresses the CodeRabbit 🟡 Minor nit on the empty-input branch added in
#2143: the explicit `if not raw: raise ValueError(...)` is fully shadowed
by the `re.fullmatch(r"[a-z]{2,3}", code)` check two lines below, which
raises the same message for any input that does not look like a language
code (including empty and whitespace-only after strip()). Removing the
shortcut is the smallest correct change — same caller-observable
behavior, one less branch.

The expanded docstring enumerates the alias shapes the function now
recognises, so future readers do not have to reverse-engineer the
behaviour from the alias dicts.

The test `test_argos_lang_code_rejects_invalid_inputs` is widened to
cover a non-empty but invalid shape (`"Chinese ("` — looks like a label,
fails the regex) alongside the original empty/whitespace cases, so it
asserts behavior unique to the regex branch rather than passing for the
wrong reason.
2026-09-17 09:55:38 +08:00
Palash Debnath 18c543484b Merge pull request #2161 from debpalash/fix/electron-release-empty-signing
Fix Electron release packaging with missing signing credentials
2026-09-16 16:08:26 -07:00
Palash Debnath 54c89453a4 Handle empty signing secrets and retry immutable Electron release tags 2026-09-17 04:16:51 +05:30
Palash Debnath 135ccd09ec Merge pull request #2158 from debpalash/fix/release-review-hardening
Harden Electron release authorization and playback continuity
v0.5.3
2026-09-16 14:51:56 -07:00
SurefireStudios 8c69dff00f Trim the deadline comments to what the code needs 2026-09-16 14:36:19 -07:00
SurefireStudios 968d05faea fix(sidecar): derive the generate deadline from the request's own budget
Greptile on #2109: a flat 600s default still undercuts the budget the job
was granted. generate_timeout_s adds 1s per 40 characters past a 1200-char
allowance and can be raised by env, so a long passage is granted more than
600s and a constant deadline only moves the cliff to longer inputs rather
than removing it. The comment on GENERATE_RECV_TIMEOUT_S claimed the inner
deadline "can never fire before the outer budget", which was not true for
those inputs.

_effective_recv_timeout_s(text) now takes the larger of the engine's own
value and the budget this specific request was granted, and generate()
uses it for both the first frame and the progress loop.

Only for engines that expressed no opinion. An override is a deliberate
statement about that model, and #2103 asks for "fast engines opt down" to
keep working, so a subclass that sets recv_timeout_s keeps exactly that
value — including a smaller one. Detected by walking __mro__ for a
recv_timeout_s in a subclass __dict__ rather than comparing values, so an
engine that happens to pick the same number as the floor is still honoured.

Budget probing is advisory: any failure falls back to the class floor
rather than turning a working generate into an error.

Tests: a long passage raises the deadline above the flat floor and tracks
generate_timeout_s; an opt-down engine keeps its value at any text length;
a failing probe falls back. Verified load-bearing by making the derivation
return the engine value unconditionally (the long-passage test fails on
600.0 > 600.0).
2026-09-16 14:36:19 -07:00
SurefireStudios 07f2976756 docs(changelog): reference the PR alongside the issue 2026-09-16 14:36:19 -07:00
SurefireStudios a65a0a95af fix(sidecar): stop killing generations at the health-check ping budget
SubprocessBackend.recv_timeout_s defaulted to RECV_TIMEOUT_S (60s), the
budget for a health_check ping. Four engines never overrode it and so used
a ping's deadline as their generation deadline: confucius4-tts, dots-tts,
moss-tts-v15 and supertonic3. All four fall back to CPU off CUDA, where a
normal sentence does not finish in 60s, and the watchdog killed them
mid-synthesis.

That deadline sat 5-10x below the wall-clock budget the same job was
granted by model_manager.generate_timeout_s (300s accelerated, 600s CPU),
so the sidecar was reclaimed while its caller still considered it well
inside budget. Every engine that did override the hook chose 300s..900s,
at or above the accelerated budget; omnivoice_subprocess documents the
intent as "aligns the kill deadline with the generate budget". The 60s
default contradicted that intent for anyone who did not opt out of it.

which left the class default and the four silent engines untouched.

Default to GENERATE_RECV_TIMEOUT_S (600s, the CPU budget floor) so an
engine that expresses no opinion can no longer be cut off before its own
job budget. RECV_TIMEOUT_S stays 60s for health_check, where a ping must
stay fast. Overriding is still how an engine asks for more.

Second half: the watchdog logged "exceeded recv timeout; killing" but
generate() raised "sidecar closed pipe mid-generate", so the one fact that
explained the failure never left the backend log and reporters read it as
a crash. _last_recv_timed_out already distinguished the two for the spawn
handshake (#2026); use it here too and name the deadline, the elapsed
time and the sidecar's last stderr. Crash wording is unchanged.

Tests: a registry invariant that no SubprocessBackend can be dispatched
with a deadline under the accelerated budget, so a new engine cannot
inherit this by omission the way these four did; lockstep with
model_manager's budgets; and a wedging sidecar asserting the timeout
message. Verified fail-before/pass-after by reverting the default to 60s
(all 7 fail, naming exactly the four engines) and by forcing the crash
wording (the message test fails).

Fixes #2103
2026-09-16 14:36:09 -07:00
Palash Debnath 7114315e04 Check both signing credentials stay scoped to packaging 2026-09-17 03:03:04 +05:30
Palash Debnath 3d7c7710a1 Hide unavailable remote GPU metrics and use utilization fallback 2026-09-17 02:43:32 +05:30
Palash Debnath 1fea27543b Harden release authorization and preserve demo playback across languages 2026-09-17 02:38:09 +05:30
Palash Debnath c0a17f4272 Merge pull request #2157 from debpalash/fix/linux-electron-setup-sidebar
Make Electron primary and integrate desktop and README fixes
2026-09-16 13:44:29 -07:00
Palash Debnath 6cb1200b4e Merge branch 'velixio_dev' into fix/linux-electron-setup-sidebar 2026-09-17 01:55:33 +05:30
Palash Debnath 50d01567d4 Keep read-only telemetry outside worker drain and shutdown gates 2026-09-17 01:55:23 +05:30
Palash Debnath a91193d29d Merge branch 'review/gpu-2149' into fix/linux-electron-setup-sidebar 2026-09-17 01:47:57 +05:30
Palash Debnath 38d588fe93 Verify eager fallback remains usable on all desktop platforms 2026-09-17 01:47:52 +05:30
Palash Debnath 6896a19f91 Apply required frontend formatting to existing Electron transition changes 2026-09-17 01:47:18 +05:30
Palash Debnath 9fdb2b2fc9 Derive branding version checks from the canonical app version 2026-09-17 01:46:10 +05:30
Palash Debnath 835a2a9964 Gate Electron publication on signing checks or an explicit unsigned exception 2026-09-17 01:43:52 +05:30
Palash Debnath 03460c89b7 Merge branch 'velixio_dev' into fix/linux-electron-setup-sidebar 2026-09-17 01:42:08 +05:30
Palash Debnath 2ee455cc1f Prevent telemetry admission while the worker is retiring 2026-09-17 01:41:59 +05:30
Palash Debnath 715bbbde70 Merge branch 'velixio_dev' into fix/linux-electron-setup-sidebar 2026-09-17 01:41:14 +05:30
Palash Debnath 9ca9f74255 Merge branch 'review/gpu-2149' into fix/linux-electron-setup-sidebar 2026-09-17 01:41:08 +05:30