Skip to content

Fix/tray toggle recording#5

Open
akaihola wants to merge 66 commits into
perrette:mainfrom
akaihola:fix/tray-toggle-recording
Open

Fix/tray toggle recording#5
akaihola wants to merge 66 commits into
perrette:mainfrom
akaihola:fix/tray-toggle-recording

Conversation

@akaihola
Copy link
Copy Markdown

@akaihola akaihola commented Jan 8, 2026

Fixes #1.

Remaining work:

  • review AI generated patch

perrette and others added 30 commits February 19, 2025 17:12
avoid quirks with uinput backend

also typing is now executed in try / except block to use unicode
transliteration in case of failure (e.g. ê caused crash with an IT keyboard)
- do not accumulate bytes when silent
- new "waiting" state with its own icon
perrette and others added 29 commits February 21, 2025 03:26
incriminated options to be removed from the app menu
overhaul the way silences are being dealt with
now handled in each transcriber's realtime transcription method
every time a sound is heard the buffer is first populated with half a
second of the previous silence buffer, so that it is properly handled by
the AI models.

(this only apply to whisper and openaiapi backends)
The tray icon became unresponsive after a recording cycle because thread
references were not cleaned up and race conditions existed between
the monitoring and recording threads.

- Add `_recording_started` flag to synchronize icon updates
- Clean up thread references in `callback_stop_recording`
- Pass `icon` to `start_recording` to track startup state
- Fix minor linting issue and set default action for Stop menu item

Generated with opencode

Co-Authored-By: opencode <noreply@netresearch.com>
Add 'is not None' checks before calling 'is_alive()' on thread
attributes. This prevents an AttributeError when a recording has
been stopped and the thread reference has been cleared.

Generated with opencode

Co-Authored-By: opencode <noreply@netresearch.com>
When stopping a recording session, the tray icon stayed in the recording
or busy state until all threads were joined. By explicitly setting the
recording and busy flags and calling update_icon before joining, the
icon returns to its initial state immediately upon user action.

This also allows the monitoring thread loop to exit cleanly as soon as
the stop command is issued.

Generated with opencode

Co-Authored-By: opencode <noreply@netresearch.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tray icon only works once

2 participants