Commit Graph
615 Commits
Author SHA1 Message Date
iamdoubz 9505935490 build(vault): add zeroize for in-memory key wiping (T8.8 hardening) 2026-07-03 08:47:35 -05:00
iamdoubz 0b7461dc9d feat(ui): encryption-vault panel in Settings privacy (enable/unlock/lock/change) (T8.8) 2026-07-03 08:06:06 -05:00
iamdoubz 3402a4552f feat(vault): vault API bindings (T8.8) 2026-07-03 08:06:06 -05:00
iamdoubz 9845c1c8a1 feat(vault): register vault module + commands (T8.8) 2026-07-03 08:06:05 -05:00
iamdoubz e194b76f6f feat(vault): vault lifecycle commands; seal summary; decrypt on export (T8.8) 2026-07-03 08:06:05 -05:00
iamdoubz 0f7af4576e feat(vault): seal transcript/notes/summary at rest via storage read/write helpers (T8.8) 2026-07-03 08:06:05 -05:00
iamdoubz f12e86513a feat(vault): envelope at-rest encryption core — Argon2id + XChaCha20-Poly1305, seal/open (T8.8, FR-SEC-3) 2026-07-03 08:06:04 -05:00
iamdoubz a4da38571e build(vault): add argon2 + chacha20poly1305 + getrandom for at-rest encryption (T8.8) 2026-07-03 08:06:04 -05:00
iamdoubz 435c4beb84 feat(ui): wire Link-provider button to real OAuth flow + status (T9.9) 2026-07-03 07:54:42 -05:00
iamdoubz fedef1788d feat(sync): linkOauth flow + target reload on sync://linked (T9.9) 2026-07-03 07:54:41 -05:00
iamdoubz bfcdc5b6f4 feat(sync): beginOauthLink authUrl return + onSyncLinked event (T9.9) 2026-07-03 07:54:41 -05:00
iamdoubz 575118ceba feat(sync): begin_oauth_link command; pump/test dispatch via build_sync_target (T9.9/9.10) 2026-07-03 07:54:29 -05:00
iamdoubz 27541dd171 feat(sync): OneDrive (Graph) provider + kind-based target dispatch + token resolution (T9.10) 2026-07-03 07:54:29 -05:00
iamdoubz e8363042ce feat(sync): OAuth 2.0 PKCE core — auth URL, token exchange/refresh, loopback capture (T9.9) 2026-07-03 07:54:29 -05:00
iamdoubz 22eb010309 feat(ui): Sync section — Upload now button + per-artifact job status/retry (T9.5) 2026-07-03 07:42:03 -05:00
iamdoubz a8a511097c feat(sync): upload-now + live job status in meetings store (T9.5) 2026-07-03 07:42:02 -05:00
iamdoubz e1893daee2 feat(sync): type SyncJobInfo + sync_status; extend sync://job event type (T9.5) 2026-07-03 07:42:02 -05:00
iamdoubz 906c800b2a fix(sync): align test_sync_target arg with the config param 2026-07-02 21:56:58 -05:00
iamdoubz daa9b72e62 feat(sync): resume pending sync jobs on startup (T9.5) 2026-07-02 21:56:58 -05:00
iamdoubz 2969008d8b feat(sync): upload queue pump w/ backoff, sync_meeting/status/retry, finalize hook, sync://job events (T9.5) 2026-07-02 21:56:58 -05:00
iamdoubz 87161553ee feat(sync): durable sync_jobs queue in storage (upsert/claim/update, skip-if-unchanged) (T9.5) 2026-07-02 21:56:57 -05:00
iamdoubz e6911a6bff feat(sync): target management + test-connection commands; wire allowlist (T9.3/9.8) 2026-07-02 20:17:03 -05:00
iamdoubz 10af546d7f feat(sync): real WebDavTarget (PROPFIND/MKCOL/PUT/HEAD) + keyring creds + TLS enforcement (T9.2/9.4/9.6/9.7) 2026-07-02 20:17:02 -05:00
iamdoubz bb7f704e16 feat(sync): sync_targets CRUD in the storage layer (T9.1) 2026-07-02 20:17:02 -05:00
iamdoubz 197092220c build(sync): enable sync feature in default build (Phase 9a, ADR-0010) 2026-07-02 20:17:02 -05:00
iamdoubz 89f64e38d3 Merge pull request 'Feature npu' (#10) from feature_npu into main
Reviewed-on: #10
2026-07-02 19:59:18 -05:00
iamdoubz 9c0b0c1d02 mod file 2026-07-02 19:57:59 -05:00
iamdoubz 60fed63bc3 feat(ui): NPU detection + download indicator in Settings hardware (T3.4) 2026-07-02 17:16:51 -05:00
iamdoubz b23b00490a feat(ui): NPU package download API + npu://download events (T3.4) 2026-07-02 17:16:44 -05:00
iamdoubz 2b435f3629 feat(hardware): register NPU package command + background model fetch (T3.4) 2026-07-02 17:16:44 -05:00
iamdoubz 69ed6256db feat(transcription): dispatch NPU backend + NPU package download command (T3.4) 2026-07-02 17:16:43 -05:00
iamdoubz 92752698c5 refactor(transcription): let streaming worker take &dyn Transcriber (T3.4) 2026-07-02 17:16:43 -05:00
iamdoubz a9335f487d feat(transcription): expose onnx model_dir for the dispatcher (T3.4) 2026-07-02 17:16:43 -05:00
iamdoubz f58c0f2d6c feat(transcription): wire OnnxNpuTranscriber behind npu feature (T3.4) 2026-07-02 16:14:16 -05:00
iamdoubz f8731adae3 feat(transcription): OnnxNpuTranscriber — NPU encoder + CPU greedy decode (T3.4) 2026-07-02 16:14:15 -05:00
iamdoubz 8fe6b5ceb1 feat(transcription): Whisper ONNX model catalog + downloader (T3.4) 2026-07-02 16:14:15 -05:00
iamdoubz e875c5de9a feat(transcription): Whisper log-mel front-end for NPU path (T3.4) 2026-07-02 16:14:15 -05:00
iamdoubz d7b98b06cd build(transcription): add npu feature (ort + OpenVINO EP, rustfft) (T3.4) 2026-07-02 16:14:14 -05:00
iamdoubz b97e5ebe85 feat(hardware): detect Intel NPU via ComputeAccelerator class (T3.4, FR-HW-1) 2026-07-02 15:55:00 -05:00
iamdoubz 0ffcd704b3 build(hardware): enable SetupAPI feature for NPU detection (T3.4) 2026-07-02 15:55:00 -05:00
iamdoubz d5f7b1ac95 feat(hardware): on-demand NPU runtime paths + readiness probe (T3.4) 2026-07-02 15:54:54 -05:00
iamdoubz 8530a22899 fix(transcription): reduce whisper.cpp encoder cost per streaming window
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.
2026-07-02 15:02:02 -05:00
iamdoubz aea79cef92 Merge pull request 'Chore ui' (#9) from chore_ui into main
Reviewed-on: #9
2026-07-02 13:40:00 -05:00
iamdoubz e084b0bee9 feat(branding): update app icon to the latest logo revision
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.
2026-07-02 13:36:26 -05:00
iamdoubz 700bcb8f2d feat(branding): replace placeholder app icon with the real logo mark
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.
2026-07-02 13:13:51 -05:00
iamdoubz 11c0dde8a3 fix(ui): remove the bright edge around the app in dark mode
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.
2026-07-02 13:03:58 -05:00
iamdoubz 7ac49e68fc style(ui): use the shared radius token in LevelMeter 2026-07-02 12:57:47 -05:00
iamdoubz 7427165229 feat(ui): polish the recording-consent notice
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.
2026-07-02 12:57:42 -05:00
iamdoubz df82b0636d feat(ui): icon nav tabs + elevation for the Settings modal
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.
2026-07-02 12:57:36 -05:00
iamdoubz ecf38d5313 feat(ui): icon section headers + primary-button styling in the summary panel
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.
2026-07-02 12:57:27 -05:00