Commit Graph
315 Commits
Author SHA1 Message Date
iamdoubz 246fb60731 Merge pull request 'Feature chore bug 003' (#17) from feature_chore_bug_003 into main
Reviewed-on: #17
v0.2.0
2026-07-06 20:06:53 -05:00
iamdoubz 233c6fa8cd chore(release): bump version to 0.2.0 + refresh README 2026-07-06 19:14:51 -05:00
iamdoubz 2eff32662b docs: document the single universal (Vulkan) installer build 2026-07-06 19:06:09 -05:00
iamdoubz f0480244bf chore: gitignore the staged vulkan-1.dll loader 2026-07-06 19:06:08 -05:00
iamdoubz 2a0379ce43 build: bundle vulkan-1.dll so the single Vulkan installer runs on non-GPU machines 2026-07-06 19:06:07 -05:00
iamdoubz 91677476cc build: stage redistributable vulkan-1.dll for the merged installer 2026-07-06 19:06:06 -05:00
iamdoubz 76a4f8ce08 build: lockfile after dropping protocol-asset 2026-07-06 18:40:18 -05:00
iamdoubz 2603e12b36 feat(ui): load recording from waaudio://; remove download affordance 2026-07-06 18:40:16 -05:00
iamdoubz 90ba14cc2d build: drop tauri protocol-asset feature (no longer used) 2026-07-06 18:40:15 -05:00
iamdoubz 7106dc1584 feat(recording): CSP media-src for waaudio://; drop asset protocol 2026-07-06 18:40:14 -05:00
iamdoubz 84b9087de7 feat(recording): register waaudio:// protocol + sweep plaintext temp files 2026-07-06 18:40:13 -05:00
iamdoubz 1634820523 feat(recording): stream + decrypt recordings in memory via waaudio:// (FR-REC-5) 2026-07-06 18:40:12 -05:00
iamdoubz 57127cfa07 docs: FR-CAP-7 now covers mic in the saved recording 2026-07-06 18:25:58 -05:00
iamdoubz 49893d5874 feat(audio): wire MicBridge so recordings include the user's voice 2026-07-06 18:25:57 -05:00
iamdoubz a14ca871e1 fix(audio): mix mic into the recording at native rate via MicBridge (FR-CAP-7) 2026-07-06 18:25:56 -05:00
iamdoubz 2fda4041ff docs: FR-CAP-8/9, FR-REC-5, FR-SYNC-11 + cancelled recording state 2026-07-06 17:56:19 -05:00
iamdoubz 0ecba7f055 docs(ui): correct playback requirement id to FR-REC-5 2026-07-06 17:56:18 -05:00
iamdoubz ea79fb656d docs(commands): correct playback requirement id to FR-REC-5 2026-07-06 17:56:16 -05:00
iamdoubz a7eba7fd82 build: lockfile for tauri protocol-asset (http-range) 2026-07-06 17:55:13 -05:00
iamdoubz d08d03077c feat(ui): recording player + live per-item sync progress bars 2026-07-06 17:55:05 -05:00
iamdoubz 3b0f27f5d9 feat(ui): Cancel button to discard an accidental recording 2026-07-06 17:55:04 -05:00
iamdoubz f2db826e8c feat(recording): cancel() + handle cancelled state 2026-07-06 17:55:02 -05:00
iamdoubz a5d81bd9e4 feat(api): cancelRecording + recordingPlaybackPath client bindings 2026-07-06 17:55:01 -05:00
iamdoubz 010941e620 feat: enable asset protocol + media-src CSP for recording playback 2026-07-06 17:52:00 -05:00
iamdoubz 90580da0af build: enable tauri protocol-asset feature for recording playback 2026-07-06 17:51:59 -05:00
iamdoubz e715c09ce0 feat: register cancel_recording + recording_playback_path commands 2026-07-06 17:51:58 -05:00
iamdoubz da25ccaec6 feat: cancel_recording, recording_playback_path, live sync progress 2026-07-06 17:51:57 -05:00
iamdoubz e7f628ad7a feat(sync): stream upload bodies with live byte progress (FR-SYNC-11) 2026-07-06 17:51:55 -05:00
iamdoubz 25d0232256 feat(vault): add is_sealed() helper 2026-07-06 17:51:54 -05:00
iamdoubz 34b4f4ae09 feat(audio): write recordings as 16-bit PCM to halve .wav size (FR-CAP-8) 2026-07-06 17:51:53 -05:00
iamdoubz 96b30ed99a feat(notes): single-pane Editor/Preview toggle 2026-07-06 17:44:05 -05:00
iamdoubz a37f766817 Merge pull request 'Feature chore bug 002' (#16) from feature_chore_bug_002 into main
Reviewed-on: #16
2026-07-06 17:05:58 -05:00
iamdoubz 4cdeb8f475 test(audio): real-hardware microphone open/stop smoke test (FR-CAP-7) 2026-07-06 16:29:56 -05:00
iamdoubz 5828023651 docs: FR-CAP-7 microphone capture + mixer contract 2026-07-06 16:26:27 -05:00
iamdoubz 3202f884af feat(settings): Microphone device picker under Audio Devices (FR-CAP-7) 2026-07-06 16:26:25 -05:00
iamdoubz 996c7edc99 feat(audio): load input devices + setMicrophone in settings store (FR-CAP-7) 2026-07-06 16:26:24 -05:00
iamdoubz bb688418bf feat(audio): add listInputDevices + mic settings to API client (FR-CAP-7) 2026-07-06 16:26:23 -05:00
iamdoubz 97b5f67049 feat(audio): wire mic capture + mixer into recording lifecycle (FR-CAP-7) 2026-07-06 16:26:17 -05:00
iamdoubz 55ddaad544 feat(audio): track mic capture handle; register list_input_devices (FR-CAP-7) 2026-07-06 16:26:16 -05:00
iamdoubz 75f7d19ade feat(audio): add microphone_enabled + audio_input_device settings (FR-CAP-7) 2026-07-06 16:26:14 -05:00
iamdoubz 2fb5fd6f30 feat(audio): microphone capture + stream mixer (FR-CAP-7) 2026-07-06 16:26:13 -05:00
iamdoubz b8dc5fc37f feat(settings): Audio Devices section under Hardware
A <select> defaulting to "Default system audio", populated from the
enumerated render devices — picking one overrides which device
WhispAssist loopback-captures from instead of always following
Windows' system default.
2026-07-06 16:01:00 -05:00
iamdoubz 38b9cb2910 feat(audio): add audioDevices state + loadAudioDevices/setAudioOutputDevice 2026-07-06 16:00:59 -05:00
iamdoubz 137605934c feat(audio): add AudioDeviceInfo type + listAudioDevices to the API client 2026-07-06 16:00:57 -05:00
iamdoubz 5b281531fb feat(audio): register list_audio_devices with the Tauri invoke handler 2026-07-06 16:00:50 -05:00
iamdoubz 2759a0e49a feat(audio): add list_audio_devices command; wire device into start_recording
list_audio_devices runs the (blocking, COM-based) enumeration off the
async runtime via spawn_blocking, same pattern as import_pst_core.
start_recording now passes settings.audio_output_device through to
WasapiCapture::start instead of always capturing the default device.
2026-07-06 16:00:49 -05:00
iamdoubz 8e3e22c0e5 feat(audio): add audio_output_device to Settings
Device::get_id() string; None = system default (unchanged behavior).
#[serde(default)] so an existing settings.json without this key still
deserializes.
2026-07-06 16:00:47 -05:00
iamdoubz bb1d1730f8 feat(audio): device-selectable WASAPI loopback capture
AudioCapture::start now takes an optional device id (Device::get_id())
instead of always resolving the system default render device.
open_capture_session/find_render_device resolve the configured device,
falling back to the system default if it's no longer present (same
degrade-gracefully spirit as the existing mid-recording reconnect,
which now retries the *same* selection rather than switching to
whatever's currently default).

Adds list_render_devices() (new AudioDeviceInfo) for the Settings
picker — enumeration was already fully supported by the wasapi crate,
just unused until now.
2026-07-06 16:00:46 -05:00
iamdoubz 16fcb154f3 feat(tags): Generate tags button + chip-based tag editor
Generate tags mirrors Generate summary: reads the transcript (the same
build_prompt assembly, non-streamed) and suggests 1-8 tags, merged
into the working tag list rather than replacing it outright so a
manually-added tag never silently disappears.

Replaces the old comma-separated text input with GitHub-topic-style
chips: typing a comma commits everything before it as its own chip
immediately, each chip is removable via its 'x', and clicking a chip's
label filters the meeting list to that tag (meetings.filterByTag).
2026-07-06 15:38:18 -05:00
iamdoubz cf4232cbae feat(tags): sync the sidebar tag dropdown with the shared filter state
Writable $derived instead of local $state, so clicking a tag chip
elsewhere (the Tags panel) is reflected here too, not just changes
made directly in this dropdown.
2026-07-06 15:38:17 -05:00