Skip to content

feat: pluggable TTS engine interface with Kokoro + OuteTTS adapters

609ddd5
Select commit
Loading
Failed to load commit list.
Open

feat: pluggable TTS engine interface #247

feat: pluggable TTS engine interface with Kokoro + OuteTTS adapters
609ddd5
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Apr 9, 2026 in 1m 38s

Quality Gate failed

Annotations

Check warning on line 26 in src/engine/EngineRegistry.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Member '_instances' is never reassigned; mark it as `readonly`.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy6I8C5q95abmHie&open=AZ1zfy6I8C5q95abmHie&pullRequest=247

Check warning on line 77 in src/services/generationToolLoop.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this character class by the character itself.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy4h8C5q95abmHh7&open=AZ1zfy4h8C5q95abmHh7&pullRequest=247

Check warning on line 146 in src/engine/tts/engines/qwen3/Qwen3TTSEngine.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy518C5q95abmHiU&open=AZ1zfy518C5q95abmHiU&pullRequest=247

Check warning on line 92 in src/utils/messageContent.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this character class by the character itself.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy9N8C5q95abmHjL&open=AZ1zfy9N8C5q95abmHjL&pullRequest=247

Check failure on line 83 in src/engine/tts/engines/kokoro/KokoroTTSBridge.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to not nest functions more than 4 levels deep.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy5W8C5q95abmHiF&open=AZ1zfy5W8C5q95abmHiF&pullRequest=247

Check warning on line 4 in src/stores/ttsStore.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'../engine' imported multiple times.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy9w8C5q95abmHjQ&open=AZ1zfy9w8C5q95abmHjQ&pullRequest=247

Check warning on line 39 in src/components/NumericStepper.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer `Number.parseFloat` over `parseFloat`.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy248C5q95abmHhy&open=AZ1zfy248C5q95abmHhy&pullRequest=247

Check warning on line 114 in __tests__/unit/stores/ttsStore.test.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Don't use a zero fraction in the number.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfyuL8C5q95abmHhU&open=AZ1zfyuL8C5q95abmHhU&pullRequest=247

Check warning on line 152 in src/components/ChatInput/AudioModeLayout.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unexpected negated condition.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfyzc8C5q95abmHhj&open=AZ1zfyzc8C5q95abmHhj&pullRequest=247

Check warning on line 76 in src/screens/ChatScreen/useChatScreen.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unexpected negated condition.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy678C5q95abmHii&open=AZ1zfy678C5q95abmHii&pullRequest=247

Check warning on line 176 in src/screens/TTSSettingsScreen/index.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unexpected negated condition.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy8m8C5q95abmHiw&open=AZ1zfy8m8C5q95abmHiw&pullRequest=247

Check warning on line 244 in src/services/ttsService.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Don't use a zero fraction in the number.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy3J8C5q95abmHhz&open=AZ1zfy3J8C5q95abmHhz&pullRequest=247

Check warning on line 115 in src/components/ChatInput/Popovers.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unexpected negated condition.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfyzK8C5q95abmHhh&open=AZ1zfyzK8C5q95abmHhh&pullRequest=247

Check warning on line 227 in src/screens/DownloadManagerScreen/items.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested ternary operation into an independent statement.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy7X8C5q95abmHiq&open=AZ1zfy7X8C5q95abmHiq&pullRequest=247

Check warning on line 59 in __tests__/unit/stores/ttsStore.test.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Unexpected empty class.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfyuL8C5q95abmHhS&open=AZ1zfyuL8C5q95abmHhS&pullRequest=247

Check warning on line 300 in src/services/ttsService.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Don't use a zero fraction in the number.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy3J8C5q95abmHh1&open=AZ1zfy3J8C5q95abmHh1&pullRequest=247

Check warning on line 17 in src/types/tts.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

export statement without specifiers is not allowed.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy-x8C5q95abmHjX&open=AZ1zfy-x8C5q95abmHjX&pullRequest=247

Check warning on line 34 in src/components/NumericStepper.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer `Number.parseFloat` over `parseFloat`.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy248C5q95abmHhx&open=AZ1zfy248C5q95abmHhx&pullRequest=247

Check warning on line 140 in src/stores/ttsStore.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Don't use a zero fraction in the number.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy9w8C5q95abmHjS&open=AZ1zfy9w8C5q95abmHjS&pullRequest=247

Check warning on line 92 in src/utils/messageContent.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer `String#replaceAll()` over `String#replace()`.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy9N8C5q95abmHjJ&open=AZ1zfy9N8C5q95abmHjJ&pullRequest=247

Check warning on line 7 in src/engine/tts/engines/qwen3/models.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy5-8C5q95abmHic&open=AZ1zfy5-8C5q95abmHic&pullRequest=247

Check warning on line 15 in src/engine/tts/engines/kokoro/KokoroTTSBridge.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'react-native-executorch' imported multiple times.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy5W8C5q95abmHiC&open=AZ1zfy5W8C5q95abmHiC&pullRequest=247

Check warning on line 243 in src/screens/ChatScreen/useChatScreen.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer using an optional chain expression instead, as it's more concise and easier to read.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy678C5q95abmHik&open=AZ1zfy678C5q95abmHik&pullRequest=247

Check warning on line 287 in src/engine/tts/engines/qwen3/Qwen3TTSEngine.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy518C5q95abmHiW&open=AZ1zfy518C5q95abmHiW&pullRequest=247

Check warning on line 225 in src/screens/DownloadManagerScreen/items.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested ternary operation into an independent statement.

See more on https://sonarcloud.io/project/issues?id=alichherawalla_off-grid-mobile&issues=AZ1zfy7X8C5q95abmHio&open=AZ1zfy7X8C5q95abmHio&pullRequest=247