Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add native touch gestures support with UltraVNC #1908

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
2b738be
Add UltraVNC touch gestures support
May 28, 2024
276836a
Merge branch 'novnc:master' into feature/ultravnc-gestures
EvilAngel00 Jul 31, 2024
c1efe1f
Fix local scaling touch position
Jul 31, 2024
6b770c9
Fix touches with same id not being removed properly
Jul 31, 2024
43ddc6c
Add preventDefault in UltraVNC touch and manage touch ids manually
Sep 24, 2024
56f932d
Merge branch 'novnc:master' into feature/ultravnc-gestures
EvilAngel00 Sep 24, 2024
65bc414
Merge branch 'novnc:master' into feature/ultravnc-gestures
EvilAngel00 Oct 24, 2024
88a5a59
Fix typos in Russian translation
dim5x Nov 2, 2024
43326eb
Fix handling of VideoDecoder.isConfigSupported()
CendioOssman Nov 20, 2024
89e0591
Use common H.264 check in tests
CendioOssman Nov 20, 2024
69750c7
Raise JavaScript version requirement
CendioOssman Nov 21, 2024
3677afe
Do a real H.264 test decode to determine support
CendioOssman Nov 21, 2024
a89dfd6
Handle exceptions from VideoDecoder.flush()
CendioOssman Nov 21, 2024
2463ccd
Detect broken Firefox H.264 decoder
CendioOssman Nov 21, 2024
90a6c7b
Update zh_CN.po
wxtewx Nov 23, 2024
7f5b51a
Consistently use "sentence case" style
CendioOssman Nov 27, 2024
7335bb4
Also adjust to "sentence case" in translations
CendioOssman Nov 27, 2024
52ddb20
Merge branch 'master' of https://github.com/wxtewx/noVNC
CendioOssman Nov 27, 2024
663a198
Add UltraVNC touch gestures support
May 28, 2024
8af21c7
Fix local scaling touch position
Jul 31, 2024
b673af9
Fix touches with same id not being removed properly
Jul 31, 2024
d78d875
Add preventDefault in UltraVNC touch and manage touch ids manually
Sep 24, 2024
8116919
Merge branch 'feature/ultravnc-gestures' of https://github.com/twobra…
Dec 10, 2024
ac91941
Change gestures selector to dropdown in UI, use constants instead of …
Dec 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ about: Create a report to help us improve
**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
**To reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
noVNC is Copyright (C) 2022 The noVNC Authors
noVNC is Copyright (C) 2022 The noVNC authors
(./AUTHORS)

The noVNC core library files are licensed under the MPL 2.0 (Mozilla
Expand Down
46 changes: 23 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## noVNC: HTML VNC Client Library and Application
## noVNC: HTML VNC client library and application

[![Test Status](https://github.com/novnc/noVNC/workflows/Test/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ATest)
[![Lint Status](https://github.com/novnc/noVNC/workflows/Lint/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ALint)
Expand All @@ -14,19 +14,19 @@ Many companies, projects and products have integrated noVNC including
[OpenNebula](http://opennebula.org/),
[LibVNCServer](http://libvncserver.sourceforge.net), and
[ThinLinc](https://cendio.com/thinlinc). See
[the Projects and Companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)
[the Projects and companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)
for a more complete list with additional info and links.

### Table of Contents
### Table of contents

- [News/help/contact](#newshelpcontact)
- [Features](#features)
- [Screenshots](#screenshots)
- [Browser Requirements](#browser-requirements)
- [Server Requirements](#server-requirements)
- [Quick Start](#quick-start)
- [Installation from Snap Package](#installation-from-snap-package)
- [Integration and Deployment](#integration-and-deployment)
- [Browser requirements](#browser-requirements)
- [Server requirements](#server-requirements)
- [Quick start](#quick-start)
- [Installation from snap package](#installation-from-snap-package)
- [Integration and deployment](#integration-and-deployment)
- [Authors/Contributors](#authorscontributors)

### News/help/contact
Expand Down Expand Up @@ -86,16 +86,16 @@ See more screenshots
[here](http://novnc.com/screenshots.html).


### Browser Requirements
### Browser requirements

noVNC uses many modern web technologies so a formal requirement list is
not available. However these are the minimum versions we are currently
aware of:

* Chrome 64, Firefox 79, Safari 13.4, Opera 51, Edge 79
* Chrome 89, Firefox 89, Safari 15, Opera 75, Edge 89


### Server Requirements
### Server requirements

noVNC follows the standard VNC protocol, but unlike other VNC clients it does
require WebSockets support. Many servers include support (e.g.
Expand All @@ -107,7 +107,7 @@ use a WebSockets to TCP socket proxy. noVNC has a sister project
proxy.


### Quick Start
### Quick start

* Use the `novnc_proxy` script to automatically download and start websockify, which
includes a mini-webserver and the WebSockets proxy. The `--vnc` option is
Expand All @@ -124,23 +124,23 @@ proxy.
script. Hit the Connect button, enter a password if the VNC server has one
configured, and enjoy!

### Installation from Snap Package
Running the command below will install the latest release of noVNC from Snap:
### Installation from snap package
Running the command below will install the latest release of noVNC from snap:

`sudo snap install novnc`

#### Running noVNC from Snap Directly
#### Running noVNC from snap directly

You can run the Snap-package installed novnc directly with, for example:
You can run the snap package installed novnc directly with, for example:

`novnc --listen 6081 --vnc localhost:5901 # /snap/bin/novnc if /snap/bin is not in your PATH`

If you want to use certificate files, due to standard Snap confinement restrictions you need to have them in the /home/\<user\>/snap/novnc/current/ directory. If your username is jsmith an example command would be:
If you want to use certificate files, due to standard snap confinement restrictions you need to have them in the /home/\<user\>/snap/novnc/current/ directory. If your username is jsmith an example command would be:

`novnc --listen 8443 --cert ~jsmith/snap/novnc/current/self.crt --key ~jsmith/snap/novnc/current/self.key --vnc ubuntu.example.com:5901`

#### Running noVNC from Snap as a Service (Daemon)
The Snap package also has the capability to run a 'novnc' service which can be
#### Running noVNC from snap as a service (daemon)
The snap package also has the capability to run a 'novnc' service which can be
configured to listen on multiple ports connecting to multiple VNC servers
(effectively a service runing multiple instances of novnc).
Instructions (with example values):
Expand Down Expand Up @@ -172,7 +172,7 @@ services.n6082.listen 6082
services.n6082.vnc localhost:5902
```

Disable a service (note that because of a limitation in Snap it's currently not
Disable a service (note that because of a limitation in snap it's currently not
possible to unset config variables, setting them to blank values is the way
to disable a service):

Expand All @@ -189,7 +189,7 @@ services.n6082.listen
services.n6082.vnc
```

### Integration and Deployment
### Integration and deployment

Please see our other documents for how to integrate noVNC in your own software,
or deploying the noVNC application in production environments:
Expand All @@ -212,8 +212,8 @@ that list and you think you should be, feel free to send a PR to fix that.
* [Solly Ross](https://github.com/DirectXMan12) (Red Hat / OpenStack)

* Notable contributions:
* UI and Icons : Pierre Ossman, Chris Gordon
* Original Logo : Michael Sersen
* UI and icons : Pierre Ossman, Chris Gordon
* Original logo : Michael Sersen
* tight encoding : Michael Tinglof (Mercuri.ca)
* RealVNC RSA AES authentication : USTC Vlab Team

Expand Down
2 changes: 1 addition & 1 deletion app/error-handler.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.
Expand Down
24 changes: 12 additions & 12 deletions app/locale/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@
"Password is required": "Je vyžadováno heslo",
"noVNC encountered an error:": "noVNC narazilo na chybu:",
"Hide/Show the control bar": "Skrýt/zobrazit ovládací panel",
"Move/Drag Viewport": "Přesunout/přetáhnout výřez",
"Move/Drag viewport": "Přesunout/přetáhnout výřez",
"viewport drag": "přesun výřezu",
"Active Mouse Button": "Aktivní tlačítka myši",
"No mousebutton": "Žádné",
"Left mousebutton": "Levé tlačítko myši",
"Middle mousebutton": "Prostřední tlačítko myši",
"Right mousebutton": "Pravé tlačítko myši",
"Keyboard": "Klávesnice",
"Show Keyboard": "Zobrazit klávesnici",
"Show keyboard": "Zobrazit klávesnici",
"Extra keys": "Extra klávesy",
"Show Extra Keys": "Zobrazit extra klávesy",
"Show extra keys": "Zobrazit extra klávesy",
"Ctrl": "Ctrl",
"Toggle Ctrl": "Přepnout Ctrl",
"Alt": "Alt",
Expand All @@ -45,23 +45,23 @@
"Clear": "Vymazat",
"Fullscreen": "Celá obrazovka",
"Settings": "Nastavení",
"Shared Mode": "Sdílený režim",
"View Only": "Pouze prohlížení",
"Clip to Window": "Přizpůsobit oknu",
"Scaling Mode:": "Přizpůsobení velikosti",
"Shared mode": "Sdílený režim",
"View only": "Pouze prohlížení",
"Clip to window": "Přizpůsobit oknu",
"Scaling mode:": "Přizpůsobení velikosti",
"None": "Žádné",
"Local Scaling": "Místní",
"Remote Resizing": "Vzdálené",
"Local scaling": "Místní",
"Remote resizing": "Vzdálené",
"Advanced": "Pokročilé",
"Repeater ID:": "ID opakovače",
"WebSocket": "WebSocket",
"Encrypt": "Šifrování:",
"Host:": "Hostitel:",
"Port:": "Port:",
"Path:": "Cesta",
"Automatic Reconnect": "Automatická obnova připojení",
"Reconnect Delay (ms):": "Zpoždění připojení (ms)",
"Show Dot when No Cursor": "Tečka místo chybějícího kurzoru myši",
"Automatic reconnect": "Automatická obnova připojení",
"Reconnect delay (ms):": "Zpoždění připojení (ms)",
"Show dot when no cursor": "Tečka místo chybějícího kurzoru myši",
"Logging:": "Logování:",
"Disconnect": "Odpojit",
"Connect": "Připojit",
Expand Down
22 changes: 11 additions & 11 deletions app/locale/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@
"Password is required": "Passwort ist erforderlich",
"noVNC encountered an error:": "Ein Fehler ist aufgetreten:",
"Hide/Show the control bar": "Kontrollleiste verstecken/anzeigen",
"Move/Drag Viewport": "Ansichtsfenster verschieben/ziehen",
"Move/Drag viewport": "Ansichtsfenster verschieben/ziehen",
"viewport drag": "Ansichtsfenster ziehen",
"Active Mouse Button": "Aktive Maustaste",
"No mousebutton": "Keine Maustaste",
"Left mousebutton": "Linke Maustaste",
"Middle mousebutton": "Mittlere Maustaste",
"Right mousebutton": "Rechte Maustaste",
"Keyboard": "Tastatur",
"Show Keyboard": "Tastatur anzeigen",
"Show keyboard": "Tastatur anzeigen",
"Extra keys": "Zusatztasten",
"Show Extra Keys": "Zusatztasten anzeigen",
"Show extra keys": "Zusatztasten anzeigen",
"Ctrl": "Strg",
"Toggle Ctrl": "Strg umschalten",
"Alt": "Alt",
Expand All @@ -44,22 +44,22 @@
"Clear": "Löschen",
"Fullscreen": "Vollbild",
"Settings": "Einstellungen",
"Shared Mode": "Geteilter Modus",
"View Only": "Nur betrachten",
"Clip to Window": "Auf Fenster begrenzen",
"Scaling Mode:": "Skalierungsmodus:",
"Shared mode": "Geteilter Modus",
"View only": "Nur betrachten",
"Clip to window": "Auf Fenster begrenzen",
"Scaling mode:": "Skalierungsmodus:",
"None": "Keiner",
"Local Scaling": "Lokales skalieren",
"Remote Resizing": "Serverseitiges skalieren",
"Local scaling": "Lokales skalieren",
"Remote resizing": "Serverseitiges skalieren",
"Advanced": "Erweitert",
"Repeater ID:": "Repeater ID:",
"WebSocket": "WebSocket",
"Encrypt": "Verschlüsselt",
"Host:": "Server:",
"Port:": "Port:",
"Path:": "Pfad:",
"Automatic Reconnect": "Automatisch wiederverbinden",
"Reconnect Delay (ms):": "Wiederverbindungsverzögerung (ms):",
"Automatic reconnect": "Automatisch wiederverbinden",
"Reconnect delay (ms):": "Wiederverbindungsverzögerung (ms):",
"Logging:": "Protokollierung:",
"Disconnect": "Verbindung trennen",
"Connect": "Verbinden",
Expand Down
16 changes: 8 additions & 8 deletions app/locale/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
"Disconnect timeout": "Tiempo de desconexión agotado",
"noVNC encountered an error:": "noVNC ha encontrado un error:",
"Hide/Show the control bar": "Ocultar/Mostrar la barra de control",
"Move/Drag Viewport": "Mover/Arrastrar la ventana",
"Move/Drag viewport": "Mover/Arrastrar la ventana",
"viewport drag": "Arrastrar la ventana",
"Active Mouse Button": "Botón activo del ratón",
"No mousebutton": "Ningún botón del ratón",
"Left mousebutton": "Botón izquierdo del ratón",
"Middle mousebutton": "Botón central del ratón",
"Right mousebutton": "Botón derecho del ratón",
"Keyboard": "Teclado",
"Show Keyboard": "Mostrar teclado",
"Show keyboard": "Mostrar teclado",
"Extra keys": "Teclas adicionales",
"Show Extra Keys": "Mostrar Teclas Adicionales",
"Ctrl": "Ctrl",
Expand All @@ -43,22 +43,22 @@
"Settings": "Configuraciones",
"Encrypt": "Encriptar",
"Shared Mode": "Modo Compartido",
"View Only": "Solo visualización",
"Clip to Window": "Recortar al tamaño de la ventana",
"Scaling Mode:": "Modo de escalado:",
"View only": "Solo visualización",
"Clip to window": "Recortar al tamaño de la ventana",
"Scaling mode:": "Modo de escalado:",
"None": "Ninguno",
"Local Scaling": "Escalado Local",
"Local Downscaling": "Reducción de escala local",
"Remote Resizing": "Cambio de tamaño remoto",
"Remote resizing": "Cambio de tamaño remoto",
"Advanced": "Avanzado",
"Local Cursor": "Cursor Local",
"Repeater ID:": "ID del Repetidor:",
"WebSocket": "WebSocket",
"Host:": "Host:",
"Port:": "Puerto:",
"Path:": "Ruta:",
"Automatic Reconnect": "Reconexión automática",
"Reconnect Delay (ms):": "Retraso en la reconexión (ms):",
"Automatic reconnect": "Reconexión automática",
"Reconnect delay (ms):": "Retraso en la reconexión (ms):",
"Logging:": "Registrando:",
"Disconnect": "Desconectar",
"Connect": "Conectar",
Expand Down
24 changes: 12 additions & 12 deletions app/locale/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
"Drag": "Faire glisser",
"Move/Drag Viewport": "Déplacer/faire glisser le Viewport",
"Keyboard": "Clavier",
"Show Keyboard": "Afficher le clavier",
"Show keyboard": "Afficher le clavier",
"Extra keys": "Touches supplémentaires",
"Show Extra Keys": "Afficher les touches supplémentaires",
"Show extra keys": "Afficher les touches supplémentaires",
"Ctrl": "Ctrl",
"Toggle Ctrl": "Basculer Ctrl",
"Alt": "Alt",
Expand All @@ -42,13 +42,13 @@
"Clear": "Effacer",
"Fullscreen": "Plein écran",
"Settings": "Paramètres",
"Shared Mode": "Mode partagé",
"View Only": "Afficher uniquement",
"Clip to Window": "Clip à fenêtre",
"Scaling Mode:": "Mode mise à l'échelle :",
"Shared mode": "Mode partagé",
"View only": "Afficher uniquement",
"Clip to window": "Clip à fenêtre",
"Scaling mode:": "Mode mise à l'échelle :",
"None": "Aucun",
"Local Scaling": "Mise à l'échelle locale",
"Remote Resizing": "Redimensionnement à distance",
"Local scaling": "Mise à l'échelle locale",
"Remote resizing": "Redimensionnement à distance",
"Advanced": "Avancé",
"Quality:": "Qualité :",
"Compression level:": "Niveau de compression :",
Expand All @@ -58,15 +58,15 @@
"Host:": "Hôte :",
"Port:": "Port :",
"Path:": "Chemin :",
"Automatic Reconnect": "Reconnecter automatiquemen",
"Reconnect Delay (ms):": "Délai de reconnexion (ms) :",
"Show Dot when No Cursor": "Afficher le point lorsqu'il n'y a pas de curseur",
"Automatic reconnect": "Reconnecter automatiquemen",
"Reconnect delay (ms):": "Délai de reconnexion (ms) :",
"Show dot when no cursor": "Afficher le point lorsqu'il n'y a pas de curseur",
"Logging:": "Se connecter :",
"Version:": "Version :",
"Disconnect": "Déconnecter",
"Connect": "Connecter",
"Username:": "Nom d'utilisateur :",
"Password:": "Mot de passe :",
"Send Credentials": "Envoyer les identifiants",
"Send credentials": "Envoyer les identifiants",
"Cancel": "Annuler"
}
6 changes: 3 additions & 3 deletions app/locale/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"noVNC encountered an error:": "noVNC ha riscontrato un errore:",
"Hide/Show the control bar": "Nascondi/Mostra la barra di controllo",
"Keyboard": "Tastiera",
"Show Keyboard": "Mostra tastiera",
"Show keyboard": "Mostra tastiera",
"Extra keys": "Tasti Aggiuntivi",
"Show Extra Keys": "Mostra Tasti Aggiuntivi",
"Ctrl": "Ctrl",
Expand All @@ -40,9 +40,9 @@
"Clear": "Pulisci",
"Fullscreen": "Schermo intero",
"Settings": "Impostazioni",
"Shared Mode": "Modalità condivisa",
"Shared mode": "Modalità condivisa",
"View Only": "Sola Visualizzazione",
"Scaling Mode:": "Modalità di ridimensionamento:",
"Scaling mode:": "Modalità di ridimensionamento:",
"None": "Nessuna",
"Local Scaling": "Ridimensionamento Locale",
"Remote Resizing": "Ridimensionamento Remoto",
Expand Down
Loading