| 02-P-NBL/round-4/logs/git-diff-check-20260603-2.1.22.log | patch | view | raw | blame | history | |
| 02-P-NBL/round-4/logs/go-test-all-20260603-2.1.22.log | ●●●●● patch | view | raw | blame | history | |
| 02-P-NBL/round-4/logs/npm-run-build-20260603-2.1.22.log | ●●●●● patch | view | raw | blame | history | |
| CHANGELOG.md | ●●●●● patch | view | raw | blame | history | |
| privatevoice.src/app.go | ●●●●● patch | view | raw | blame | history | |
| privatevoice.src/build/config.yml | ●●●●● patch | view | raw | blame | history | |
| privatevoice.src/build/darwin/Info.plist | ●●●●● patch | view | raw | blame | history | |
| privatevoice.src/build/windows/wails.exe.manifest | ●●●●● patch | view | raw | blame | history | |
| privatevoice.src/frontend/package-lock.json | ●●●●● patch | view | raw | blame | history | |
| privatevoice.src/frontend/package.json | ●●●●● patch | view | raw | blame | history |
02-P-NBL/round-4/logs/git-diff-check-20260603-2.1.22.log
02-P-NBL/round-4/logs/go-test-all-20260603-2.1.22.log
New file @@ -0,0 +1,23 @@ ? voicesnap [no test files] ? voicesnap/internal/audio [no test files] ok voicesnap/internal/config 0.516s ok voicesnap/internal/correctioncsv 1.074s ? voicesnap/internal/dock [no test files] ok voicesnap/internal/engine 1.205s ok voicesnap/internal/history 3.819s ? voicesnap/internal/hotkey [no test files] ? voicesnap/internal/input [no test files] ok voicesnap/internal/language 2.281s ? voicesnap/internal/logger [no test files] ok voicesnap/internal/model 1.927s ok voicesnap/internal/modelselection 2.690s ? voicesnap/internal/overlay [no test files] ? voicesnap/internal/paths [no test files] ? voicesnap/internal/permissions [no test files] ? voicesnap/internal/singleinstance [no test files] ? voicesnap/internal/sound [no test files] ? voicesnap/internal/startup [no test files] ? voicesnap/internal/textproc [no test files] ? voicesnap/internal/updater [no test files] ok voicesnap/internal/userdict 3.080s ? voicesnap/services [no test files] 02-P-NBL/round-4/logs/npm-run-build-20260603-2.1.22.log
New file @@ -0,0 +1,38 @@ > privatevoice-input-frontend@2.1.22 build > vite build vite v6.4.1 building for production... transforming... 4:11:23 PM [vite-plugin-svelte] src/components/update/UpdateDialog.svelte:28:0 Elements with the 'dialog' interactive role must have a tabindex value https://svelte.dev/e/a11y_interactive_supports_focus 26: 27: <!-- svelte-ignore a11y_click_events_have_key_events --> 28: <div class="overlay" onclick={onclose} role="dialog"> ^ 29: <!-- svelte-ignore a11y_click_events_have_key_events --> 30: <div class="dialog" onclick={(e) => e.stopPropagation()} role="document"> 4:11:23 PM [vite-plugin-svelte] src/components/update/UpdateDialog.svelte:30:2 Non-interactive element `<div>` should not be assigned mouse or keyboard event listeners https://svelte.dev/e/a11y_no_noninteractive_element_interactions 28: <div class="overlay" onclick={onclose} role="dialog"> 29: <!-- svelte-ignore a11y_click_events_have_key_events --> 30: <div class="dialog" onclick={(e) => e.stopPropagation()} role="document"> ^ 31: <h2 class="title">{t('update.title')}</h2> 32: <p class="version">{t('update.version', { version: info.version })}</p> 4:11:23 PM [vite-plugin-svelte] src/components/shared/ToggleSwitch.svelte:17:0 Buttons and links should either contain text or have an `aria-label`, `aria-labelledby` or `title` attribute https://svelte.dev/e/a11y_consider_explicit_label 15: </script> 16: 17: <button ^ 18: class="toggle" 19: class:active={checked} ✓ 163 modules transformed. rendering chunks... computing gzip size... dist/index.html 0.41 kB │ gzip: 0.28 kB dist/assets/app-icon-Bs-pS5hx.png 400.98 kB dist/assets/index-Bm3gykhy.css 35.00 kB │ gzip: 5.92 kB dist/assets/index-QkfSvZCU.js 142.09 kB │ gzip: 47.42 kB ✓ built in 1.56s CHANGELOG.md
@@ -1,5 +1,23 @@ # Changelog ## v2.1.22 (2026-06-03) ### QA 候选包 - **Round 4 Parakeet English 高级模型**:English 语言版本新增 `parakeet-en` 可选高级模型,默认模型仍保持 `moonshine-en`。 - **Nemo Transducer backend**:macOS sherpa-onnx 接入 Parakeet NeMo Transducer 配置,支持 `encoder.int8.onnx`、`decoder.int8.onnx`、`joiner.int8.onnx`、`tokens.txt` 四文件结构。 - **模型选择 UI**:设置页新增 English 模型选择卡片,支持 Moonshine 与 Parakeet 下载、切换、当前状态展示和进度展示。 - **语言隔离保护**:手动选择的模型必须兼容当前语言;切回中文后继续使用 SenseVoice 默认路径,不让 English 模型污染中文配置。 - **下载失败保护**:Parakeet 下载中断后不会破坏当前 Moonshine/SenseVoice;下一次同模型下载前会清理旧 partial,避免残留大体积临时目录。 - **真机 QA**:已完成 Parakeet 真实下载、加载、英文识别、断网英文识别、重启持久化、Moonshine 回退、中文 SenseVoice 回归和用户数据保护验证。 ### 构建 - build: `20260603.1608` - 说明: 本版本为 Round 4 QA 通过后的测试包候选,待生成 DMG、release manifest、验证并打 tag 后交付用户验收。 --- ## v2.1.21 (2026-06-03) ### QA 候选包 privatevoice.src/app.go
@@ -27,8 +27,8 @@ ) const ( appVersion = "2.1.21" appBuild = "20260603.1327" appVersion = "2.1.22" appBuild = "20260603.1608" appDisplayVersion = appVersion + " (build " + appBuild + ")" appName = "PrivateVoice Input" privatevoice.src/build/config.yml
@@ -7,7 +7,7 @@ description: "Private offline voice input tool" copyright: "(c) 2026, PrivateVoice" comments: "Private.Offline" version: "2.1.20" version: "2.1.22" dev_mode: root_path: . privatevoice.src/build/darwin/Info.plist
@@ -15,9 +15,9 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>2.1.21</string> <string>2.1.22</string> <key>CFBundleVersion</key> <string>20260603.1327</string> <string>20260603.1608</string> <key>LSMinimumSystemVersion</key> <string>11.0</string> <key>NSMicrophoneUsageDescription</key> privatevoice.src/build/windows/wails.exe.manifest
@@ -3,7 +3,7 @@ <assemblyIdentity type="win32" name="PrivateVoice.Input" version="2.1.20.0" version="2.1.22.0" processorArchitecture="*"/> <dependency> <dependentAssembly> privatevoice.src/frontend/package-lock.json
@@ -1,12 +1,12 @@ { "name": "privatevoice-input-frontend", "version": "2.1.21", "version": "2.1.22", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "privatevoice-input-frontend", "version": "2.1.21", "version": "2.1.22", "dependencies": { "@wailsio/runtime": "latest" }, privatevoice.src/frontend/package.json
@@ -1,7 +1,7 @@ { "name": "privatevoice-input-frontend", "private": true, "version": "2.1.21", "version": "2.1.22", "type": "module", "scripts": { "dev": "vite dev",