Commit graph

280 commits

Author SHA1 Message Date
Ole Jakob Schjøth
c8389f34b2
feat: Add disabled option for pasting. (#364)
* feat: Add disabled option for pasting.

* update bindings

* -> none

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-27 17:38:41 +07:00
CJ Pais
9521ab9332
WIP: Add tauri-specta for generating TS bindings (#322)
* initial specta commands

* refactor to use the bindings in the ui

* merge fixes

* remove unused commands

* add clamshell to lib

* Remove Invoke from everything.

* fix settings not being loaded properly

* fix settings being overwritten due to deserialization failure + remove
provider kind

* fix model loading text bug
2025-11-27 17:07:22 +07:00
Danny Smith
5085485e67
Show recording overlay in macOS fullscreen apps, and when switching between spaces (#361)
* Gitignore `*.local.*`

Allows for local files like `CLAUDE.local.md` and `settings.local.json`

* Support macOS spaces and fullscreen apps
2025-11-20 10:28:15 +07:00
CJ Pais
71d0eeed73 run format 2025-11-20 10:20:22 +07:00
CJ Pais
4231cc0059 fix build on windows 2025-11-19 21:28:31 +07:00
figwood
ec3b06d5b2
feat: add conversion between Simplified and Traditional Chinese. (#356)
* feat: add conversion between Simplified and Traditional Chinese. If the selected language is Simplified or Traditional Chinese, it will convert the text to the selected variant(Simplified or Traditional) after been recognized, depends on opencc, if it is not installed, the conversion will skip.

* Adopting ferrous-opencc makes cross-platform packaging easier.
2025-11-19 20:31:44 +07:00
CJ Pais
0c5989d824 Release v0.6.2 2025-11-19 11:03:33 +07:00
Maicon Moreira
c2672638c9
Improve audio feedback timing using real sound duration and trimmed WAV files (#349)
* feat: add sound duration retrieval for audio feedback

* Trim trailing silence from pop_start.wav and pop_stop.wav

* refactor: simplify sound file and base directory retrieval

* feat: only delay mute if audio feedback is enabled

* change the logic

* simplify new logic

* simplify get_sound_path and get_sound_base_dir, reorder functions

* add implicit blocking to playTestSound

* modify to my pref style

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-19 10:10:23 +07:00
johnpyp
9c4b1e1f5c
feat: SIGUSR2 handling for toggles (#354)
* feat: SIGUSR2 handling for toggles

* run format

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-19 09:45:46 +07:00
Jorge
97f3018be0
fix: update laptop detection logic to be more reliable (#348) 2025-11-18 20:43:35 +07:00
CJ Pais
c359e3ff17 Release v0.6.1 2025-11-17 13:02:35 +07:00
CJ Pais
18536aa81e
Add file based debug logging (#347)
* add basic logging to handy

* 100kb of logs

* add open button to the ui for logs

* use log everywhere

* some minor cleanup

* finish debug logging
2025-11-17 12:55:24 +07:00
CJ Pais
315c32eab4 format 2025-11-17 10:41:31 +07:00
Jorge
3b3ed5abc5
feat: add more options for deleting recordings automatically and added button to open the folder that holds the recordings (#330)
* feat: add more options for deleting recordings automatically and added button to open the folder that olds the recordings

- deleting automatically options: after certain time, never or preserving certain number of recordings
- new button "Open Recordings Folder" located on History page

* refactor: moved "Delete Recordings" selector to Debug settings

* refactor: simplify opening recordings folder logic by using tauri's opener plugin

* clean up ui and code a bit

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-17 10:41:05 +07:00
Jorge
45eec57226
feat: add fallback microphone for clamshell/desktop mode (#329)
* feat: add fallback microphone for clamshell/desktop mode

* refactor: moved "Closed Laptop Microphone" setting to Debug

* cleanup

* run format

* add check back

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-17 10:38:41 +07:00
Maicon Moreira
25f4a564fd
Fix unstable mute implementation on Windows/Linux (#341)
* Fix unstable mute implementation on Windows/Linux

* add some delay before the mute so the audio feedback plays

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-17 09:40:47 +07:00
CJ Pais
70ec82285a
format everything (#323) 2025-11-10 11:39:14 +08:00
Luc Stepniewski
a80c37097b
Add rule for example prompt to keep the original language (#316) 2025-11-08 08:39:35 +08:00
CJ Pais
3f9d93aa9b release v0.6.0 2025-11-05 18:31:34 -08:00
Luis Eduardo
f7380fa69a
feat: LLM based post-processing (#222)
* Add LLM post-processing feature with settings management and UI integration

* Refactor LLM post-processing settings and prompt selection logic

* Rename CLAUDE.md to more standard AGENTS.md

* Replace Open Router with OpenAI Compatible endpoints for post-processing

* Fix post processing settings api styles

* refactor or something

* simplify

* cleanup a bit?

* remove useless code

* minor improvements

* fix laggy textarea

* Store post-processing results in db

* fix text color

* new default prompt

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-05 18:29:03 -08:00
CJ Pais
907a6f0f77 release 0.5.5 2025-11-03 11:17:18 -08:00
helpful
09f16b1048
windows paste shift+ins instead of ctrl+v (#236)
* windows paste shift+ins instead of ctrl+v

Shift+Insert is older and more universal than Ctrl+V on windows. For example SSH terminal software often will not permit ctrl+v.

* add option for shift+ins on windows/linux

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-03 09:21:46 -08:00
CJ Pais
7b99da122a
Revert "feat: SIGUSR2 handling for toggles (#281)" (#296)
This reverts commit 8768ebad84.
2025-11-03 09:02:08 -08:00
johnpyp
8768ebad84
feat: SIGUSR2 handling for toggles (#281) 2025-11-03 09:01:27 -08:00
Maicon Moreira
7c04ee85a7
feat: add “mute while recording” setting (#257)
* feat: mute while recording

* refactor: move MuteWhileRecording from AdvancedSettings to DebugSettings
2025-10-28 17:49:33 -07:00
CJ Pais
65c1e2dbcb
parakeet v2 support (#116)
* parakeet v2 support

* Update model.rs

* fix parakeet size

* new onboarding UI for parakeet v2 introduction

* tweak height
2025-10-28 16:32:26 -07:00
CJ Pais
ae406aebe2 fix build 2025-10-27 11:52:23 -07:00
CJ Pais
95d85033b2 Update Cargo.lock 2025-10-27 11:04:13 -07:00
Jackson
eb044d8810
Slight overlay UI fix for flickering (#231) 2025-10-23 10:35:31 -07:00
CJ Pais
0aa86a8cbd Release v0.5.4 2025-10-17 16:58:58 -07:00
CJ Pais
a9a3e7bfd8
display download size + refactor (#221) 2025-10-17 16:57:51 -07:00
CJ Pais
db00ff240f
Add Setting to Copy to Clipboard (#220)
* update transcribe-rs

* add copy to clipboard feat
2025-10-17 16:25:35 -07:00
Jackson
93215dc097
A few optimizations on startup (#182)
* Use an optimal release profile... load managers & hotkeys first, add a
splash, simplify app handler

* removed splashscreen, hopefully app boots fast enough anyhow

* No need to load transcription model on start now that its loaded on
demand & cleanup

* Make an unloaded model status

* tiny modification to unloading

* update comment

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-17 16:05:43 -07:00
Jackson
a286fe5143
Add custom sound and control notif volume (#214)
* Add custom sound and control notif volume

* Modularize the picker and slider, consolidate the playback and loading

* Move custom sounds to advanced

* pairs of audio

* custom sound handling

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-16 09:08:27 -07:00
CJ Pais
c291b8470f Release v0.5.3 2025-10-13 14:46:23 -07:00
CJ Pais
11ce9a7a53
Fix Whisper Crashing on Linux + CI Fixes (#212)
* bump to latest transcribe-rs

* direct dep?

* disable avx for whisper?

* verbose?

* rust verbose?

* debug symbols

* support debug builds properly

* split release for appimage

* fix artifact name
2025-10-13 14:43:48 -07:00
CJ Pais
1029e901d1 default to no overlay on linux 2025-10-13 10:00:16 -07:00
CJ Pais
ee6c60642f release v0.5.2 2025-10-09 19:31:12 -07:00
CJ Pais
9ff3f12ce0 fix warning 2025-10-09 10:58:23 -07:00
Gr3mIin
aed3a75d54
feat(settings): add autostart toggle in advanced settings (#177)
* feat(settings): add autostart toggle in advanced settings

Enable users to configure autostart behavior through a new toggle in the advanced settings UI. The backend now checks user preferences on startup to enable or disable autostart accordingly, with the setting persisted and manageable via a new Tauri command. This provides better control over app initialization without affecting existing functionality.

* immediate toggle effect?

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-09 10:47:51 -07:00
CJ Pais
d602a3a8e2
use alsa by default on linux (#190)
* use alsa by default on linux

* only import trait when needed
2025-10-08 17:47:10 -07:00
Jackson
83970b0f44
Load model in parallel (#181) 2025-10-08 16:44:55 -07:00
Arif Kurkchi
61efe3cab8
fix: delay releasing modifier key on paste to let slow consumers handle the keystroke (#165)
* fix: delay releasing modifier key on paste to let slow consumers handle the keystroke

* Adjust error message
2025-10-08 16:33:10 -07:00
CJ Pais
18f32c7c8d simplify history slightly 2025-10-08 16:28:01 -07:00
Meng Zhang
1a2ec72fb4
feat: display overlay on active monitor (#175)
This change updates the recording and transcribing overlay to appear on the monitor that currently contains the mouse cursor, rather than always appearing on the primary monitor.

This improves the user experience for those with multi-monitor setups.

🤖 Generated with [Pochi](https://getpochi.com)

Co-authored-by: Pochi <noreply@getpochi.com>
2025-10-08 15:33:01 -07:00
becker
d0e6a17c17
Add history limit setting (#150)
* Add history limit setting

Dearest Reviewer,

I have added a history limit setting. The limit change is applied instantly.
If the limit is 0 then no recordings are saved.

Becker

* remove extra save

save happens on exit

* move to debug menu

* use the text color

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-08 13:01:09 -07:00
CJ Pais
1432bac30f
add support for changing paste method (#187)
* add support for changing paste method

* rename/refactor of methods
2025-10-08 12:32:04 -07:00
segudev
03289f84d7
fix: restore translate-to-english functionality (#173)
* fix: restore translate-to-english functionality

The translate option broke when migrating from whisper-rs to transcribe-rs.
This fix patches transcribe-rs to add translate parameter support and passes
the translate_to_english setting to the Whisper engine.

Additionally fixed AccessibilityPermissions API calls to match updated library.

Translation only works with Whisper multilingual models (not .en models).
Parakeet models don't support translation as they are transcription-only.

Fixes #152

* bump transcribe rs

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-08 11:57:47 -07:00
Alexander Tesfamichael
13910fd15c
chore: drop libsamplerate helper feature (#144) 2025-09-28 11:01:30 -07:00
CJ Pais
3bf4ac819e 0.5.1 2025-09-28 07:44:37 -07:00
CJ Pais
7732d20a80 fix wayland clipbard failure? 2025-09-19 12:39:08 -07:00
Han Pham
9185b3db08
feat: delete a single audio entry (#119)
* feat: delete a single audio entry

* fix(HistorySetting): remove unnecessary loading state
2025-09-19 12:30:50 -07:00
CJ Pais
153e5e0dcd Merge branch 'main' of github.com:cjpais/Handy 2025-09-09 19:22:59 -07:00
CJ Pais
ea375d942b Release v0.5.0 2025-09-09 18:59:50 -07:00
CJ Pais
338d15d2c4
tweak onboarding (#112) 2025-09-09 18:59:09 -07:00
CJ Pais
45a473dc9f
Parakeet V3 (#111)
* wip: model manager support for parakeet

* working parakeet??git status

* Update LanguageSelector.tsx

* Use the published version of the crate.

* move word correction into audio toolkit
2025-09-09 18:33:57 -07:00
CJ Pais
beaf27ed25 move to my fork for vad-rs/ort for rc10 2025-09-09 15:25:19 -07:00
CJ Pais
cdfe15c898
tweak sampling strat for whisper to hopefully decrease hallucination (#109) 2025-09-08 15:43:07 -07:00
CJ Pais
7be3fac4b1 Release v0.4.2 2025-09-06 14:08:31 -07:00
Dylan
b82b3b2f20
Added "Start Hidden" (#105)
* Added "Start Hidden"

* revert visible option in tauri conf

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-09-06 14:07:33 -07:00
CJ Pais
76785d5b47 release 0.4.1 2025-09-05 22:19:25 -07:00
CJ Pais
01d7b41058 fix linux history bug? 2025-09-05 22:19:06 -07:00
CJ Pais
40cd7ae71b release v0.4.0 2025-09-05 16:29:16 -07:00
CJ Pais
7638f6b827
basic working history (#104) 2025-09-05 16:25:38 -07:00
CJ Pais
d6684ccb21
UI v2 (#103)
* wip ui

* pretty much fully new settings page

* proper dark/light mode

* slight style tweak for sidebar

* add about
2025-09-05 12:56:55 -07:00
CJ Pais
cd6102c69a Merge branch 'main' of github.com:cjpais/Handy 2025-09-03 19:25:46 -07:00
CJ Pais
f52a43fdbf release v0.3.9 2025-09-03 19:01:22 -07:00
CJ Pais
ae5f640da5
Add VRAM Inactivity Timer (#101)
* init vram unload

* logging

* add immediate unloading

* thread fixes
2025-09-03 19:00:36 -07:00
CJ Pais
d7cc6ff55c add support for pink tray 2025-09-03 16:08:40 -07:00
CJ Pais
7c2ee4123b release v0.3.8 2025-08-19 18:54:32 -07:00
CJ Pais
5296738bac tweak thresh 2025-08-19 18:54:00 -07:00
CJ Pais
308e001661 downgrade whisper-rs to 0.13.2 to continue to support older versions of
macos
2025-08-19 16:12:13 -07:00
CJ Pais
8bbcfc65fe
Merge branch 'main' into upgrade-whisper 2025-08-18 15:58:06 -07:00
CJ Pais
e1773655e5 simplified dependency cargo. 2025-08-18 15:57:07 -07:00
CJ Pais
934edaa9e1 Maybe slightly better, no speech detection. 2025-08-18 13:54:55 -07:00
CJ Pais
bf35d88c03 upgrade whisper-rs (broken on macos) 2025-08-15 19:53:07 -07:00
CJ Pais
d52df53343 tweak default to 0.15 2025-08-15 12:11:35 -07:00
CJ Pais
04b006d5b8 new default correction threshold + debug menu 2025-08-15 11:55:15 -07:00
CJ Pais
0000072518 release 0.3.7 2025-08-11 15:46:34 -07:00
CJ Pais
174e7d4bbb remove visible for now 2025-08-11 15:44:19 -07:00
CJ Pais
1b6f95918d tweak min height for a single row of custom words by default. 2025-08-11 15:30:34 -07:00
CJ Pais
c2b3815f56 'custom words' everywhere instead of 'correct words' 2025-08-11 15:19:48 -07:00
Vlad Gerasimov
e73eba7af0 during startup, if the dev server at localhost:1420 isn't running, you get a blank settings window 2025-08-09 09:16:35 +04:00
Vlad Gerasimov
6404ce7487 refactor(transcription): optimize word correction performance 2025-08-08 19:25:21 +04:00
Vlad Gerasimov
ca00ddeb53 fix(ui): reduce window height and tighten layout spacing 2025-08-08 17:51:57 +04:00
Vlad Gerasimov
003bf23402 feat(transcription): add word correction with phonetic matching 2025-08-08 17:50:31 +04:00
CJ Pais
e8976c2047 Release v0.3.6 2025-08-07 18:01:34 -07:00
CJ Pais
62af7e8ed3 tweak position on windows 2025-08-07 17:27:17 -07:00
CJ Pais
0068b6bd9d different bottom and top overlay offsets 2025-08-07 17:10:18 -07:00
CJ Pais
c0fc1ba817 some cleanup 2025-08-07 16:53:07 -07:00
Vlad Gerasimov
091b392aa6 feat(overlay): replace show_overlay toggle with position selector 2025-08-06 07:52:09 +04:00
Vlad Gerasimov
53874110b1 style(overlay): update recording overlay design and positioning 2025-08-03 11:36:00 +04:00
Vlad Gerasimov
7357baf672 Merge branch 'main' into tweak-colors 2025-08-03 10:56:24 +04:00
CJ Pais
e41f9bf1aa remove openblas from linux for now 2025-08-02 20:44:09 -07:00
CJ Pais
0e73afb609 Release v0.3.5 2025-08-02 19:33:33 -07:00
CJ Pais
09547c39b1 use super on windows for now 2025-08-02 19:29:05 -07:00
CJ Pais
0e886d2239 add err logging 2025-08-02 19:16:01 -07:00
CJ Pais
98eb336ab0 disallow invalid bindings from frontend 2025-08-02 18:43:59 -07:00
CJ Pais
86a1205619 add partial/resumable download capability 2025-08-02 18:25:30 -07:00
CJ Pais
945acfed07 Release v0.3.4 2025-08-02 12:13:31 -07:00