Repository navigation
v0.3.8
·
279 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Presspeech 0.3.8
This update fixes audio capture when input and output hardware use different
sample rates, strengthens automatic text delivery, and adds configurable
macOS hotkey combinations.
Audio reliability
- The capture tap now reads the selected microphone's hardware format instead
of inheriting the output device's rate. This prevents apparently successful
recordings from producing empty audio when, for example, a 48 kHz microphone
is used alongside 44.1 kHz output. - If macOS cannot convert a selected microphone's format to the 16 kHz mono
stream required by speech recognition, audio startup now fails with a
recovery message instead of appearing ready and silently discarding every
recording. - Recordings that end too quickly now say to speak longer instead of silently
disappearing. A capture that returns no samples points to microphone recovery
in the HUD, menu, Setup Checklist, VoiceOver, and diagnostics, with a direct
Check Microphone… action in the menu and Dock menu. - Setup Checklist identifies the selected microphone, explains when an
unavailable saved device has fallen back to the system default, and provides
a keyboard-accessible chooser beside the audio check.
Safer text delivery
- Presspeech preserves the frontmost process and exact Accessibility-focused
window from recording through automatic paste. When the destination does
not expose that window identity, delivery stays in manual clipboard recovery
so an uncertain destination cannot receive an automatic paste. - Automatic clipboard restoration and its delay presets are retired: a timer
cannot establish that a slow destination has consumed the paste. The new
Keep Previous Clipboard for Manual Restore option requires a fresh opt-in,
including for users who previously enabled automatic restoration. - With that option enabled, an eligible complete previous clipboard snapshot
stays only in memory for up to five minutes. After checking that the latest
dictated text arrived, choose Restore Previous Clipboard… and explicitly
confirm.
Cancel is the default; confirmation is not an operating-system acknowledgement. - Consecutive dictations preserve the original snapshot and original deadline,
which includes time asleep. Expiry, newer clipboard ownership, disabling the
option or quitting discards the snapshot without an automatic rewrite.
Clipboard ownership is checked after focus lookups and immediately before
paste; a newer copy stops delivery. A stale confirmation cannot restore a
different dictation's offer, and a failed restore never retries another write. - Clipboard snapshots are capped at 64 MB and 256 representations. Oversized,
unusually complex, incomplete, or concurrently changed clipboards are never
retained as partial restore offers; dictation continues where ownership is
stable, and the menu explains when the previous clipboard was not kept. - Update checks accept only releases that GitHub marks immutable.
Flexible hotkeys
- Record Hotkey can now save combinations using Command, Control, or Option
with another key, with optional Shift, alongside the existing right-side
modifier and function-key choices. - Complete combinations persist across restarts and work in hold or toggle
mode. Unsafe shortcuts and ordinary unmodified typing keys remain blocked,
and a binding that cannot be saved rolls back to the previous hotkey. - Recording a modifier no longer triggers an AppKit exception. Releasing a
right-side modifier preserves the selected combination when its left-side
partner remains held, including keys held before the recorder opens.
Keyboard accessibility
- Interactive windows now request automatic Tab and Shift-Tab order
recalculation. Setup Checklist also refreshes that order when it replaces
controls, alongside its existing keyboard focus preservation.
Community compatibility evidence
- Support → Test App Compatibility… now opens the privacy-safe repeated
target-app protocol directly from the app. The protocol collects aggregate
delivery and focus-safety outcomes without asking users to publish dictated
text.
Shareable diagnostics
- Copy Diagnostics now omits exact microphone names, raw startup errors,
recent log lines and nonstandard application paths. It keeps status and
configuration summaries useful for support; detailed errors remain in the
local log for review before sharing.
Audio and transcription remain local. Transcript text and clipboard contents
are not written to the diagnostic log, and the global listener does not record
ordinary typed keys.
After installing this release, you can help verify automatic paste and safe
recovery in one target app by running the short, privacy-safe compatibility
protocol.
Passing reports are useful too; share only aggregate outcomes from blank,
disposable fields, never dictated text or clipboard contents.