neko/client
Hani bc19ab866f
feat(client): add microphone passthrough button to controls toolbar (#620)
* 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>
2026-02-17 17:02:51 +01:00
..
.vscode misc 2020-02-02 22:51:44 +00:00
dev move devs to client & server. 2024-09-08 11:52:47 +02:00
public add description to html. 2021-07-22 20:05:47 +02:00
src feat(client): add microphone passthrough button to controls toolbar (#620) 2026-02-17 17:02:51 +01:00
tools remove unused code. 2021-04-05 01:08:16 +02:00
.babelrc added unsupported component 2020-01-29 01:27:35 +00:00
.browserslistrc first commit 2020-01-13 08:05:38 +00:00
.editorconfig first commit 2020-01-13 08:05:38 +00:00
.eslintrc refactor progress 2020-01-22 17:16:40 +00:00
.prettierrc first commit 2020-01-13 08:05:38 +00:00
Dockerfile split base build to multiple dockerfiles. 2024-09-08 17:22:49 +02:00
package-lock.json removed adaptive framerate tag and react to closed channels 2023-01-29 20:31:00 +01:00
package.json remove go-events 2023-01-29 20:31:00 +01:00
tsconfig.json yay emoji!!! 2020-02-01 20:35:48 +00:00
vue.config.js npm lint. 2023-01-29 20:31:00 +01:00