Commit Graph

2558 Commits

Author SHA1 Message Date
dim5x
88a5a59629 Fix typos in Russian translation 2024-11-02 04:38:57 +03:00
Pierre Ossman
ed1fef4fc3 Merge branch 'ui_init' of github.com:CendioOssman/noVNC 2024-10-09 13:12:33 +02:00
Pierre Ossman
28d4020302 Load settings from web server
Make it even easier to customize things by loading the settings from
separate configuration files.
2024-10-03 16:08:53 +02:00
Pierre Ossman
438e5b3608 Make it easier for downstream to modify settings
Expose a simple and stable API to override default settings, and force
settings that users shouldn't be able to change.
2024-10-03 16:08:53 +02:00
Pierre Ossman
047531e886 Merge branch 'webcodec-h264' of https://github.com/any1/noVNC 2024-08-29 16:59:25 +02:00
Pierre Ossman
50e4685bff Fix tests for large WebSocket sends
These failed to test that the data was correctly split as they only
checked the first chunk transmitted.

Use random values to avoid the risk of aligning our test data with the
split boundaries and hence allowing false positives.
2024-08-29 16:51:51 +02:00
Pierre Ossman
ffb4c0bf56 Let fake WebSocket handle large sends
Dynamically grow the recorded send buffer if the test needs to send a
lot of data.
2024-08-29 16:51:16 +02:00
Tomasz Kalisiak
a4465516df Fix sQpushBytes sending the beginning of the array multiple times 2024-08-23 13:14:36 +02:00
Andri Yngvason
c1bba972f4 Add unit tests for H.264 decoder 2024-08-19 22:08:32 +00:00
Pierre Ossman
bbb6a5b938 Fix host and port via query string
We need to call initSetting() even if we don't have any interesting
default to set, as that is what checks if values have been provided as a
query string.

Fixes 96c76f7.
2024-08-19 14:01:00 +02:00
Andri Yngvason
d106b7a6bb Add H.264 decoder
This adds an H.264 decoder based on WebCodecs.
2024-08-18 14:06:25 +00:00
Mark Peek
c6c8e5e513 Add Zlib encoding 2024-08-16 09:12:43 -07:00
Pierre Ossman
84897fd110 Handle disabling settings without label 2024-08-08 15:59:59 +02:00
Pierre Ossman
c6606a5caf Merge UI startup in to a single routine
Makes it easier to see how things are connected.
2024-08-08 15:59:58 +02:00
Pierre Ossman
9334c68241 Handle all settings via UI.getSetting()
Makes sure everything behaves the same way, even if there is no visible
UI for a settings.
2024-08-08 15:00:48 +02:00
Pierre Ossman
96c76f7709 Allow relative WebSocket URLs
This can be very useful if you have multiple instances of noVNC, and you
want to redirect them to different VNC servers.

The new default settings will have the same behaviour as before for
systems where noVNC is deployed in the root web folder.
2024-08-08 14:53:42 +02:00
Pierre Ossman
074fa1a40f Let browser construct URL string for us
Likely a lot safer for corner cases than us trying to figure this out
ourselves.
2024-08-08 14:40:04 +02:00
Pierre Ossman
06f14a5cd3 Add test for AltGr abort on blur 2024-08-05 16:31:59 +02:00
Pierre Ossman
a020ef0f44 Merge branch 'altgr-seq-interrupt' of https://github.com/leedagee/noVNC 2024-08-05 16:30:47 +02:00
Pierre Ossman
1b2fe3321b Manually load sinon and chai
karma-sinon-chai is not compatible with Chai 5+, and Karma is no longer
being updated.

Load sinon and chai manually instead, until we can have a long term plan
in place.
2024-08-05 15:49:39 +02:00
Pierre Ossman
bc31e4e8a2 Stop creating sinon sandbox early
sinon might not be loaded at this point, which can cause tests to fail.

We could create the sandbox in one of the hooks instead, but let's
remove the sandbox completely to stay consistent with our other tests.
2024-08-05 15:45:41 +02:00
leedagee
6c07136169 Interrupt AltGr sequence detection on focus lost, fixes #1880 2024-08-01 01:31:47 +08:00
Samuel Mannehed
1230a4ce73 Use theme-color to color address bar in browsers
This makes the address bar on mobile browsers match the background. Note
that it requires a valid certificate and a non-dark mode set on the
device. Not supported on desktop browsers.
2024-07-23 00:19:26 +02:00
Pierre Ossman
7fcf9dcfe0 noVNC 1.5.0 v1.5.0 2024-06-18 14:05:35 +02:00
Pierre Ossman
aaadec4f13 Update json files for new translations 2024-06-18 14:03:30 +02:00
Pierre Ossman
7f364a173d Update Swedish translation 2024-06-18 14:02:34 +02:00
Pierre Ossman
1a62eb7d3e Don't include missing translation in .js
It just adds size and confusion. Instead, omit any lines where no
translation is available.
2024-06-18 14:01:40 +02:00
Pierre Ossman
fb1817c99f Remove Chrome timeout workaround
This is a revert of fca48df85d. The issue
seems to be fixed in the current version of Chrome, so let's keep things
simple again.
2024-06-13 09:01:07 +02:00
Pierre Ossman
aead0b2f89 noVNC 1.5.0 beta v1.5.0-beta 2024-06-03 14:46:13 +02:00
Pierre Ossman
68e09ee8b3 Upgrade to websockify 0.12.0 in snap package 2024-06-03 14:45:39 +02:00
Pierre Ossman
f28e9daec3 Update translation template file 2024-06-03 14:10:47 +02:00
Pierre Ossman
fc11b9d2b0 Remove Twitter links
These are not updated anymore as they are not under the control of the
current team.
2024-06-03 14:09:00 +02:00
Pierre Ossman
d80e3bfa2f Add unit tests for Tight gradient filter 2024-05-16 16:53:49 +02:00
Jiang XueQian
c187b2e5e0 Implement gradient filter of tight decoder, fixing issue #1767
This commit is a basic implementation of the gradient filter required by
qemu `lossy` option.
2024-05-02 20:41:38 +08:00
Samuel Mannehed
10ee10ce56 Cleanup "no-console" eslint rules
Removes unexpected exceptions and clarifies where we want to avoid
console calls.
2024-04-30 15:26:50 +02:00
Samuel Mannehed
8d1b665808 Migrate deprecated eslint config to to new format
The .eslintrc and .eslintignore formats are deprecated. The new format
uses a single eslint.config.js (or .mjs) file at the top.
2024-04-30 15:26:50 +02:00
Samuel Mannehed (ThinLinc team)
c998c723ad Merge pull request #1853 from kosmasgiannis/gr20240424
Updated greek translations
2024-04-26 09:41:25 +02:00
Giannis Kosmas
9d293f1aba Updated el.po 2024-04-24 19:53:49 +03:00
Bubble
92c8a91964 Update zh_CN.po (#1851)
Update Chinese translation
2024-04-24 16:54:24 +02:00
Kostiantyn Syrykh
9a1b1f0d06 Clipboard: handle multiple CR+LF 2024-03-25 17:35:28 +02:00
Samuel Mannehed (ThinLinc team)
786aba602f Merge pull request #1834 from sbungartz/avoid-exception-when-disconnecting-after-dom-morph
Avoid exception when cursor was removed from DOM already
2024-02-22 16:26:51 +01:00
Pierre Ossman
65e9ecd5af Merge branch 'actions' of github.com:CendioOssman/noVNC 2024-02-05 16:58:00 +01:00
Pierre Ossman
cd927723bc Fix import of "commander"
The default import was deprecated ages ago, and in v12 it has now
finally been changed in a breaking way.

Change the code to import things the proper way.
2024-02-05 16:53:20 +01:00
Pierre Ossman
60643fe695 Update github actions to latest versions
Primarily to avoid the versions that are now deprecated, but also update
actions/upload-artifact to keep us up to date.
2024-02-05 16:34:47 +01:00
Samuel Mannehed
e75938bebc Make non-HTTPS message more harsh
As browsers are placing more and more new functionality as
secure-context only, we need to prepare users for more problems. I find
it likely that we will disable non-HTTPS connections in the future.
2024-02-02 16:51:21 +01:00
Simon Bungartz
bd32922ff8 Avoid exception when cursor was removed from DOM already 2024-01-31 16:16:01 +00:00
Pierre Ossman
48c8e41877 Fix key event debug output
Fix for a0b7c0dac5.
2024-01-23 12:54:18 +01:00
Pierre Ossman
ab2fd41693 Handle broken Oculus browser keyboard events
It sets KeyboardEvent.key to "Unidentified" for all non-character keys,
which means we must ignore it and use the legacy handling to figure out
the key pressed.
2024-01-23 12:51:35 +01:00
Pierre Ossman
fca48df85d Increase test timeout for Chrome on Windows
There is some bug in Chrome 119+ on some systems, where it takes
forever for the first readback from a canvas, timing out the first
test that does this.

Work around the issue by increasing the timeout on that platform until
Chrome manages to resolve the issue.
2024-01-19 16:19:41 +01:00
Pierre Ossman
b35cf6dd12 Don't include ES6 module versions in npm package
The npm package is supposed to be for CommonJS usage, so only package
that to avoid confusion. This has become an issue now that nodejs
supports ES6 modules, where users are accidentally trying to import the
wrong files and get errors.
2024-01-17 16:19:16 +01:00