Skip to content

[Local AI] [WebSpeech] Install Brave's own model for on-device speech recognition - #39399

Draft
yrliou wants to merge 1 commit into
stt-pr2-enginefrom
stt-pr3-installer
Draft

[Local AI] [WebSpeech] Install Brave's own model for on-device speech recognition#39399
yrliou wants to merge 1 commit into
stt-pr2-enginefrom
stt-pr3-installer

Conversation

@yrliou

@yrliou yrliou commented Aug 25, 2026

Copy link
Copy Markdown
Member

Availability and install stay with upstream's OnDeviceSpeechRecognitionImpl, so the pieces it consults are replaced instead. Availability answers terminally because Brave ships no SODA and no optimization guide model, and the requested quality is normalised so both entry points take the SODA branch.

The global SodaInstaller is replaced by a subclass installing Brave's component. It derives from SodaInstaller, not the desktop implementation whose delivery acts on SODA's own ids, directories and preferences, so a new pure virtual becomes a compile error rather than inherited behaviour.

install() parks its reply so every path reports one. The component updater is watched too, because startup registration asks for the same download, drops its callback, and its failure is reported nowhere else. Only kUpdateError is taken: success arrives via ComponentReady, and intermediate states stay unreported so IsSodaLanguageDownloading stays false.

  • Resolves

@yrliou yrliou self-assigned this Aug 25, 2026
@yrliou yrliou added the CI/skip Do not run CI builds (except noplatform) label Aug 25, 2026
@yrliou
yrliou force-pushed the stt-pr3-installer branch from c924fce to 13719de Compare August 25, 2026 23:14
@yrliou
yrliou force-pushed the stt-pr3-installer branch from 13719de to d86937a Compare August 26, 2026 00:16
@yrliou
yrliou force-pushed the stt-pr3-installer branch from d86937a to 8fee7f8 Compare August 26, 2026 17:14
@yrliou
yrliou force-pushed the stt-pr3-installer branch from 8fee7f8 to 616890d Compare August 26, 2026 23:37
Availability and install stay with upstream's `OnDeviceSpeechRecognitionImpl`,
so the pieces it consults are replaced instead. Availability answers terminally
because Brave ships no SODA and no optimization guide model, and the requested
quality is normalised so both entry points take the SODA branch.

The global `SodaInstaller` is replaced by a subclass installing Brave's
component. It derives from `SodaInstaller`, not the desktop implementation
whose delivery acts on SODA's own ids, directories and preferences, so a new
pure virtual becomes a compile error rather than inherited behaviour.

`install()` parks its reply so every path reports one. The component updater is
watched too, because startup registration asks for the same download, drops its
callback, and its failure is reported nowhere else. Only `kUpdateError` is
taken: success arrives via `ComponentReady`, and intermediate states stay
unreported so `IsSodaLanguageDownloading` stays false.
@yrliou
yrliou force-pushed the stt-pr3-installer branch from 616890d to e8c7a7b Compare August 26, 2026 23:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/skip Do not run CI builds (except noplatform)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant