Commit Graph

2460 Commits

Author SHA1 Message Date
Pierre Ossman 89e0591aab Use common H.264 check in tests
Avoid duplicating this logic in multiple places.
2024-11-21 13:19:44 +01:00
Pierre Ossman 43326eb67b Fix handling of VideoDecoder.isConfigSupported()
It returns an object with details, not just a simple boolean.
2024-11-20 10:46:52 +01:00
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 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 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