Commit graph

73 commits

Author SHA1 Message Date
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
LDwise
76051c47d9
fix(server): include path prefix in legacy API calls (#615) (#618)
Resolves 404 errors by correctly routing legacy requests when a path
prefix is configured.
2026-01-24 10:43:28 +01:00
Miroslav Šedivý
ddd5ebfc2c
change heartbeat interval from 120 to 10 seconds. #585 2025-09-24 21:00:55 +02:00
Miroslav Šedivý
5b9225f401
add hostname to broadcast variables. (#576) 2025-09-10 22:53:52 +02:00
Miroslav Šedivý
84aa78bfcb
desktop: add clipboard command replacement. (#539)
we always keep running the last clipboard function as that is supposed to contain the clipboard data being pasted. as soon as a new one is spawn, the old one is stutdown.
2025-05-28 21:30:58 +02:00
Miroslav Šedivý
3dfd89ec39 forward pong messages, #510. 2025-04-30 21:34:42 +02:00
Miroslav Šedivý
01112c5e8f clipboard: use UTF8_STRING. #517 2025-04-19 10:23:16 +02:00
Miroslav Šedivý
b2219396dd disable proxy for local requests, #509. 2025-04-07 19:33:58 +02:00
Miroslav Šedivý
4eec843ed2
https: if we have legacy mode, we need to start local http server too. (#507) 2025-04-06 19:55:35 +02:00
Miroslav Šedivý
007b55a32b add link to docs in V2 configuration warning message. 2025-04-06 17:22:34 +02:00
Miroslav Šedivý
3c787baa40 legacy: forward ws ping messages #506. 2025-04-06 17:19:22 +02:00
Miroslav Šedivý
b8bfcaf4bf legacy: fix logging. 2025-04-06 16:19:40 +02:00
Miroslav Šedivý
6c5cd1260d websocket: fix unwrap err. 2025-04-06 16:16:45 +02:00
Miroslav Šedivý
0e3bcedcd4 update config options naming, move scripts to own folder. 2025-04-05 18:24:23 +02:00
Miroslav Šedivý
a75424d2f3 generate legacy pipelines when specifying codec. 2025-04-04 08:59:45 +02:00
Miroslav Šedivý
1c63b56b94 legacyhandler: key/button action log only in trace level. 2025-04-03 21:50:09 +02:00
Miroslav Šedivý
ec44bf0e04 legacy handler set server bind. 2025-04-03 14:17:47 +02:00
Miroslav Šedivý
51bbad7650 rename package to github name. 2025-03-26 23:51:19 +01:00
Miroslav Šedivý
4eadf996ed enable legacy supprot if at least one legacy config entry is found. 2025-02-20 20:10:07 +01:00
Miroslav Šedivý
f8e9c20ff1 enable WebRTC legacy conditionally. 2025-02-20 19:33:57 +01:00
Miroslav Šedivý
33580fe440 add v2 migration configuration docs. 2025-02-19 19:25:10 +01:00
Miroslav Šedivý
a7287dca25 cookie add domain & path, change expiration to duration from seconds. 2025-02-17 19:33:52 +01:00
Miroslav Šedivý
004e893921 update agr descs. 2025-02-08 20:12:40 +01:00
Miroslav Šedivý
3082d3241b implement client heartbeat #460. 2024-12-30 13:41:22 +01:00
Miroslav Šedivý
5169e0aad3 fixes issue where url was updated after broadcast was started, #429. 2024-11-07 16:48:29 +01:00
Miroslav Šedivý
a569f72087 ignore irrelevant legacy ws events. 2024-09-15 23:07:14 +02:00
Miroslav Šedivý
a0565dd295 fix backend response error. 2024-09-09 00:08:21 +02:00
Miroslav Šedivý
b7fb738e3a legacy websockets: add mutex. 2024-09-09 00:05:14 +02:00
Miroslav Šedivý
063fa8821f fix legacy capture pipeline. 2024-09-08 23:26:34 +02:00
Miroslav Šedivý
5c91621223 legacy: fix banned ip. 2024-09-08 23:26:17 +02:00
Miroslav Šedivý
6fbdea979f fix duplicate screen sizes. 2024-09-08 19:53:04 +02:00
Miroslav Šedivý
e719109116 fix control give. 2024-09-08 19:48:57 +02:00
Miroslav Šedivý
bbefb393f8 fix uint64 and cursors on 32bit systems. 2024-09-08 15:47:42 +02:00
Miroslav Šedivý
d42165a5fd fix structs alignment. 2024-09-08 15:01:31 +02:00
Miroslav Šedivý
bba8fce895 legacy only - implement ban. 2024-09-07 23:18:21 +02:00
Miroslav Šedivý
13f91477df legacy: update dispaly name only if not set. 2024-09-07 22:50:25 +02:00
Miroslav Šedivý
136d2ba1da legacy hack: file transfer enabled in init. 2024-09-07 21:57:04 +02:00
Miroslav Šedivý
6aac5da08c legacy: fix sendControlHost. 2024-09-07 21:31:26 +02:00
Miroslav Šedivý
373e9970f9 add legacy simulcast stream that shows pointer. 2024-09-07 21:13:40 +02:00
Miroslav Šedivý
b3b31fba1f disable legacy mode if wanted. 2024-09-07 20:51:21 +02:00
Miroslav Šedivý
db297d246d fix legacy display name. 2024-09-07 20:48:51 +02:00
Miroslav Šedivý
e018bcc886 legacy: only update name if its different. 2024-09-07 20:18:45 +02:00
Miroslav Šedivý
82aa68097b fix kicked message for legacy implementation. 2024-09-07 20:10:43 +02:00
Miroslav Šedivý
4f401ac2b6 implement session stats, fixes last (admin|user) left at won't work for any provider that removed users after logout. 2024-09-07 18:55:27 +02:00
Miroslav Šedivý
94717bdad9 legacy: implement files. 2024-09-06 23:26:44 +02:00
Miroslav Šedivý
47153d31a1 legacy: implement screenshot function. 2024-09-06 23:26:44 +02:00
Miroslav Šedivý
a1f2e379cd legacy: add stats. 2024-09-06 23:26:44 +02:00
Miroslav Šedivý
6a8f8052cd legacy: implement screen resolution API. 2024-09-06 23:26:44 +02:00
Miroslav Šedivý
15e805c9b2 rename package. 2024-09-06 23:26:29 +02:00
Miroslav Šedivý
b9ff172c15 only update name in profile. 2024-09-06 22:59:23 +02:00