Repository navigation
build(deps): GPUI Kit 0.7.1 on gpui-fast v0.1.0; composer dictation via gpui-component speech - #598
Merged
Merged
Conversation
…ia gpui-component speech Upgrade gpui-base, gpui-kit-assets, gpui-component-macros and gpui-wry to 0.7.1, the gpui-pre family to 0.3.8 and the gpui-fast patch to 3755a552 (v0.1.0, zed a1b7107). Three call sites follow upstream API changes: wrap_line's indent argument, RequestFrameOptions' signal fields and the optional WgpuRenderer gpu_specs on iOS and Android. Replace the macOS-26-only SpeechAnalyzer shim (crates/voice) with gpui-component's speech module: SpeechState with the system recognizer (SFSpeechRecognizer on macOS 13+, Windows.Media.SpeechRecognition on Windows; none on Linux, so the mic button is absent there) and the cpal microphone. The composer keeps its own styled mic button over the kit state and replaces the session's whole transcript at an anchor; user edits, submit, destination switches and teardown cancel in place. The desktop binary embeds the usage descriptions so cargo run can ask for permission.
…types gpui-base 0.7.1 pulls windows 0.58, which gpu-allocator 0.28 also accepts, so the resolver unified it there; wgpu-hal 29 needs the 0.62 types (#555).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two things, one lock: GPUI Kit 0.7.1 requires gpui-pre 0.3.8, and the speech module that replaces
crates/voiceships in gpui-component 0.7.1.Upstream API changes needed three call-site fixes:
wrap_linegained an indent argument (markdown inline flow),RequestFrameOptionsgained signal fields andWgpuRenderer::gpu_specsreturnsOption(iOS and Android backends).gpui-fast v0.1.0 is now on crates.io, but gpui-kit still pins
gpui-pre, and a[patch]cannot redirect to a differently named registry crate, so the git patch stays as gpui-fast's compat README documents; only the lock moves.Composer dictation now runs on the kit's session state; Tcode keeps only editor bookkeeping:
The kit's
SpeechButton/SpeechWaveformread gpui-component's theme global, which Tcode does not initialise, so the mic stays Tcode's own button overSpeechState::levels(); the site names that gap.Evidence
transcript_editunit test owned the old chunk arithmetic.After:
cargo nextest run --workspace --locked→ 889 passed, 6 skipped. Newdictation_revises_the_draft_and_cannot_overwrite_edits_or_submissiondrives the real composer through the kit'sSpeechRecognizer/AudioInputseams: UTF-8 anchored insertion, longer/shorter/empty revisions, Final without duplication, typing cancels, Escape → Stopping, submit while Stopping ignores late results.-D warnings, machete, andRUSTFLAGS=-D warningschecks for iOS sim, wasm and Android NDK all pass locally; the mobile/web lock graphs contain no gpui-component, cpal or oboe.TCODE_DATA_DIR; mic button present and legible in both themes, wide and narrow.otoolconfirms__TEXT,__info_plistin the dev binary.crates/voicestays in history and the kit's recognizer seam allows bringing it back if a real gap shows.Merge Danger
Door: two-way
Revert restores the Swift engine and the previous lock. No data or protocol changes.
Blast Radius: desktop
Every desktop build takes gpui-component (+39 lock entries, cpal needs
libasound2-devon Linux, already in CI). Windows dictation sends audio to Microsoft's online service; macOS stays on-device. Any GPUI rendering difference from the 84 gpui-fast commits reaches all platforms; the full test suite and smoke launch showed none.