1. Core Feature Addition:
- Added AllTalk V1/V2 server version selection
- Added RVC (Realistic Voice Conversion) support for V2
- RVC features are automatically disabled when V1 is selected
2. Code Improvements:
- Replaced custom debounce implementation with shared utils.js debounce utility
- Fixed linting issues:
- Converted HTML attribute quotes in template literals to single quotes
- Added trailing commas where required
- Fixed console.error message formatting
3. New Settings/Properties Added:
```javascript
server_version: 'v2' (default)
rvc_character_voice: 'Disabled'
rvc_character_pitch: '0'
rvc_narrator_voice: 'Disabled'
rvc_narrator_pitch: '0'
```
4. Bug Fixes/Improvements:
- Better error handling for RVC voice fetching
- Improved URL handling for V1/V2 differences in API responses
- Enhanced settings initialization and validation
5. Structural Changes:
- Added RVC-specific UI elements and controls
- Added version-specific logic for API endpoints
- Improved settings synchronization between UI and backend
**NOTE** On line 70 there is an eslint bypass:
```javascript
// HTML template literals can trigger ESLint quotes warnings when quotes are used in HTML attributes.
// Disabling quotes rule for this one line as it's a false positive with HTML template literals.
// eslint-disable-next-line quotes
let html = `<div class="at-settings-separator">AllTalk V2 Settings</div>`;
```
The reason is:
1. ESLint's quotes rule wants all strings to use single quotes
2. However, this is a template literal containing HTML, where double quotes are standard for attributes
3. I tried various solutions:
- Using single quotes: `<div class='at-settings-separator'>`
- Using double quotes: `<div class="at-settings-separator">`
- Even tried escaping quotes
But ESLint just kept flagging it as an error
* llama.cpp Enable dry w/ array convert
The new PR that was merged needs an array instead of a str
https://github.com/ggerganov/llama.cpp/pull/9702
* Safe sequence breakers parse
* Support comma-separated list of llama.cpp sequence breakers #3026
---------
Co-authored-by: Beinsezii <beinsezii@gmail.com>