fix(stories): preserve Unicode code points in spelling markup - #2651
rudycelekli wants to merge 1 commit into
Conversation
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 55 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. Review configuration: ⚙️ Run configuration
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[Medium risk] Fixes Unicode handling in the spelling markup feature. The PR appears safe to merge based on the reviewed changes. SummaryThe PR changes Stories spelling markup to preserve supplementary Unicode characters and adds regression coverage and documentation. Reviews (1) · Last reviewed commit: "fix(stories): preserve Unicode code poin..." |
|
All contributors on this pull request have signed the VoiceStudio CLA. Thank you! |
|
recheck |
Summary
The renderer spelling helper uses split(''), which spaces UTF-16 code units. A supplementary letter or emoji is split into isolated surrogate halves and can become replacement characters during transport. Spelling markup should space Unicode code points, matching the Python parser.
Closes #2650.
Changes
Type
Testing
Hosted CI audit at 2026-10-06T12:35:20.584679+00:00: no failing latest checks; required CLA passes. All latest reported checks completed successfully. No upstream merge performed.
JS parser regressions: 2 failed and 96 passed before; 98 pass after. Python 3.13 parser corpus: 86 pass with offline HF settings and an empty cache; no speech inference.
git diff --checkand the repository changelog style gate pass.Focused JavaScript tests used Node 24.19.0 and a reused Vitest 5.0.1 runtime; this repository pins Vitest 4.1.11. No full build qualification is claimed.
Full backend suites and
bun run check:electronwere not run locally. The human CLA signature is registered and the required CLA status passes; hosted results are reported separately below.Checklist
package.json,pyproject.toml,backend/core/version.py, and lockfilestests/fixtures/omnivoice_data/still loads green on thesmoke-matrixCI job (macOS + Windows + Linux)Release cadence
VoiceStudio ships continuous-to-main — no release candidates, no soak windows.
Every merged PR is immediately part of rolling source (
main) and Docker:latest. Electron artifact rehearsals validate desktop packages without publishing.Version bumps require owner approval; validated releases are tagged from
mainand published explicitly under the release checklist.
Users who want stability install an Electron release or pin Docker
:stable.