Skip to content

feat: TTS audio mode — Kokoro voice personas, seekbar, conversational AI - #236

Open
alichherawalla wants to merge 98 commits into
mainfrom
feat/tts-implementation
Open

feat: TTS audio mode — Kokoro voice personas, seekbar, conversational AI#236
alichherawalla wants to merge 98 commits into
mainfrom
feat/tts-implementation

Revert "fix: drop streaming TTS chain, speak full response after stre…

81c49ea
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Apr 9, 2026 in 1m 36s

Quality Gate failed

Annotations

Check failure on line 118 in src/components/ChatInput/Voice.ts

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=AZ1tYM5QxaCleYMjOgn5&open=AZ1tYM5QxaCleYMjOgn5&pullRequest=236

Check warning on line 228 in src/components/GenerationSettingsModal/TTSSection.tsx

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=AZ1tYM51xaCleYMjOgn-&open=AZ1tYM51xaCleYMjOgn-&pullRequest=236

Check warning on line 55 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=AZ1ntP6raZ8ob9HyFWRy&open=AZ1ntP6raZ8ob9HyFWRy&pullRequest=236

Check warning on line 36 in src/components/KokoroTTSManager.tsx

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=AZ1tYM7pxaCleYMjOgoF&open=AZ1tYM7pxaCleYMjOgoF&pullRequest=236

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

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer `String#codePointAt()` over `String#charCodeAt()`.

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

Check warning on line 161 in src/components/ChatInput/AudioModeLayout.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=AZ1tYM5CxaCleYMjOgn1&open=AZ1tYM5CxaCleYMjOgn1&pullRequest=236

Check warning on line 45 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=AZ1tYM_9xaCleYMjOgof&open=AZ1tYM_9xaCleYMjOgof&pullRequest=236

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=AZ1tYM5CxaCleYMjOgnz&open=AZ1tYM5CxaCleYMjOgnz&pullRequest=236

Check failure on line 67 in src/components/ChatInput/index.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 23 to the 15 allowed.

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

Check warning on line 77 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=AZ1tYM_9xaCleYMjOgol&open=AZ1tYM_9xaCleYMjOgol&pullRequest=236

Check warning on line 215 in src/screens/ModelSettingsScreen/TextGenerationAdvanced.tsx

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=AZ1tYM-wxaCleYMjOgoW&open=AZ1tYM-wxaCleYMjOgoW&pullRequest=236

Check warning on line 170 in jest.setup.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=AZ1tYNB2xaCleYMjOgo-&open=AZ1tYNB2xaCleYMjOgo-&pullRequest=236

Check warning on line 78 in src/components/AudioMessageBubble/index.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Do not use Array index in keys

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

Check warning on line 87 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=AZ1tYM_9xaCleYMjOgor&open=AZ1tYM_9xaCleYMjOgor&pullRequest=236

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

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'../constants/kokoroModels' imported multiple times.

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

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

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=AZ1tYM_kxaCleYMjOgoZ&open=AZ1tYM_kxaCleYMjOgoZ&pullRequest=236

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

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Expected a `for-of` loop instead of a `for` loop with this simple iteration.

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

Check warning on line 43 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=AZ1tYM_9xaCleYMjOgoc&open=AZ1tYM_9xaCleYMjOgoc&pullRequest=236

Check warning on line 53 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=AZ1tYM_9xaCleYMjOgoi&open=AZ1tYM_9xaCleYMjOgoi&pullRequest=236

Check warning on line 45 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=AZ1tYM_9xaCleYMjOgoe&open=AZ1tYM_9xaCleYMjOgoe&pullRequest=236

Check warning on line 49 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=AZ1tYM_9xaCleYMjOgoh&open=AZ1tYM_9xaCleYMjOgoh&pullRequest=236

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

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove duplicates in this character class.

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

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=AZ1tYM-cxaCleYMjOgoR&open=AZ1tYM-cxaCleYMjOgoR&pullRequest=236

Check warning on line 16 in src/components/AudioMessageBubble/PlaybackControls.tsx

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=AZ1tYM4jxaCleYMjOgnw&open=AZ1tYM4jxaCleYMjOgnw&pullRequest=236

Check warning on line 829 in __tests__/rntl/screens/DownloadManagerScreen.test.tsx

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer `.find(…)` over `.filter(…)`.

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