Skip to content

feat(selection-voice): Help me write + fix Siri capsule lifecycle (#1100) - #1116

Closed
HKLHaoBin wants to merge 12 commits into
Open-Less:betafrom
HKLHaoBin:fix/capsule-selection-voice-lifecycle
Closed

HKLHaoBin wants to merge 12 commits into
Open-Less:betafrom
HKLHaoBin:fix/capsule-selection-voice-lifecycle

Conversation

@HKLHaoBin

Copy link
Copy Markdown
Collaborator

Summary

Related issues

Test plan

  • Select text → selection-voice hotkey → stop → capsule shows processing orb → opens polish/QA → Done then dismiss (not stuck Recording)
  • Empty selection in input → hotkey → say 「帮我写」→ stop → Transcribing/Polishing → Done dismiss with exit animation
  • Normal dictation still: Recording → Transcribing → Polishing → Done → Idle
  • CI / Android APK / Release Tauri already green on this branch (HKLHaoBin fork dispatch)

Allow Selection Voice to start without a selection when an insertion
target is available, route affirmative writing intents to a compose
path that generates insertable drafts, and coerce empty-selection Edit
away from EditPlan so it cannot hit EmptyDraft.
Claim the shared capsule and emit Recording before clipboard capture, block dictation capsule updates while selection-voice owns it, and clear stale ASR stream text when a new recording session starts.
selection_voice_session is Windows-only; calling it unconditionally broke Android/macOS cargo check.
Selection Voice previously consumed RMS only for silence auto-stop, so Siri
and bar styles stayed flat. Publish SelectionVoiceLevel and forward it to the
shared Recording capsule while the session owns it.
0.42 does not survive JSON f32 round-trip (becomes 0.4199...), which broke
contract_2's canonical camelCase fixture assertion.
tauri CLI re-locks without --locked and ~2.11 drifted to 2.11.6, which fails
to compile against the resolved runtime (Monitor / UnexpectedMenuKind).
ci-disable-macos-qwen3 runs cargo generate-lockfile, which floated
tauri-runtime to 2.12 against tauri 2.11.2 and broke Android/Windows builds.
Snapshot and cargo update --precise the committed stack after regenerate.
cargo generate-lockfile floated tauri-runtime to 2.12 and broke builds; cargo
update --precise could not downgrade it. Remove only the macOS qwen3 package
entries from the committed lockfile instead.
…tible

tauri 2.11.2 allows runtime ^2.11, so generate-lockfile floated to 2.12 and
broke Monitor/UnexpectedMenuKind. Pin build/macros/utils/runtime directly and
assert the stack after CI disables qwen3.
Stop late SelectionVoiceLevel from re-emitting Recording after stop (epoch race left Siri stuck). Emit Polishing during LLM work and dismiss via Done+2s like dictation when polish/intent UI opens.
Keep beta's cargo update --workspace (avoid full lock regenerate) and this branch's tauri stack version asserts.
Linux egui CI failed on clippy::manual_contains in selection voice meter test.
appergb added a commit that referenced this pull request Sep 30, 2026
Integrate ASR/Omni fixes, API Route, Android IME and confirmation-based vocabulary learning. Complete settings transitions and macOS single-item credential storage. Synchronize all application versions to 2.0.0-Beta.4+build.20260930.

Integrated PRs: #1116, #1120, #1121, #1123, #1124, #1067 and #1128. Linux #1117 remains independent and is excluded from automatic release.

Validated: full cross-platform CI, 18 UI motion cases, 112 frontend test files, 1245 Core tests (1 ignored) and 572 macOS native tests.

Co-authored-by: HKLHaoBin <we3q@qq.com>
@appergb appergb closed this Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: 跟进 Typeless「帮我写」(Help me write) — 无选区时用肯定句直接生成成文

2 participants