noVNC — local modifications made by RDesk / RDesk ================================================= This directory contains a vendored copy of noVNC (https://github.com/novnc/noVNC), licensed under the Mozilla Public License 2.0. See LICENSE.txt and docs/LICENSE.MPL-2.0 for the full terms. MPL-2.0 requires that modifications to Covered Software remain available under the same licence. This file records every change RDesk has made to the noVNC sources, so recipients can tell modified files from upstream ones. The modified files are served to the browser unminified and unobfuscated, exactly as they appear here. Upstream baseline ----------------- noVNC `master`, snapshot taken 2026-07-06 (a post-1.6.0 development revision). All 41 other files under core/ are byte-for-byte identical to upstream master. Modified file 1: core/rfb.js ---------------------------- `_negotiateProtocolVersion()` now returns `true` after setting the init state to 'Security', instead of returning undefined. Reason: the RDesk agent's built-in RFB 3.8 server (RDesk.Agent.Net8/Services/ VncServerService.cs) pipelines its entire handshake — ProtocolVersion, Security, SecurityResult and ServerInit — into a single WebSocket frame, without waiting for the client's version reply. Stock noVNC breaks out of its receive pump after consuming ProtocolVersion and waits for a further frame that never arrives, so the viewer hangs at "Connecting...". Returning true keeps the pump draining the queue. The change is marked with an explanatory comment in the source. Modified file 2: core/util/browser.js ------------------------------------- `_checkWebCodecsH264DecodeSupport()` tests only for `'VideoDecoder' in window`; upstream additionally requires `'isConfigSupported' in VideoDecoder`. This file was taken at an earlier date (2026-06-02) than the rest of the tree, so this difference may be upstream drift rather than a deliberate local patch. It is recorded here for completeness. Re-syncing this file with upstream master is safe and is the recommended action at the next noVNC update. Unmodified third-party components --------------------------------- vendor/pako/ — MIT, unmodified, licence retained at vendor/pako/LICENSE. ui.js — RDesk's own viewer glue code, not part of noVNC. Last verified against upstream: 2026-09-02