iamdoubz
00ac43c705
Merge pull request 'Feature another one' ( #11 ) from feature_another_one into main
...
Reviewed-on: #11
2026-07-03 08:56:28 -05:00
iamdoubz
06c1764506
version 0.1.0
2026-07-03 08:55:16 -05:00
iamdoubz
713ab381d0
chore(release): bump version to 0.1.0
2026-07-03 08:48:59 -05:00
iamdoubz
bb03cd2328
feat(ui): encrypt-before-upload checkbox in sync target form (T9.12)
2026-07-03 08:47:36 -05:00
iamdoubz
ce562ca67a
feat(ui): startup vault-unlock gate (T8.8)
2026-07-03 08:47:36 -05:00
iamdoubz
1824475cef
feat(sync): seal recording on finalize; encrypt-before-upload in pump; honor config flag (T9.12/T8.8)
2026-07-03 08:47:36 -05:00
iamdoubz
97bda924b3
feat(vault): decrypt sealed recordings on read (audio at-rest) (T8.8)
2026-07-03 08:47:36 -05:00
iamdoubz
1b78d4db0b
feat(vault): ensure_sealed for encrypt-before-upload; zeroize keys on lock (T9.12/T8.8)
2026-07-03 08:47:35 -05:00
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