- Added missing translation keys across all language files
- Completed file_transfer lock translations for all locales
- Added missing control section translations (has/hasnot)
- Fixed inconsistent translations and improved accuracy
- Ensured all locale files match the English key structure
- Corrected grammar errors and typos in various languages
- Added broadcast_title, reconnecting, kicked translations
- Standardized translation quality across all supported languages
Languages updated: zh-cn, es-sp, fr-fr, de-de, ja-jp, ko-kr, ru-ru,
fi-fi, sv-se, nb-no, sk-sk
* feat(client): add microphone passthrough button to controls toolbar
Add mic toggle button to the bottom controls bar that enables users to
share their local microphone with the remote neko session via WebRTC.
The server already supports microphone capture (capture.microphone.enabled)
but the legacy client had no UI to trigger getUserMedia and send an audio
track to the peer connection.
Changes:
- base.ts: Add enableMicrophone/disableMicrophone methods that call
getUserMedia and addTrack/removeTrack on the RTCPeerConnection.
Mic is cleaned up automatically on disconnect.
- controls.vue: Add mic button (fa-microphone/fa-microphone-slash) between
play/pause and volume controls with tooltip and error handling.
- en-us.ts: Add i18n strings for mic tooltips and error dialog.
* if the error is not io.EOF, log it. Otherwise, it's a normal closure of the track.
* tie microphone to active host and auto-disable on control loss
---------
Co-authored-by: h1n054ur <admin@haniumer.com>
Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>