whisper.cpp's encoder always runs over a full, padded 30s mel window
(1500 encoder positions) unless audio_ctx is explicitly reduced. The
~4s live-transcription streaming windows were never setting it, so
every window paid the full 30s-equivalent encode cost on one serial
worker thread -- the actual cause of the reported 30-65s lag between
speaking and a segment appearing, not "CPU is just slow".
Scales audio_ctx proportionally to the window's real sample count
instead (audio_ctx_for_window), floored and capped to whisper.cpp's
own valid range. Verified with a controlled A/B against the real
base.en-q5_1 model: ~30% faster even under heavy concurrent CPU
contention on this machine, which is masking most of the improvement
--the fix targets the encoder's O(n^2)-ish attention cost specifically
(1500 -> ~201 positions for a 4s window), so the gain on an otherwise-
idle machine should be substantially larger.
Same speech-bubble-with-sparkles mark, now on its own gradient purple
background instead of a transparent one — cropped from the refined
logo source (mark + gradient, no wordmark text) rather than isolated
via color-keying this time, since the new source is already composed
as a clean standalone icon tile.
Cropped the speech-bubble-with-sparkles mark from the new
WhispAssist logo/promo graphic (not the full graphic — text and
illustration detail don't read at 16-32px), color-keyed its background
to transparent, and regenerated the whole icon set via `tauri icon`
(title bar, taskbar, system tray, installer). Removed the iOS/Android/
Appx/macOS outputs tauri icon generates by default — this project only
targets Windows.
html/body sit above .app in the DOM tree and were left with the
browser default (white background + 8px UA-stylesheet margin) — a gap
invisible against the light theme but a bright white outline around
the whole window in dark mode. Mirrors data-theme onto <html> (so the
dark token overrides actually apply up there) and zeroes the
html/body margin.
Replaces a hardcoded blue (#2563eb) primary button with the semantic
accent token, adds a ShieldAlert icon + heading, and gives it proper
elevation (shadow + radius) to read as a deliberate dialog rather than
a plain bordered box.
Recording/Hardware/Storage/Calendar/Sync/Privacy nav tabs get matching
icons; the active tab now uses the accent color instead of an inverted
fg/bg swap. Check/X/AlertTriangle icons replace ✓/✗/✕/⚠ throughout
(connection test result, close button, third-party-cloud warning
banner, no-egress confirmation). The modal itself gets proper
elevation (shadow + larger radius) instead of a flat bordered box.
Tags/Summary/Action items/Calendar event/Participants/Speakers each
get a matching icon and a consistent uppercase section-header style;
"Generate summary" becomes a proper primary (accent-filled) button;
the reminder bell emoji becomes a Lucide Bell icon that highlights in
the warning color once checked.