Skip to content

feat: polish Linux runtime startup and desktop dictation UX - #68

Draft
BLCCoreStudio wants to merge 41 commits into
mainfrom
feat/linux-runtime-polish-ui
Draft

BLCCoreStudio wants to merge 41 commits into
mainfrom
feat/linux-runtime-polish-ui

Conversation

@BLCCoreStudio

@BLCCoreStudio BLCCoreStudio commented Sep 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

Real KDE/Wayland validation on 2026-09-06 exposed release-blocking runtime issues and confirmed that the desktop UI needed a focused daily-use pass. This PR hardens those paths and reorganizes the app without changing the established Tauri IPC contract.

Linux/runtime hardening

  • Default native ASR builds no longer silently bind to host-wide BLAS/MKL installations; explicit developer overrides remain possible.
  • KDE/Wayland startup automatically applies the WebKitGTK DMA-BUF compatibility guard only when the user has not already chosen an override.
  • Finite FIR/resampler overshoot is clamped back to normalized PCM bounds before strict ASR validation; NaN/Inf and structurally invalid audio remain rejected.
  • Wayland EIS prefers ei_text when the compositor provides it.
  • When a compositor provides only a resumed EIS keyboard device, BLCVoice uses the native Wayland clipboard plus the authorized EIS keyboard session to issue the paste shortcut. This fallback has a distinct backend identity (xdgRemoteDesktopEisClipboard) and never activates X11/XWayland, evdev/uinput, root, or another privileged input fallback.

The clipboard fallback intentionally prioritizes semantic UTF-8 delivery on keyboard-only EIS sessions. It may leave the transcript in the user's system clipboard / clipboard history; this side effect must be included in final UX/documentation and runtime validation before release.

Desktop UX

  • Main window reorganized into Home / History / Models / Settings / Diagnostics.
  • Everyday dictation stays on Home while technical platform backend details move to Diagnostics.
  • Shortcut dictation overlay is now a compact left-edge, always-on-top, non-focusable waveform/timer surface.
  • Overlay transitions through Preparing → Listening → Transcribing → Sent / recovery states and preserves recoverable transcript text on insertion failure.
  • Reduced-motion behavior is retained.

Tracked evidence

Merge gate

Keep this PR draft until all CI and desktop bundle jobs pass on one unchanged head and the updated branch is re-tested on the same real KDE/Wayland machine. The real-machine pass must confirm Turkish/UTF-8 text delivery to the intended target, focus preservation, shortcut overlay behavior, history recording, and the actual selected insertion backend.

BLCCoreStudio and others added 30 commits September 6, 2026 04:43
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.

1 participant