Commit graph

270 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
Iskierek100
341bbc296b
Add Polish (pl) translation (#582)
* Create pl-pl.ts

* Update index.ts

* Update client/src/locale/index.ts

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2025-09-18 20:16:37 +02:00
Miroslav Šedivý
aeef3800f0 update GUACAMOLE-1823: Merge changes addressing unreliable capslock behavior under MacOS Chrome. 2025-09-14 17:27:08 +02:00
netcon
b194e91b1a
feat: support for entering text indirectly (#577)
* feat: support for entering text indirectly

* fix: restore text area value after composition input

* update guacamole keyboard.

---------

Co-authored-by: fezhang <fezhang@tencent.com>
Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2025-09-12 08:47:34 +02:00
Dedy F. Setyawan
1bc31473ae
Add Indonesian translation (#552) 2025-07-07 11:41:09 +02:00
Miroslav Šedivý
b714663299
implicit hosting: request control prior interacting with the screen. #499 (#540) 2025-05-31 16:43:25 +02:00
Miroslav Šedivý
0765352abd fix regression for #522. #523 2025-04-27 09:43:50 +02:00
Miroslav Šedivý
f145bd58c9
Fix mobile keyboard behavior (#522)
* keep only openMobileKeyboard, do not focus when touch device.

* do not test for hover when checking touch device.
2025-04-26 11:55:55 +02:00
Miroslav Šedivý
0d62acfe04
add mobile keyboard icon. (#497) 2025-04-02 21:44:30 +02:00
Miroslav Šedivý
d7e2e73945
Scroll to chat on mobile (#496)
* WIP: scroll to chat proof of concept on mobile, #381.

* update screen size to 1024px.

* login screen position fixed, #381.

* show chat with a small video on portrait mode.
2025-04-02 21:27:11 +02:00
Miroslav Šedivý
dd412dd37f lint client. 2025-04-02 00:05:37 +02:00
Miroslav Šedivý
8061d5b182 Revert "lint client."
This reverts commit 3918f8f1e2.
2025-04-02 00:05:06 +02:00
Miroslav Šedivý
3918f8f1e2 lint client. 2025-04-01 22:06:51 +02:00
Miroslav Šedivý
9e9cd6f486 Merge remote-tracking branch 'origin/master' into v3 2025-03-30 22:52:14 +02:00
Miroslav Šedivý
6dc21ec918 Merge remote-tracking branch 'origin/master' into v3 2025-03-22 23:57:16 +01:00
Javier Pérez
212bf8a607
feat(i18n): enhance language management by saving user preference and auto detect browser language (#487)
* feat(i18n): enhance language management by saving user preference and detecting browser language

- Added a watcher to save the selected language to localStorage on change.
- Implemented browser language detection to set the default language based on user settings or browser preferences.

* use ~/utils/localstorage, remove setting savedLang in mounted as this is already set in i18.ts.

* do not repeat fallbackLocale and remove console log.

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2025-03-22 23:56:43 +01:00
Domenic Horner
4e335efb1e
disable textarea spellcheck (in firefox) (#482)
* Update policies.json

added `browser.tabs.allowTabDetach` to prevent drag-detaching tabs into seperate windows

* disable spellcheck on the text area
2025-03-09 15:10:01 +01:00
nakayama-muimu
220409e137
Added Japanese localization (#471) 2025-02-15 17:19:59 +01:00
Mmx
e3b6e00648
feat(general): add heartbeat to websocket control (#460)
* chore: ignore .idea

* feat: add heartbeat event to websocket

* feat: add HeartbeatInterval to websocket config

* feat: send HeartbeatInterval in SYSTEM_INIT message

* feat: add heartbeat logic

* fix: client events is not in WebSocketEvents type
2024-12-30 13:44:05 +01:00
Miroslav Šedivý
3082d3241b implement client heartbeat #460. 2024-12-30 13:41:22 +01:00
Miroslav Šedivý
38e8ac3e21 split base build to multiple dockerfiles. 2024-09-08 17:22:49 +02:00
Miroslav Šedivý
e16eefce19 add client dockerfile. 2024-09-08 11:53:06 +02:00
Miroslav Šedivý
3d7be663ec move devs to client & server. 2024-09-08 11:52:47 +02:00
Miroslav Šedivý
daf8f79eb5 update client to include username when connecting to websocket. 2024-09-07 22:54:05 +02:00
Miroslav Šedivý
0d7887e9d2 workaround for firefox read clipboard, #373.
Firefox 122+ incorrectly reports that it can read the clipboard but it can't instead it hangs when reading clipboard, until user clicks on the page and the click itself is not handled by the page at all, also the clipboard reads always fail with "Clipboard read operation is not allowed."
2024-06-16 22:55:13 +02:00
Miroslav Šedivý
4ab5901ba9 sync clipboard only if in focus #373. 2024-06-16 22:27:46 +02:00
Peter Dave Hello
e26e4d2004
Add zh_TW Traditional Chinese locale (#388) 2024-04-17 15:49:57 +02:00
Miroslav Šedivý
5f698330fc hide controls on mobile when locked. #381 2024-04-04 23:55:13 +02:00
Miroslav Šedivý
f32fc989b9 overlay: no pointer events when not hosting. #381 2024-04-04 23:48:59 +02:00
FapFapDragon
db6f9c957e
add check for volume parameter in URL before setting volume (#372) 2024-03-10 13:43:30 +01:00
Miroslav Šedivý
2f9964580f use 1 instead of true for consistency. 2024-01-06 17:33:39 +01:00
mbattista
355c0eac0d add parameter for chat mute and show side 2024-01-06 15:02:13 +01:00
mbattista
cd4acb5eec
lang url parameter (#296)
* lang url parameter

* add ?lang to readme.

---------

Co-authored-by: Miroslav Šedivý <sedivy.miro@gmail.com>
2023-04-22 01:24:23 +02:00
Miroslav Šedivý
f9228e653d Merge branch 'pu/touch' 2023-03-27 21:47:49 +02:00
Miroslav Šedivý
df634be1c5 lint. 2023-03-27 21:47:41 +02:00
Pawel Urbanek
aee7650d47 add touch events on touch monitor 2023-03-27 14:28:42 +02:00
Pawel Urbanek
98ba32c574 add url param for audio volume. 2023-03-27 13:04:11 +02:00
Miroslav Šedivý
e868ad4061 Merge branch 'pu/autoplay' 2023-03-25 22:19:43 +01:00
Miroslav Šedivý
b41d0bf956 lint fix. 2023-03-25 22:19:01 +01:00
Miroslav Šedivý
8dba9cff44 revert extra controls usecase. 2023-03-25 21:53:17 +01:00
Pawel Urbanek
217cc451ea add autoplay audio if possible 2023-03-24 21:33:32 +01:00
Pawel Urbanek
1f81bd3efc hide buttons in cast mode 2023-03-24 21:15:51 +01:00
Miroslav Šedivý
76fc892823 fix video state sync, fixes #250. 2023-03-18 13:31:40 +01:00
Miroslav Šedivý
8059002475 forgotten mobile styles for cast, fixes #254. 2023-03-18 12:48:18 +01:00
Miroslav Šedivý
9daf83cc52 fix webrtc client gathering, #259. 2023-03-18 00:49:25 +01:00
Miroslav Šedivý
724f5fe384 show some controls for cast #254. 2023-02-23 18:43:00 +01:00
mbattista
c45a315d9b removed adaptive framerate tag and react to closed channels 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
dfe8b8b57d npm lint. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
12623866b3 disableHostCheck -> allowedHosts. 2023-01-29 20:31:00 +01:00
mbattista
5690a849e2 remove go-events 2023-01-29 20:31:00 +01:00