2612 Commits

Author SHA1 Message Date
Samuel Mannehed (ThinLinc team)
fc5b83c08f Merge pull request #2043 from tobfah/enable-horizontal-control-bar
Enable attaching the control bar to top and bottom
2026-05-23 19:34:51 +02:00
Samuel Mannehed (ThinLinc team)
2ea0e7d4eb Merge pull request #2059 from novnc/macos26
Use macOS 26 runner instead of macOS 10.15
2026-05-23 15:08:17 +02:00
Samuel Mannehed
ad25fdb20b Use macOS 26 runner instead of macOS 10.15
This fixes failing tests on Safari.
2026-05-23 14:47:37 +02:00
Samuel Mannehed
094fd0509f Update version in package.json to 1.7.0
This was missed when doing the 1.7.0 release.
2026-05-23 10:55:19 +02:00
Samuel Mannehed (ThinLinc team)
fb8f30a1dd Merge pull request #2058 from novnc/github-actions
Update github actions to latest versions
2026-05-23 10:49:58 +02:00
Samuel Mannehed
b4c4cb75d5 Update github actions to latest versions 2026-05-23 10:45:56 +02:00
掌控-物质
7834e66733 Workaround endless loading on Android Chrome
Replace top-level await with then() in browser.js, due to a bug in
chromium browsers.

https://github.com/novnc/noVNC/pull/2053
2026-05-23 10:32:46 +02:00
dmotte
5c2025d5a6 Only focus username field if empty
https://github.com/novnc/noVNC/pull/2057
2026-05-22 20:07:04 +02:00
Samuel Mannehed
4bce309c3b Fix broken clipboard unittests
We can't compare with a new CustomEvent, lets check the call arguments
instead. The field is also called "text".
2026-05-22 17:59:54 +02:00
Samuel Mannehed
816a4c7f24 Remove validation exception for "scrollbar-gutter"
This issue has now been fixed in https://validator.w3.org/nu, see:

https://github.com/w3c/css-validator/issues/473
2026-05-22 16:51:37 +02:00
Tobias
052242df5d Remove redundant mobile buttons grouping
There's only one button in the group, and the wrapping div messed with
the flex box layout
2026-04-03 12:50:47 +02:00
Tobias
44343556e0 Enable attaching control bar to top and bottom 2026-04-03 12:50:47 +02:00
Tobias
52bc5a5f9f Use svg for control bar icon
Simplifies alignment. In preparation for horizontal control bar modes.
2026-04-03 12:49:48 +02:00
Tobias
f0d217719c Make scroll bar and key modifiers flex box
In preparation for horizontal control bar modes
2026-04-01 17:14:57 +02:00
Pierre Ossman
8e1ebdffba Remove some unused assignments
Mainly to keep eslint happy with its new recommended rules. But it also
makes the code more clear to not have unused stuff in it.

The des code got a bit more refactoring since eslint was upset about the
final "i++" as it was technically an unused assignment.
2026-02-13 12:33:11 +01:00
Pierre Ossman
4d16cc5270 Adapt to latest version of eslint 2026-02-13 12:17:10 +01:00
Pierre Ossman
1640a5e21f Remove deprecated host and port from example
We shouldn't be advertising these if we'd like people to stop using
them.
2026-02-11 16:08:45 +01:00
Samuel Mannehed (ThinLinc team)
6d0a974665 Merge pull request #2035 from MantriHimaVamshi-AidenAI/patch-1
Fix comment typo in display.js
2026-01-11 00:45:47 +01:00
Samuel Mannehed (ThinLinc team)
d1a124401b Merge pull request #2029 from nykula/nykula-patch-1
Translate to Ukrainian
2026-01-11 00:44:19 +01:00
Samuel Mannehed (ThinLinc team)
40cc57460d Merge pull request #1984 from tsukasa-au/add-wakelock-support
Add wakelock support
2026-01-11 00:33:32 +01:00
MantriHimaVamshi-AidenAI
ef3257037f Fix comment typo in display.js
I noticed a simple typo - "inoder rendering"
2026-01-05 12:34:06 +05:30
Greg Darke
988e9da7fa Add tests for the wakelock feature.
Add tests to for both the `rfb` side (calling into the new wakelock
code), and the new wakelock class (which tracks the desired state and
how to get there).
2025-12-06 19:00:42 +11:00
Greg Darke
f4f2f8d725 Expose WakeLockManager state transitions for tests
Dispatch an event on each state transition inside the WakeLockManager.
This gives the unit tests something to synchronise on, allowing us to
write fast, flake-free tests.
2025-12-06 19:00:42 +11:00
Greg Darke
077c54f312 Add error state for wakelock testing.
Add an error state to the WakeLockManager state machine. This adds a
transition that can be detected from tests (it otherwise serves no
purpose, and the system immediatly transitions back into the released
state).
2025-12-06 19:00:42 +11:00
Greg Darke
8341fdf846 Add wakelock support
Add a new configuration option `keep_device_awake` to allow noVNC to
stop the local display from going to sleep. This is especially useful
with view-only sessions.

This new option has been added to the configuration UI, making it easier
for users to configure. When this option is changed at runtime, we will
request/release the wake lock.

We only hold the view lock while connected to a server. We will also
attempt to reacquire the wakelock if we lost it due to a visibility
change (the tab becoming inactive, or during the transition into/from
fullscreen).

All existing unittests have been run, and the change has been manually
tested in Firefox 145. Additional tests will be added later.
2025-12-06 19:00:42 +11:00
Denys Nykula
b6136b5386 Translate to Ukrainian 2025-11-22 18:40:41 +00:00
Alexander Zeijlon
d44f7e04fc Remove show_dot from docs/EMBEDDING.md
This should have been a part of commit 243d7fd
2025-11-04 09:44:21 +01:00
Alexander Zeijlon
fb97e0f1e2 Remove showDotCursor from docs/API.md
This should have been a part of commit 243d7fd
2025-11-04 09:37:09 +01:00
Alexander Zeijlon
d3d69a8118 Use Node version 24 when publishing to npmjs
Node 24 comes with npm > 11.5.1 which we need in order to publish with
OIDC auth.

This also reverts the change in commit e03a54e, which broke the
publishing step.
2025-11-03 15:50:14 +01:00
Alexander Zeijlon
e03a54e12a Publish with latest npm version
Apparently publishing with OIDC as an auth method only works with npm
11.5.1 and onward.
2025-11-03 13:58:03 +01:00
Alexander Zeijlon
99865e5aba Stop using access tokens when publishing to npmjs
We are using OIDC now instead of the old style access tokens.
2025-11-03 13:47:28 +01:00
Alexander Zeijlon
b29cc6493d Allow publishing to npmjs.com with OIDC 2025-11-03 12:56:06 +01:00
Alexander Zeijlon
c2d89730dd Update Swedish translation 2025-10-31 10:53:45 +01:00
Alexander Zeijlon
9d77c806fe Update translation template file 2025-10-31 09:18:04 +01:00
Tobias
63c2c14a50 Display warning prompt before closing tab
The warning prompt is only displayed if there is an active connected
session, when viewOnly is disabled.
2025-10-30 16:23:11 +01:00
Alexander Zeijlon
91d12106df Merge branch 'master' of https://github.com/Deni42/noVNC 2025-10-30 15:49:43 +01:00
Alexander Zeijlon
fb7e891841 Merge branch 'clipboard-async' of https://github.com/tobfah/noVNC 2025-10-22 11:30:44 +02:00
Tobias
3d5698c71c Add async clipboard module to internal API docs 2025-10-21 16:21:55 +02:00
Tobias
d9b45d390b Disable clipboard button with async clipboard
With async clipboard available, the fallback clipboard textarea adds
mostly confusion. If async clipboard is out right denied, users most
likely don't want to see any clipboard activity.
2025-10-21 16:21:55 +02:00
Tobias
f5a4eedcea Add permissions-exclusive async clipboard
Clipboard permissions must be supported, with states "granted" or
"prompt" for both write and read.
2025-10-21 16:21:55 +02:00
Alexander Zeijlon
71d0bfaccd Use bash's type command to find websockify
Our snap package requires bash to run novnc_proxy, but it doesn't
explicitly set a requirement for the which command to be installed.
Let's therefore use a bash built-in when looking for the websockify
binary.
2025-10-20 14:23:17 +02:00
Alexander Zeijlon
eaf5b704d8 Remove obsolete checks in novnc_proxy
Our snap packages no longer contain python2-websockify. It's now called
websockify and is found in snap by the WEBSOCKIFY_FROMSYSTEM check.
2025-10-20 14:20:04 +02:00
Felso Daniel (McP/MFE4)
cf6fe1063c Add Hungarian translation 2025-10-08 13:04:27 +02:00
Pierre Ossman
44b7489e73 Merge branch 'switch-to-es-module-publish-and-use-exports' of github.com:elikoga/noVNC 2025-09-15 15:47:58 +02:00
Eli Kogan-Wang
fe29dc6509 Convert NPM bundle to ES-Module format 2025-09-15 15:37:37 +02:00
Eli Kogan-Wang
6cf02042de Remove deprecated "directories" entry 2025-09-15 15:35:18 +02:00
Pierre Ossman
356eab4f4d Scan all buffered data looking for JPEG end
This is much more efficient than looking at two bytes at a time.
2025-09-10 10:21:29 +02:00
Pierre Ossman
d5b18a84ab Expose length of buffered WebSocket data
Some encodings don't know how much data they need, rather they must
probe the data stream until they find an end marker. Expose how much
data is buffered in order to make this search efficient.
2025-09-10 10:20:20 +02:00
Pierre Ossman
23b7219a5d Drop Image data once rendered
Helps the browser to free up the memory right away, rather than waiting
until some later cleanup process. At least Firefox can start consuming
gigabytes of memory without this.
2025-09-10 09:58:09 +02:00
Alexander Zeijlon
8ebd9ddef9 Fix broken Chai import
Chai v6.0.0 introduced a breaking change where file imports now need to
point at 'chai/index.js'. See the corresponding release note.
2025-09-08 16:47:31 +02:00